@charset "UTF-8";

/**************
reset.css start
**************/

/* http://meyerweb.com/eric/tools/css/reset/ */

/* v1.0 | 20080212 */

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
font,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

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

/* remember to define focus styles! */

:focus {
  outline: 0;
}

/* remember to highlight inserts somehow! */

ins {
  text-decoration: none;
}

del {
  text-decoration: line-through;
}

/* tables still need 'cellspacing="0"' in the markup */

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

/**************
reset.css end
**************/

/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

/*
z-index
  9000 .main_visual .child .btn
  10000 header
  10001 header nav.header_nav .sp_menu
  10002 header nav.header_nav ul
  10003 header nav.header_nav .to_top
  10004 header nav.header_nav .hamburger
  10010 .transition
  20002 .close
*/

.mt1 {
  margin-top: 1px;
}

.mt2 {
  margin-top: 2px;
}

.mt3 {
  margin-top: 3px;
}

.mt4 {
  margin-top: 4px;
}

.mt5 {
  margin-top: 5px;
}

.mt6 {
  margin-top: 6px;
}

.mt7 {
  margin-top: 7px;
}

.mt8 {
  margin-top: 8px;
}

.mt9 {
  margin-top: 9px;
}

.mt10 {
  margin-top: 10px;
}

.mt11 {
  margin-top: 11px;
}

.mt12 {
  margin-top: 12px;
}

.mt13 {
  margin-top: 13px;
}

.mt14 {
  margin-top: 14px;
}

.mt15 {
  margin-top: 15px;
}

.mt16 {
  margin-top: 16px;
}

.mt17 {
  margin-top: 17px;
}

.mt18 {
  margin-top: 18px;
}

.mt19 {
  margin-top: 19px;
}

.mt20 {
  margin-top: 20px;
}

.mt21 {
  margin-top: 21px;
}

.mt22 {
  margin-top: 22px;
}

.mt23 {
  margin-top: 23px;
}

.mt24 {
  margin-top: 24px;
}

.mt25 {
  margin-top: 25px;
}

.mt26 {
  margin-top: 26px;
}

.mt27 {
  margin-top: 27px;
}

.mt28 {
  margin-top: 28px;
}

.mt29 {
  margin-top: 29px;
}

.mt30 {
  margin-top: 30px;
}

.mt31 {
  margin-top: 31px;
}

.mt32 {
  margin-top: 32px;
}

.mt33 {
  margin-top: 33px;
}

.mt34 {
  margin-top: 34px;
}

.mt35 {
  margin-top: 35px;
}

.mt36 {
  margin-top: 36px;
}

.mt37 {
  margin-top: 37px;
}

.mt38 {
  margin-top: 38px;
}

.mt39 {
  margin-top: 39px;
}

.mt40 {
  margin-top: 40px;
}

.mt41 {
  margin-top: 41px;
}

.mt42 {
  margin-top: 42px;
}

.mt43 {
  margin-top: 43px;
}

.mt44 {
  margin-top: 44px;
}

.mt45 {
  margin-top: 45px;
}

.mt46 {
  margin-top: 46px;
}

.mt47 {
  margin-top: 47px;
}

.mt48 {
  margin-top: 48px;
}

.mt49 {
  margin-top: 49px;
}

.mt50 {
  margin-top: 50px;
}

.mt51 {
  margin-top: 51px;
}

.mt52 {
  margin-top: 52px;
}

.mt53 {
  margin-top: 53px;
}

.mt54 {
  margin-top: 54px;
}

.mt55 {
  margin-top: 55px;
}

.mt56 {
  margin-top: 56px;
}

.mt57 {
  margin-top: 57px;
}

.mt58 {
  margin-top: 58px;
}

.mt59 {
  margin-top: 59px;
}

.mt60 {
  margin-top: 60px;
}

.mt61 {
  margin-top: 61px;
}

.mt62 {
  margin-top: 62px;
}

.mt63 {
  margin-top: 63px;
}

.mt64 {
  margin-top: 64px;
}

.mt65 {
  margin-top: 65px;
}

.mt66 {
  margin-top: 66px;
}

.mt67 {
  margin-top: 67px;
}

.mt68 {
  margin-top: 68px;
}

.mt69 {
  margin-top: 69px;
}

.mt70 {
  margin-top: 70px;
}

.mt71 {
  margin-top: 71px;
}

.mt72 {
  margin-top: 72px;
}

.mt73 {
  margin-top: 73px;
}

.mt74 {
  margin-top: 74px;
}

.mt75 {
  margin-top: 75px;
}

.mt76 {
  margin-top: 76px;
}

.mt77 {
  margin-top: 77px;
}

.mt78 {
  margin-top: 78px;
}

.mt79 {
  margin-top: 79px;
}

.mt80 {
  margin-top: 80px;
}

.mt81 {
  margin-top: 81px;
}

.mt82 {
  margin-top: 82px;
}

.mt83 {
  margin-top: 83px;
}

.mt84 {
  margin-top: 84px;
}

.mt85 {
  margin-top: 85px;
}

.mt86 {
  margin-top: 86px;
}

.mt87 {
  margin-top: 87px;
}

.mt88 {
  margin-top: 88px;
}

.mt89 {
  margin-top: 89px;
}

.mt90 {
  margin-top: 90px;
}

.mt91 {
  margin-top: 91px;
}

.mt92 {
  margin-top: 92px;
}

.mt93 {
  margin-top: 93px;
}

.mt94 {
  margin-top: 94px;
}

.mt95 {
  margin-top: 95px;
}

.mt96 {
  margin-top: 96px;
}

.mt97 {
  margin-top: 97px;
}

.mt98 {
  margin-top: 98px;
}

.mt99 {
  margin-top: 99px;
}

.mt100 {
  margin-top: 100px;
}

.font1 {
  font-family: futura-pt;
}

.font2 {
  font-family: noto-sans-cjk-jp;
}

.font3 {
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
}

.common_tit {
  font-size: 1.4rem;
  font-weight: 600;
  color: #fff;
}

.common_tit:before {
  content: "";
  height: 2px;
  width: 36px;
  display: inline-block;
  background-color: #fff;
  position: relative;
  top: -3px;
  margin-right: 20px;
}

.common_sub-tit {
  position: absolute;
  font-size: 1.4rem;
  font-weight: 600;
  padding-bottom: 10px;
  letter-spacing: 0.1em;
}

.common_sub-tit:after {
  content: "";
  position: absolute;
  background-color: #fff;
  height: 2px;
  width: 100%;
  top: 22px;
  left: 0;
  display: inline-block;
  pointer-events: none;
}

.gold {
  background-color: #e0c410;
}

.platinum {
  background-color: #969ea7;
}

.bronze {
  background-color: #ce8e78;
}

.graduate {
  background-color: #2450d4;
}

@keyframes move_arrow {
  0%, 100% {
    transform: translate3d(0, 0, 0) scale(0.5);
  }

  50% {
    transform: translate3d(7px, 0, 0) scale(0.5);
  }
}

* {
  box-sizing: border-box;
}

html {
  font-size: 62.5%;
  overflow-x: hidden;
}

body {
  display: block;
  color: #000;
  font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", "メイリオ", sans-serif;
  font-weight: 500;
  letter-spacing: 0.1em;
  overflow-x: hidden;
  -webkit-font-smoothing: antialiased;
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
}

body.disabled {
  cursor: wait;
}

body.disabled a {
  pointer-events: none !important;
}

a,
a:visited {
  color: #000;
  text-decoration: none;
}

header {
  position: absolute;
  width: 100%;
  z-index: 10000;
  top: 0;
}

header nav.header_nav {
  position: relative;
}

header nav.header_nav.show_bg:before {
  opacity: 1;
}

header nav.header_nav:before {
  content: "";
  position: absolute;
  background-color: #777d85;
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0;
  transition: opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav ul {
  display: flex;
  width: 89.27083%;
  margin: 0 auto;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

header nav.header_nav ul li {
  width: 25%;
  text-align: center;
  position: relative;
}

header nav.header_nav ul li:first-child a {
  padding-top: 35px;
  padding-bottom: 36px;
}

header nav.header_nav ul li:first-child .tit img {
  width: 137px;
}

header nav.header_nav ul li:after {
  content: "";
  position: absolute;
  top: 138px;
  width: 0%;
  left: 0;
  height: 3px;
  background-color: #fff;
  display: inline-block;
  transition: width 300ms, top 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav ul li a {
  color: #fff;
  padding-top: 47px;
  padding-bottom: 52px;
  display: block;
  transition: padding 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

header nav.header_nav ul li .sub_tit {
  display: block;
  letter-spacing: 0.15em;
  font-size: 1.1rem;
}

header nav.header_nav ul li .sub_tit.font1 {
  opacity: .8;
}

header nav.header_nav ul li .sub_tit.font2 {
  font-size: 1.2rem;
  letter-spacing: 0em;
}

header nav.header_nav ul li .tit {
  font-size: 1.5rem;
  display: block;
  margin-top: 9px;
  font-weight: 700;
  letter-spacing: 0.04em;
}

header nav.header_nav ul li .tit.font1 {
  font-size: 1.8rem;
  font-weight: 700;
}

header nav.header_nav ul li:hover:after,
header nav.header_nav ul li.current:after {
  width: 100%;
}

.transition {
  z-index: 10010;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}

.transition.def {
  background-color: #f4fb37;
}

.transition.def2 {
  display: block;
}

.transition.show {
  display: block;
}

.transition img {
  position: relative;
  width: 120vw;
  height: 35vh;
  left: -5vw;
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.transition img.reverse {
  transition: transform 150ms;
}

.transition img:first-child.show,
.transition img:nth-child(2).show,
.transition img:nth-child(3).show,
.transition img:nth-child(4).show {
  transform: translate3d(0vw, 0, 0);
}

.transition img:first-child {
  top: -4vh;
  transform: translate3d(105vw, 0, 0);
}

.transition img:nth-child(2) {
  top: -10vh;
  transform: translate3d(-115vw, 0, 0);
}

.transition img:nth-child(3) {
  top: -16vh;
  transform: translate3d(105vw, 0, 0);
}

.transition img:nth-child(4) {
  top: -22vh;
  transform: translate3d(-115vw, 0, 0);
}

.close_btn {
  position: fixed;
  top: 50px;
  left: 50%;
  transform: translate3d(-50%, -150px, 0);
  cursor: pointer;
  z-index: 20002;
  /*  &.show{
    transition-delay: 0s;
    transform: translate3d(-50%, 0px, 0);
  }*/
}

.close_btn img {
  width: 58px;
  transition: transform 500ms, opacity 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.close_btn img:hover {
  transform: rotate(180deg);
  opacity: .8;
}

.modal {
  transform: translate3d(0, 100vh, 0);
  transition: transform 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.modal.show {
  transform: translate3d(0, 0, 0);
}

.modal .close_btn {
  cursor: pointer;
}

.scroll-wrapper {
  width: 100%;
  position: relative;
  z-index: 100;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  background-color: #f4f4ee;
  overflow: hidden;
}

.scroll-wrapper.smooth_on {
  will-change: transform;
}

.scroll-wrapper.cut_in {
  transition: top 0ms;
}

.latest_news {
  margin-top: 147px;
  padding-top: 150px;
  padding-bottom: 150px;
  background-color: #6c7178;
  color: #fff;
  position: relative;
}

.latest_news .child {
  max-width: 1714px;
  width: 89.27083%;
  margin: 0 auto;
}

.latest_news .child ul {
  width: 83.4%;
  margin: 80px auto 0;
  display: flex;
  padding-bottom: 135px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
}

.latest_news .child ul li {
  width: 33.3%;
}

.latest_news .child ul li a {
  color: #fff;
}

.latest_news .child ul li a:hover .cont .img img {
  transform: scale(1.2);
  opacity: .6;
}

.latest_news .child ul li a .cont {
  width: 79%;
  text-align: left;
  display: inline-block;
}

.latest_news .child ul li a .cont .img {
  overflow: hidden;
}

.latest_news .child ul li a .cont .img img {
  transition: transform 500ms, opacity 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 100%;
}

.latest_news .child ul li a .cont .date_cate {
  margin-top: 37px;
}

.latest_news .child ul li a .cont .date_cate:before {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #fff;
  margin-right: 19px;
  top: -2px;
  position: relative;
  display: inline-block;
}

.latest_news .child ul li a .cont .date_cate .date {
  font-size: 1.1rem;
  font-weight: 600;
  margin-right: 9px;
}

.latest_news .child ul li a .cont .date_cate .cate {
  font-size: 1rem;
  font-weight: 600;
  color: #f4fd01;
}

.latest_news .child ul li a .cont .date_cate .cate:before {
  content: "|";
  margin-right: 4px;
}

.latest_news .child ul li a .cont .txt {
  font-size: 1.6rem;
  font-weight: 600;
  margin-left: 37px;
  margin-top: 19px;
  line-height: 1.75;
  letter-spacing: -0.02em;
}

.latest_news .child ul li:nth-child(2) {
  text-align: center;
}

.latest_news .child ul li:nth-child(3) {
  text-align: right;
}

.latest_news .child .btn {
  width: 83.4%;
  position: relative;
  margin: -10px auto 0;
}

.latest_news .child .btn .btn_child {
  font-size: 1.4rem;
  font-weight: 600;
  padding-left: 47px;
  letter-spacing: 0.1em;
  display: inline-block;
  background-color: #6c7178;
  position: absolute;
  right: 0;
}

.latest_news .child .btn .btn_child a {
  color: #fff;
  padding-bottom: 8px;
}

@keyframes move_line_horizon {
  0%, 100% {
    width: 78px;
    left: 44px;
  }

  50% {
    width: 0px;
    left: 122px;
  }

  50.01% {
    width: 0px;
    left: 44px;
  }
}

.latest_news .child .btn .btn_child a:hover:after {
  animation: move_line_horizon 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.latest_news .child .btn .btn_child a:after {
  content: "";
  height: 2px;
  width: 78px;
  background-color: #fff;
  position: absolute;
  top: 23px;
  left: 44px;
}

.listen_btn {
  z-index: 9000;
  position: fixed;
  background-color: #2450d4;
  text-align: center;
  border-radius: 50%;
  font-weight: 600;
  left: 100%;
}

.listen_btn a,
.listen_btn a:visited {
  color: #fff;
}

.listen_btn:after {
  content: url(/assets/img/common/arrow_left.png);
  display: inline-block;
  transform-origin: left top;
  position: relative;
  pointer-events: none;
}

main .contents_bg {
  transition: transform 10s;
  transition-timing-function: linear;
  transform-origin: top center;
}

main .contents_bg.scale {
  transform: scale(1.2);
}

main .main_visual .child .sub_txt {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, 32px, 0);
  font-family: futura-pt;
  letter-spacing: 0.32em;
  font-weight: 600;
}

main .main_visual .child .btn {
  z-index: 9000;
  position: absolute;
  background-color: #2450d4;
  text-align: center;
  border-radius: 50%;
  font-weight: 600;
  left: 100%;
}

main .main_visual .child .btn a,
main .main_visual .child .btn a:visited {
  color: #fff;
}

main .main_visual .child .btn:after {
  content: url(/assets/img/common/arrow_left.png);
  display: inline-block;
  transform-origin: left top;
  position: relative;
  pointer-events: none;
}

main .whats_next {
  position: relative;
  background-color: #000;
}

main .whats_next a {
  color: #fff;
}

main .whats_next img.bg {
  width: 100%;
  min-width: 1697px;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
}

main .whats_next div.hand {
  -webkit-mask-image: url("/assets/img/common/whats_next.png");
  mask-image: url("/assets/img/common/whats_next.png");
  -webkit-mask-position: 0px 20px;
  mask-position: 0px 0px;
  -webkit-mask-size: 4096px 4096px;
  mask-size: 4096px 4096px;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  width: 860px;
  height: 494px;
  position: absolute;
  top: 215px;
  left: 50%;
  transform: translateX(-50%);
  transform-origin: top center;
}

main .whats_next div.hand img {
  width: 115%;
  position: relative;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}

main .whats_next .child {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%);
  max-width: 1714px;
  width: 89.27083%;
  padding-top: 148px;
  color: #fff;
  height: 100%;
}

main .whats_next .child .tit {
  font-size: 4.8rem;
  font-weight: 600;
  position: absolute;
  left: 50%;
  margin-left: -34%;
  top: 423px;
  letter-spacing: .09em;
}

main .whats_next .child .sub-tit {
  left: 50%;
  top: 511px;
  margin-left: -33.4%;
}

main .whats_next .child .sub-tit a {
  padding-bottom: 10px;
}

@keyframes move_line_sub-tit {
  0%, 100% {
    width: 100%;
    left: 0%;
  }

  50% {
    width: 0%;
    left: 100%;
  }

  50.01% {
    width: 0%;
    left: 0%;
  }
}

main .whats_next .child .sub-tit:hover:after {
  animation: move_line_sub-tit 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main .whats_next .btn {
  position: absolute;
  font-family: futura-pt;
  font-size: 1.2rem;
  font-weight: 600;
  left: 50%;
  top: 492px;
  margin-left: 358px;
  line-height: 1.4;
}

main .whats_next .btn .btn_bg {
  position: absolute;
  background-color: #fff;
  width: 112px;
  height: 112px;
  border-radius: 50%;
  mix-blend-mode: overlay;
}

main .whats_next .btn .btn_txt {
  text-align: center;
  width: 112px;
  height: 112px;
  padding-top: 40px;
  color: #fff;
  top: 0;
  left: 0;
}

footer {
  position: relative;
  color: #fff;
}

footer a,
footer a:visited {
  color: #fff;
  transition: opacity 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

footer a:hover {
  opacity: .5;
}

footer.color_black {
  color: #212121;
}

footer.color_black a,
footer.color_black a:visited {
  color: #212121;
}

footer .child {
  position: absolute;
  top: -73px;
  width: 100%;
}

footer .child .sns {
  position: absolute;
  left: 90px;
  top: 0;
}

footer .child .sns ul {
  display: flex;
  align-items: center;
}

footer .child .sns ul li {
  margin-right: 29px;
}

footer .child .sns ul li.fb {
  font-size: 1.8rem;
}

footer .child .sns ul li.fb img {
  width: 11px;
}

footer .child .sns ul li.tw {
  font-size: 1.8rem;
}

footer .child .sns ul li.tw img {
  width: 18px;
}

footer .child .sns ul li.ig {
  margin-top: 1px;
  display: block;
  margin-left: -2px;
  font-size: 1.8rem;
}

footer .child .sns ul li.ig img {
  width: 16px;
}

footer .child .footer_nav {
  width: 100%;
  margin-top: 6px;
}

footer .child .footer_nav ul {
  width: 100%;
  justify-content: center;
  display: flex;
  font-size: 1.1rem;
  font-weight: 600;
}

footer .child .footer_nav ul li {
  margin-left: 11px;
  margin-right: 11px;
}

footer .child .cp {
  position: absolute;
  right: 88px;
  font-size: 1.2rem;
  letter-spacing: 0.08em;
  font-weight: 600;
  top: 5px;
}

/* for IE 11 */

@media all and (-ms-high-contrast: none) {
  *::-ms-backdrop,
  main .whats_next div.hand {
    display: none;
  }
}

/* for Microsoft Edge */

@supports (-ms-ime-align: auto) {
  main .whats_next div.hand {
    display: none;
  }
}

@media screen and (min-width: 1024px) {
  .pc {
    display: block;
  }

  .sp {
    display: none;
  }

  header nav.header_nav {
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  header.cut_hide nav.header_nav {
    transition: transform 0ms;
    transform: translate3d(0, -141px, 0);
  }

  header.hide nav.header_nav {
    transition: transform 400ms;
    transform: translate3d(0, -141px, 0);
  }

  header.def nav.header_nav {
    transition-delay: 0s;
    transform: translate3d(0, 0, 0);
  }

  header.fixed {
    position: fixed;
  }

  header.fixed nav.header_nav ul li:first-child a {
    padding-top: 15px;
    padding-bottom: 16px;
  }

  header.fixed nav.header_nav ul li:after {
    top: 97px;
  }

  header.fixed nav.header_nav ul li a {
    padding-top: 28px;
    padding-bottom: 32px;
  }

  header.show nav.header_nav {
    transition: transform 400ms;
    transform: translate3d(0, 0, 0) !important;
  }

  .listen_btn {
    width: 125px;
    height: 125px;
    font-size: 1.5rem;
    margin-left: -162px;
    bottom: 60px;
  }

  .listen_btn:hover:after {
    animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  .listen_btn a {
    width: 125px;
    height: 125px;
    padding-top: 28px;
    line-height: 1.7;
    display: block;
  }

  .listen_btn:after {
    transform: scale(0.5);
    top: -38px;
    left: 17px;
  }

  main .main_visual .child .sub_txt {
    font-size: 1.4rem;
    letter-spacing: 0.32em;
    top: 50vh;
  }

  main .main_visual .child .btn {
    width: 125px;
    height: 125px;
    font-size: 1.5rem;
    margin-left: -13.5vw;
    bottom: 60px;
  }

  main .main_visual .child .btn:hover:after {
    animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }

  main .main_visual .child .btn a {
    width: 125px;
    height: 125px;
    padding-top: 28px;
    line-height: 1.7;
    display: block;
  }

  main .main_visual .child .btn:after {
    transform: scale(0.5);
    top: -38px;
    left: 17px;
  }
}

@media screen and (max-width: 1023px) {
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  .common_tit {
    font-size: 1.8rem;
  }

  .common_tit:before {
    top: -6px;
  }

  header {
    width: 87%;
    height: 121px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    margin: 0 6.5%;
  }

  header nav.header_nav .sp_menu {
    position: fixed;
    top: 0;
    left: 0;
    width: 101vw;
    height: 0vh;
    background-color: #6b7077;
    z-index: 10001;
    display: none;
    transition: height 400ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  header nav.header_nav .sp_menu.show {
    display: block;
  }

  header nav.header_nav .sp_menu.open {
    height: 100vh;
  }

  header nav.header_nav ul {
    position: fixed;
    z-index: 10002;
    display: block;
    left: 42px;
    margin-top: 143px;
    width: 87%;
    border-bottom: none;
    display: none;
  }

  header nav.header_nav ul.open {
    display: block;
  }

  header nav.header_nav ul li {
    width: 100%;
    text-align: left;
    margin-top: 46px;
    opacity: 0;
    transform: translate3d(50px, 0, 0);
    transition: transform 400ms, opacity 400ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  header nav.header_nav ul li.open {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  header nav.header_nav ul li a {
    position: relative;
    padding-left: 290px;
    padding-top: 35px;
  }

  header nav.header_nav ul li a:before {
    content: '';
    display: inline-block;
    width: 252px;
    height: 145px;
    background-size: contain;
    background-repeat: no-repeat;
    vertical-align: middle;
    position: absolute;
    top: 0;
    left: 0;
  }

  header nav.header_nav ul li .sub_tit {
    white-space: nowrap;
    font-size: 1.6rem;
  }

  header nav.header_nav ul li .tit {
    white-space: nowrap;
    font-size: 2.4rem;
    margin-top: 17px;
  }

  header nav.header_nav ul li:first-child {
    display: none;
  }

  header nav.header_nav ul li:nth-child(2) a:before {
    background-image: url(/assets/img/common/sp_g_nav01.png);
  }

  header nav.header_nav ul li:nth-child(2) a .tit {
    margin-left: -6px;
  }

  header nav.header_nav ul li:nth-child(3) a:before {
    background-image: url(/assets/img/common/sp_g_nav02.png);
  }

  header nav.header_nav ul li:nth-child(4) a:before {
    background-image: url(/assets/img/common/sp_g_nav03.png);
  }

  header nav.header_nav ul li:nth-child(5) a:before {
    background-image: url(/assets/img/common/sp_g_nav04.png);
  }

  header nav.header_nav ul li:nth-child(5) a .tit {
    margin-left: -4px;
  }

  header nav.header_nav ul li:hover:after,
  header nav.header_nav ul li.current:after {
    display: none;
  }

  header nav.header_nav .to_top {
    position: absolute;
    top: 30px;
    left: 0vw;
    z-index: 10003;
  }

  header nav.header_nav .to_top.open {
    position: fixed;
    left: 6.4vw;
  }

  header nav.header_nav .to_top a {
    color: #fff;
  }

  header nav.header_nav .to_top a .sub_tit {
    font-size: 1.2rem;
  }

  header nav.header_nav .to_top a .tit {
    font-size: 2.2rem;
    font-weight: 900;
    margin-top: 12px;
  }

  header nav.header_nav .to_top a img {
    width: 156px;
  }

  header nav.header_nav .hamburger {
    position: fixed;
    z-index: 10004;
    right: 6vw;
    top: 37px;
    cursor: pointer;
  }

  header nav.header_nav .hamburger:before {
    content: "";
    height: 100px;
    width: 100px;
    display: inline-block;
    border-radius: 50%;
    position: absolute;
    z-index: -1;
    top: -27px;
    left: -27px;
    transition: background-color 300ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  header nav.header_nav .hamburger.show_bg:before {
    background-color: #6c7178;
  }

  header nav.header_nav .hamburger.open .bar1 {
    transform: translate3d(5px, 10px, 0) rotate(45deg);
  }

  header nav.header_nav .hamburger.open .bar2 {
    opacity: 0;
  }

  header nav.header_nav .hamburger.open .bar3 {
    transform: translate3d(4px, -14px, 0) rotate(-45deg);
  }

  header nav.header_nav .hamburger .bar {
    height: 2px;
    width: 45px;
    background-color: #fff;
    display: block;
    margin-top: 10px;
    transform-origin: center center;
    transition: transform 400ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  .latest_news {
    margin-top: 30px;
    padding-top: 97px;
    padding-bottom: 130px;
  }

  .latest_news .child {
    width: 87.5%;
  }

  .latest_news .child ul {
    display: block;
    width: 100%;
    margin-top: 0;
    padding-bottom: 116px;
  }

  .latest_news .child ul li {
    width: 100%;
    margin-top: 85px;
  }

  .latest_news .child ul li a .cont {
    width: 100%;
  }

  .latest_news .child ul li a .cont .date_cate {
    margin-top: 35px;
  }

  .latest_news .child ul li a .cont .date_cate:before {
    top: -5px;
  }

  .latest_news .child ul li a .cont .date_cate .date {
    font-size: 2.0rem;
  }

  .latest_news .child ul li a .cont .date_cate .cate {
    font-size: 1.6rem;
  }

  .latest_news .child ul li a .cont .txt {
    font-size: 2.2rem;
    margin-left: 43px;
    margin-top: 29px;
    line-height: 1.8;
  }

  .latest_news .child .btn {
    width: 100%;
  }

  .latest_news .child .btn .btn_child {
    font-size: 1.8rem;
    padding-left: 33px;
    letter-spacing: 0.06em;
  }

@keyframes move_line_horizon {
    0%, 100% {
      width: 91px;
      left: 32px;
    }

    50% {
      width: 0px;
      left: 123px;
    }

    50.01% {
      width: 0px;
      left: 32px;
    }
}

  .latest_news .child .btn .btn_child a:after {
    width: 91px;
    left: 32px;
    top: 25px;
  }

  .listen_btn {
    width: 134px;
    height: 134px;
    font-size: 1.7rem;
    top: 82vh;
    margin-left: -171px;
  }

  .listen_btn.layout_for_top {
    top: 69.5vh;
    margin-left: -154px;
  }

  .listen_btn a {
    width: 134px;
    height: 134px;
    display: block;
    line-height: 1.5;
    padding-top: 28px;
  }

  .listen_btn:after {
    position: absolute;
    top: 91px;
    left: 50px;
    transform: scale(0.5);
  }

  main .whats_next div.hand {
    top: 334px;
  }

  main .whats_next .child {
    width: 87%;
    padding-top: 97px;
  }

  main .whats_next .child .tit {
    margin-left: -44vw;
    top: 421px;
    font-size: 4.8rem;
    letter-spacing: 0.07em;
  }

  main .whats_next .child .sub-tit {
    font-size: 1.8rem;
    top: 505px;
    margin-left: -43vw;
    letter-spacing: 0.16em;
  }

  main .whats_next .btn {
    display: none;
  }

  main .main_visual .child .sub_txt {
    font-size: 1.8rem;
    font-weight: 600;
  }

  main .main_visual .child .btn {
    width: 134px;
    height: 134px;
    font-size: 1.7rem;
  }

  main .main_visual .child .btn a {
    width: 134px;
    height: 134px;
    display: block;
    line-height: 1.5;
    padding-top: 28px;
  }

  main .main_visual .child .btn:after {
    position: absolute;
    top: 91px;
    left: 50px;
    transform: scale(0.5);
  }

  footer .child {
    width: 87%;
    top: -168px;
    position: absolute;
    left: 50%;
    margin-left: -43.8%;
  }

  footer .child .sns {
    position: relative;
    left: 0;
    display: inline-block;
  }

  footer .child .sns ul li {
    margin-right: 35px;
  }

  footer .child .sns ul li.fb img {
    width: 14px;
  }

  footer .child .sns ul li.tw img {
    width: 22px;
  }

  footer .child .sns ul li.ig img {
    width: 20px;
  }

  footer .child .footer_nav {
    margin-top: 37px;
  }

  footer .child .footer_nav ul {
    justify-content: inherit;
  }

  footer .child .footer_nav ul li {
    margin-left: 0;
    margin-right: 20px;
    font-size: 1.8rem;
  }

  footer .child .cp {
    position: static;
    font-size: 1.4rem;
    margin-top: 25px;
  }
}

@media screen and (max-width: 619px) {
  .common_tit {
    font-size: 1rem;
  }

  .common_tit:before {
    top: -3px;
    width: 18px;
    height: 1px;
    margin-right: 10px;
  }

  html {
    font-size: 65.5%;
  }

  header {
    height: 61px;
  }

  header nav.header_nav ul {
    left: 6vw;
    margin-top: 93px;
  }

  header nav.header_nav ul li {
    margin-top: 0px;
  }

  header nav.header_nav ul li a {
    padding-left: 146px;
    padding-top: 17px;
    padding-bottom: 48px;
  }

  header nav.header_nav ul li a:before {
    width: 126px;
    height: 72.5px;
  }

  header nav.header_nav ul li .sub_tit {
    font-size: 1rem;
  }

  header nav.header_nav ul li .tit {
    font-size: 1.2rem;
    margin-top: 8px;
  }

  header nav.header_nav ul li:nth-child(2) a .tit {
    margin-left: -3px;
  }

  header nav.header_nav .to_top {
    top: 15px;
  }

  header nav.header_nav .to_top a .sub_tit {
    font-size: 1rem;
  }

  header nav.header_nav .to_top a .tit {
    margin-top: 4px;
    font-size: 1.1rem;
  }

  header nav.header_nav .to_top a img {
    width: 78px;
  }

  header nav.header_nav .hamburger {
    top: 18px;
  }

  header nav.header_nav .hamburger:before {
    height: 50px;
    width: 50px;
    top: -13px;
    left: -14px;
  }

  header nav.header_nav .hamburger.open .bar1 {
    transform: translate3d(0px, 5px, 0) rotate(45deg);
  }

  header nav.header_nav .hamburger.open .bar3 {
    transform: translate3d(0px, -6.5px, 0) rotate(-45deg);
  }

  header nav.header_nav .hamburger .bar {
    width: 22.5px;
    margin-top: 5px;
    height: 1px;
  }

  .close_btn {
    top: 15px;
  }

  .close_btn img {
    width: 36px;
  }

  .latest_news {
    margin-top: 4px;
    padding-top: 48px;
    padding-bottom: 65px;
  }

  .latest_news .child ul {
    padding-bottom: 39px;
  }

  .latest_news .child ul li {
    margin-top: 44px;
  }

  .latest_news .child ul li a .cont .date_cate {
    margin-top: 17px;
  }

  .latest_news .child ul li a .cont .date_cate:before {
    top: -3px;
    height: 1px;
    width: 10px;
    margin-right: 11px;
  }

  .latest_news .child ul li a .cont .date_cate .date {
    font-size: 1rem;
  }

  .latest_news .child ul li a .cont .date_cate .cate {
    font-size: 1rem;
  }

  .latest_news .child ul li a .cont .txt {
    font-size: 1.1rem;
    margin-left: 22px;
    margin-top: 14px;
  }

  .latest_news .child ul li:first-child {
    margin-top: 40px;
  }

  .latest_news .child .btn {
    margin: -6px auto 0;
  }

  .latest_news .child .btn .btn_child {
    font-size: 1rem;
    padding-left: 15px;
  }

@keyframes move_line_horizon {
    0%, 100% {
      width: 55px;
      left: 14px;
    }

    50% {
      width: 0px;
      left: 69px;
    }

    50.01% {
      width: 0px;
      left: 14px;
    }
}

  .latest_news .child .btn .btn_child a:after {
    width: 55px;
    left: 14px;
    top: 14px;
    height: 1px;
  }

  .listen_btn {
    width: 77px;
    height: 77px;
    font-size: 1rem;
    top: inherit;
    margin-left: -92px;
    bottom: 6vh;
  }

  .listen_btn.layout_for_top {
    top: inherit;
    margin-left: -24%;
    bottom: 20vh;
  }

  .listen_btn a {
    width: 77px;
    height: 77px;
    line-height: 1.3;
    padding-top: 20px;
  }

  .listen_btn:after {
    transform: scale(0.25);
    top: 54px;
    left: 30px;
    position: absolute;
  }

  main .whats_next img.bg {
    min-width: 848px;
  }

  main .whats_next div.hand {
    top: 165px;
  }

  main .whats_next .child {
    padding-top: 49px;
  }

  main .whats_next .child .tit {
    margin-left: -43vw;
    top: 212px;
    font-size: 2.4rem;
  }

  main .whats_next .child .sub-tit {
    top: 253px;
    margin-left: -42vw;
    font-size: 1rem;
    padding-bottom: 4px;
  }

  main .whats_next .child .sub-tit:after {
    height: 1px;
    top: 14px;
  }

  main .main_visual .child .sub_txt {
    font-size: 1rem;
    font-weight: 600;
  }

  main .main_visual .child .btn {
    width: 77px;
    height: 77px;
    font-size: 1rem;
  }

  main .main_visual .child .btn a {
    width: 77px;
    height: 77px;
    line-height: 1.3;
    padding-top: 20px;
  }

  main .main_visual .child .btn:after {
    transform: scale(0.25);
    top: 54px;
    left: 30px;
    position: absolute;
  }

  footer .child {
    top: -83px;
  }

  footer .child .sns ul li {
    margin-right: 18px;
  }

  footer .child .sns ul li.fb img {
    width: 7px;
  }

  footer .child .sns ul li.tw img {
    width: 11px;
  }

  footer .child .sns ul li.ig img {
    width: 10px;
  }

  footer .child .footer_nav {
    margin-top: 17px;
  }

  footer .child .footer_nav ul li {
    font-size: 1rem;
    margin-right: 9px;
  }

  footer .child .cp {
    font-size: 1rem;
    margin-top: 12px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

/*
z-index

*/

main > .top .contents_bg {
  width: 100%;
  position: absolute;
  z-index: -100;
  height: 100vh;
  overflow: hidden;
}

main > .top .contents_bg .contents_bg_child {
  width: 100%;
  background-image: url("/assets/img/top/mv.jpg");
  background-size: cover;
  background-position: left top;
  height: 100vh;
  transition: transform 10s;
  transition-timing-function: linear;
  transform-origin: top left;
}

main > .top .contents_bg .contents_bg_child.scale {
  transform: scale(1.2);
}

main > .top .main_visual {
  width: 100%;
  height: 100vh;
  color: #fff;
}

main > .top .main_visual .child {
  position: relative;
  height: 100vh;
}

main > .top .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -102px, 0);
}

main > .top .main_visual .child h1 img {
  width: 771px;
  opacity: 0;
}

main > .top .main_visual .child h1 .anime {
  width: 770px;
  height: 211px;
  position: absolute;
  top: 0;
  background-image: url("/assets/img/top/hand_anime.png");
}

main > .top .main_visual .child .sub_txt {
  position: absolute;
  font-size: 1.8rem;
  letter-spacing: 0.32em;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, 116px, 0);
  font-weight: 600;
  letter-spacing: 0.0em;
}

main > .top .main_visual .news_ticker {
  width: 89.27083%;
  margin: 0 auto;
}

main > .top .main_visual .news_ticker .news_ticker_child {
  width: 72.5%;
  height: 76px;
  background-color: #474a4f;
  margin-top: -76px;
  display: block;
  font-size: 1.4rem;
  position: relative;
}

main > .top .main_visual .news_ticker .news_ticker_child .items {
  overflow: hidden;
  display: flex;
  transform-style: preserve-3d;
  height: 76px;
}

main > .top .main_visual .news_ticker .news_ticker_child .items .item {
  width: 100%;
  position: absolute;
  transform-origin: left center;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  transform: rotateX(-180deg) translate3d(0, 0, 10px);
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .top .main_visual .news_ticker .news_ticker_child .items .item.cutin {
  transition: transform 0ms;
}

main > .top .main_visual .news_ticker .news_ticker_child .items .item.show {
  transition-delay: .2s;
  transform: rotateX(0deg) translate3d(0, 0, 10px);
}

main > .top .main_visual .news_ticker .news_ticker_child .items .item.hide {
  transition-delay: 0s;
  transform: rotateX(180deg) translate3d(0, 0, 10px);
}

main > .top .main_visual .news_ticker .news_ticker_child .items .item a {
  display: flex;
  padding: 29px 0px 33px 88px;
  color: #fff;
  transition: opacity 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .top .main_visual .news_ticker .news_ticker_child .items .item a:hover {
  opacity: .5;
}

main > .top .main_visual .news_ticker .news_ticker_child .items .item a .txt {
  margin-left: 23px;
  font-weight: 600;
}

main > .top .main_visual .news_ticker .news_ticker_child .ui {
  position: absolute;
  display: flex;
  right: 0;
  top: 0;
}

main > .top .main_visual .news_ticker .news_ticker_child .ui .num {
  padding-top: 29px;
  padding-right: 30px;
  opacity: .5;
}

main > .top .main_visual .news_ticker .news_ticker_child .ui .tit {
  padding-top: 29px;
  padding-right: 33px;
  opacity: .5;
}

main > .top .main_visual .news_ticker .news_ticker_child .ui .tit a {
  color: #fff;
  transition: opacity 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .top .main_visual .news_ticker .news_ticker_child .ui .tit a:hover {
  opacity: .5;
}

main > .top .main_visual .news_ticker .news_ticker_child .ui .tit:before {
  content: "";
  height: 1px;
  width: 10px;
  position: relative;
  background-color: #fff;
  display: block;
  top: 7px;
  left: -20px;
}

@keyframes move_line {
  0%, 100% {
    height: 20px;
    top: 56px;
  }

  50% {
    height: 0px;
    top: 76px;
  }

  50.01% {
    height: 0px;
    top: 56px;
  }
}

main > .top .main_visual .news_ticker .news_ticker_child .ui .scroll {
  padding-top: 29px;
  background-color: #343639;
  height: 76px;
  width: 215px;
  text-align: center;
  position: relative;
}

main > .top .main_visual .news_ticker .news_ticker_child .ui .scroll:after {
  content: "";
  height: 20px;
  width: 1px;
  background-color: #f4fd01;
  display: inline-block;
  position: absolute;
  top: 56px;
  left: 108px;
  animation: move_line 1s infinite;
}

main > .top section .child h3 {
  font-size: 4.8rem;
  position: relative;
  left: 50%;
  display: inline-block;
  line-height: 1.3;
  z-index: 2;
}

main > .top section .child h3.show .inner {
  width: 100%;
}

main > .top section .child h3.show .inner:before {
  transform: scaleX(1);
}

main > .top section .child h3 .inner {
  white-space: nowrap;
  overflow: hidden;
  transition: width 600ms;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  display: inline-block;
  width: 0%;
}

main > .top section .child h3 .inner:before {
  content: "";
  background-color: #fff;
  position: absolute;
  z-index: -1;
  transform-origin: left;
  transition: transform 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: scaleX(0);
}

main > .top section .child .txt {
  position: relative;
  left: 50%;
  font-size: 1.5rem;
  font-weight: 500;
  line-height: 2.15;
}

@keyframes mask_motion {
  0% {
    width: 0%;
  }

  100% {
    width: 100%;
  }
}

main > .top section .child .txt.show .inner {
  visibility: visible;
  width: 0%;
  animation: mask_motion 0.6s cubic-bezier(0.165, 0.84, 0.44, 1) 0.2s forwards;
}

main > .top section .child .txt.show .inner .txt_bg {
  width: 100%;
}

main > .top section .child .txt .inner {
  overflow: hidden;
  width: 0%;
  visibility: hidden;
}

main > .top section .child .txt .inner .txt_bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 0%;
  background-color: #fff;
  transition: width .6s;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-delay: .2s;
}

main > .top section .child .txt .inner .txt_child {
  position: relative;
}

main > .top section .child .btn {
  font-size: 1.4rem;
  position: relative;
  left: 50%;
  font-weight: 600;
  display: inline-block;
  transition: transform 500ms, opacity 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 60px, 0);
  opacity: 0;
  transition-delay: .5s;
}

main > .top section .child .btn.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .top section .child .btn a {
  color: #fff;
  display: inline-block;
  padding: 13px 40px 19px 23px;
  background-color: #282626;
}

main > .top section .child .btn a:after {
  content: url("/assets/img/common/arrow_left.png");
  display: inline-block;
  transform-origin: left top;
  transform: scale(0.5);
  position: relative;
  top: 8px;
  left: 47px;
}

main > .top section .child .imgs {
  transform-origin: top center;
}

main > .top section .child .imgs .img_common {
  position: absolute;
  left: 50%;
}

main > .top .section1 .child {
  max-width: 1920px;
  width: 100%;
  margin: 0 auto;
  position: relative;
  /*      .img1{
        position: relative;
        padding-top: 170px;
        max-width: $large_box_width + px;
        width: $large_box_per;
        margin: 0 auto;
        display: block;

        @include show(400px, 800ms);
      }*/
}

main > .top .section1 .child .hand1_y {
  position: absolute;
  width: 342px;
  right: 0;
  top: 70px;
}

main > .top .section1 .child h3 {
  letter-spacing: 0.08em;
  transform: translate3d(-161px, -52px, 0);
  margin-top: 222px;
}

main > .top .section1 .child h3 .inner:before {
  width: 639px;
  height: 106px;
  top: 12px;
}

main > .top .section1 .child .txt {
  width: 30vw;
  margin-top: -69px;
  margin-left: 0px;
  z-index: 1;
}

main > .top .section1 .child .txt .inner .txt_child {
  padding-top: 44px;
  min-width: 30vw;
}

main > .top .section1 .child .imgs {
  margin-top: 13px;
}

main > .top .section1 .child .imgs .img1 {
  margin-top: -111px;
  position: relative;
}

main > .top .section1 .child .imgs .img2 {
  width: 468px;
  top: 533px;
  margin-left: 163px;
}

main > .top .section1 .child .imgs .hand_anime {
  position: absolute;
  left: 50%;
  width: 245px;
  margin-left: 475px;
  top: 475px;
  height: 163px;
  background-image: url("/assets/img/top/hand2_anime.png");
  background-size: 2048px 1024px;
}

main > .top .section2 {
  margin-top: 146px;
}

main > .top .section2 .child {
  position: relative;
}

main > .top .section2 .child h3 {
  letter-spacing: 0.14em;
  margin-left: -37.3%;
}

main > .top .section2 .child h3 .inner:before {
  width: 544px;
  height: 106px;
  top: 11px;
}

main > .top .section2 .child .txt {
  width: 29.6vw;
  top: -18px;
  margin-left: -29.8%;
  z-index: 1;
}

main > .top .section2 .child .txt .inner .txt_child {
  padding-top: 46px;
  min-width: 29.6vw;
}

main > .top .section2 .child .imgs {
  margin-top: 13px;
  position: relative;
}

main > .top .section2 .child .imgs .img2 {
  width: 300px;
  top: -70px;
  left: 50%;
  margin-left: 250px;
  position: absolute;
}

main > .top .section2 .child .imgs .img3 {
  width: 876px;
  margin-top: 184px;
  margin-left: 0%;
  left: 0;
}

main > .top .section2 .child .imgs .img4 {
  width: 682px;
  top: 457px;
  margin-left: 160px;
  display: block;
}

main > .top .section2 .child .imgs .img5 {
  width: 392px;
  top: 912px;
  margin-left: -633px;
  z-index: 1;
}

main > .top .section2 .child .imgs .img6 {
  width: 305px;
  margin-top: 1025px;
  margin-left: 0px;
  position: relative;
}

main > .top .section2 .child .imgs .hand_anime {
  position: absolute;
  left: 50%;
  width: 245px;
  margin-left: -155px;
  top: 165px;
  height: 163px;
  background-image: url(/assets/img/top/hand2_anime.png);
  background-size: 2048px 1024px;
}

main > .top .section2 .child .btn {
  top: -7px;
  margin-left: -29.7%;
  z-index: 1;
}

main > .top .section2 .child .img1 {
  max-width: 1714px;
  width: 89.27083%;
  margin: -153px auto 0;
  display: block;
  z-index: 0;
  position: relative;
  transition: transform 1000ms, opacity 1000ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main > .top .section2 .child .img1.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .top .section2 .child .hand2_y {
  position: absolute;
  width: 429px;
  left: 0px;
  top: 1020px;
  z-index: -1;
}

main > .top .section3 {
  margin-top: 205px;
  position: relative;
  z-index: 1;
}

main > .top .section3 .child {
  position: relative;
}

main > .top .section3 .child h3 {
  margin-left: -126px;
  letter-spacing: .08em;
}

main > .top .section3 .child h3 .inner:before {
  width: 533px;
  height: 106px;
  top: 12px;
}

main > .top .section3 .child .txt {
  width: 30vw;
  margin-top: -17px;
  margin-left: 0px;
}

main > .top .section3 .child .txt .inner .txt_child {
  padding-top: 46px;
  min-width: 30vw;
}

main > .top .section3 .child .btn {
  top: 17px;
  margin-left: 0px;
  z-index: 2;
}

main > .top .section3 .child .btn a {
  padding: 13px 40px 19px 28px;
}

main > .top .section3 .child .hand3_y {
  z-index: 1;
  position: absolute;
  width: 339px;
  left: 50%;
  top: 1188px;
  margin-left: 29.5%;
}

main > .top .section3 .child .img1 {
  max-width: 1714px;
  width: 89.27083%;
  margin: -100px auto 0;
  display: block;
  z-index: -2;
  position: relative;
  transition: transform 1000ms, opacity 1000ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 200px, 0);
  opacity: 0;
}

main > .top .section3 .child .img1.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .top .section3 .child .imgs .img2 {
  position: relative !important;
  width: 500px;
  margin-left: -627px;
  margin-top: -61px;
}

main > .top .section3 .child .imgs .img3 {
  width: 486px;
  margin-left: 85px;
  top: 188px;
}

main > .top .section3 .child .imgs .hand_anime {
  position: absolute;
  left: 50%;
  width: 232px;
  height: 93px;
  margin-left: 345px;
  top: 185px;
  background-image: url("/assets/img/top/hand3_anime.png");
  background-size: 512px 512px;
}

main > .top .section3 .child .imgs .hand4 {
  width: 200px;
  top: 731px;
  margin-left: 159px;
  mix-blend-mode: multiply;
}

main > .top .section4 {
  background-image: url("/assets/img/message/mv.jpg");
  background-size: cover;
  width: 100%;
  padding-top: 51.19048%;
  position: relative;
  margin-top: -68px;
}

main > .top .section4 .child {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

main > .top .section4 .child h3 {
  font-size: 3.2rem;
  color: #fff;
  position: absolute;
  top: 50%;
  margin-top: -62px;
  transform: translate3d(-50%, 0, 0);
  letter-spacing: -.01em;
  white-space: nowrap;
}

main > .top .section4 .child .btn {
  margin-top: 25px;
  top: 50%;
  display: inline-block;
  left: 50%;
  transform: translate3d(-50%, 50px, 0);
  transition-delay: 0;
  border: 1px solid #fff;
}

main > .top .section4 .child .btn.show {
  transform: translate3d(-50%, 0, 0);
}

main > .top .section4 .child .btn a {
  background-color: inherit;
  padding: 13px 59px 19px 23px;
}

main > .top .section4 .child .btn a:after {
  left: 67px;
}

main > .top .latest_news {
  margin-top: 0;
}

@media screen and (max-width: 1679px) {
  main > .top .main_visual .news_ticker {
    width: 100%;
  }

  main > .top .main_visual .news_ticker .news_ticker_child {
    width: 85%;
  }
}

@media screen and (max-width: 1279px) {
  main > .top .main_visual .news_ticker {
    width: 100%;
  }

  main > .top .main_visual .news_ticker .news_ticker_child {
    width: 100%;
  }
}

@media screen and (min-width: 1024px) {
  main > .top section .child .btn a:hover:after {
    animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}

@media screen and (max-width: 1023px) {
  main > .top .contents_bg {
    height: 75.7vh;
  }

  main > .top .contents_bg .contents_bg_child {
    background-image: url("/assets/img/top/mv_sp.jpg");
    height: 75.7vh;
  }

  main > .top .main_visual {
    height: 75.7vh;
    position: relative;
  }

  main > .top .main_visual .child {
    height: 75.7vh;
  }

  main > .top .main_visual .child h1 {
    left: 0;
    top: 33vh;
    transform: inherit;
    width: 100%;
  }

  main > .top .main_visual .child h1 img {
    width: 83%;
    max-width: 522px;
    margin: 0 auto;
    display: block;
    transform: inherit;
  }

  main > .top .main_visual .child h1 .anime {
    left: 50%;
    transform: translate3d(-50%, 0px, 0px) scale(0.68);
    transform-origin: center top;
  }

  main > .top .main_visual .child .sub_txt {
    font-size: 2.2rem;
    top: 66.3%;
    transform: translate3d(-50%, 0px, 0);
    white-space: nowrap;
    letter-spacing: 0.02em;
  }

  main > .top .main_visual .news_ticker .news_ticker_child {
    width: 100%;
    height: 24.3vh;
    display: block;
    font-size: 2.0rem;
    margin: 0 auto;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .items {
    height: 73%;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .items .item a {
    display: block;
    padding-left: 0;
    padding-top: 5.3vh;
    width: 88%;
    margin: 0 auto;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .items .item a .txt {
    margin-left: 0;
    font-size: 2.2rem;
    margin-top: 25px;
    font-weight: 600;
    line-height: 1.4;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui {
    position: relative;
    width: 88%;
    margin: 0 auto;
    bottom: 0vh;
    right: inherit;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui:before {
    content: "";
    width: 60vw;
    height: 1px;
    background-color: #ffffff;
    opacity: .2;
    position: absolute;
    top: 38px;
    left: 14vw;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui .tit {
    position: absolute;
    right: 0;
    padding-right: 0;
    font-weight: 600;
    font-size: 1.8rem;
    padding-bottom: 10px;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui .tit:before {
    height: 0;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui .scroll {
    display: none;
  }

  main > .top section .child h3 {
    font-size: 4.0rem;
    left: 0;
    width: 86vw;
    z-index: 2;
    display: block;
  }

  main > .top section .child h3 .inner:before {
    width: 100% !important;
  }

  main > .top section .child .txt {
    font-size: 2.3rem;
    line-height: 1.85;
    text-align: justify;
    z-index: 1;
  }

  main > .top section .child .btn {
    font-size: 1.8rem;
    font-weight: 600;
  }

  main > .top .section1 {
    position: relative;
    top: 36vh;
  }

  main > .top .section1 .child h3 {
    transform: inherit;
    top: -41px;
    margin: 0 auto;
  }

  main > .top .section1 .child h3 .inner:before {
    height: 86px;
  }

  main > .top .section1 .child .txt {
    width: 71.5vw;
    margin-top: -57px;
    margin-left: 0;
    left: 21%;
  }

  main > .top .section1 .child .txt .inner .txt_child {
    padding-top: 57px;
    min-width: 71.5vw;
  }

  main > .top .section1 .child .imgs {
    margin-top: 0px;
  }

  main > .top .section1 .child .imgs .img_common {
    margin-left: 0;
  }

  main > .top .section1 .child .imgs .img1 {
    width: 550px;
    padding-top: 0px;
    margin-top: -30px;
  }

  main > .top .section1 .child .imgs .img2 {
    width: 338px;
    margin-left: -13px;
    margin-top: 300px;
    top: 0;
  }

  main > .top .section1 .child .imgs .img3 {
    width: 364px;
    margin-left: -320px;
  }

  main > .top .section1 .child .imgs .img4 {
    width: 549px;
    margin-top: 607px;
    left: 50%;
    margin-left: -36%;
    position: absolute !important;
  }

  main > .top .section1 .child .imgs .img5 {
    margin-left: -331px;
    width: 243px;
    left: 50%;
    top: 938px;
    position: relative !important;
  }

  main > .top .section1 .child .imgs .hand_anime {
    margin-left: -140px;
    top: 100px;
  }

  main > .top .section1 .child .hand1_y {
    top: 17vh;
  }

  main > .top .section2 {
    margin-top: 0px;
  }

  main > .top .section2 .child h3 {
    margin: 0 auto;
  }

  main > .top .section2 .child h3 .inner:before {
    height: 86px;
  }

  main > .top .section2 .child .txt {
    width: 71.4vw;
    margin-top: 0px;
    margin-left: 0;
    left: 21%;
  }

  main > .top .section2 .child .txt .inner .txt_child {
    padding-top: 53px;
    min-width: 71.4vw;
  }

  main > .top .section2 .child .btn {
    top: 22px;
    margin-left: -29.4%;
  }

  main > .top .section2 .child .btn a {
    padding: 23px 62px 29px 28px;
  }

  main > .top .section2 .child .btn a:after {
    left: 69px;
  }

  main > .top .section2 .child .img1 {
    width: 100%;
    margin: -13px auto 0;
  }

  main > .top .section2 .child .hand2_y {
    z-index: -3;
    position: absolute;
    width: 42%;
    top: 112.4vh;
  }

  main > .top .section2 .child .imgs .img2 {
    width: 230px;
    top: 42px;
    margin-left: 90px;
  }

  main > .top .section2 .child .imgs .img3 {
    width: 556px;
    margin-top: 259px;
  }

  main > .top .section2 .child .imgs .img4 {
    width: 378px;
    top: 598px;
    margin-left: -55px;
  }

  main > .top .section2 .child .imgs .img5 {
    width: 291px;
    top: 797px;
    margin-left: -320px;
  }

  main > .top .section2 .child .imgs .img6 {
    width: 230px;
    margin-top: 977px;
    margin-left: 45px;
  }

  main > .top .section3 {
    margin-top: 164px;
  }

  main > .top .section3 .child h3 {
    margin: 0 auto;
  }

  main > .top .section3 .child h3 .inner:before {
    height: 84px;
  }

  main > .top .section3 .child .txt {
    width: 71.4vw;
    margin-top: -18px;
    margin-left: 0;
    left: 21%;
  }

  main > .top .section3 .child .txt .inner .txt_child {
    padding-top: 58px;
    min-width: 71.4vw;
  }

  main > .top .section3 .child .btn {
    top: 32px;
    margin-left: -29.4%;
  }

  main > .top .section3 .child .btn a {
    padding: 23px 71px 29px 28px;
  }

  main > .top .section3 .child .btn a:after {
    left: 77px;
  }

  main > .top .section3 .child .hand3_y {
    display: none;
  }

  main > .top .section3 .child .img1 {
    width: 100%;
    margin: 0px auto 0;
  }

  main > .top .section3 .child .imgs .img2 {
    width: 258px;
    margin-left: -290px;
    margin-top: 47px;
    z-index: 2;
  }

  main > .top .section3 .child .imgs .img3 {
    width: 302px;
    top: -142px;
    position: relative;
    left: 50%;
    margin-left: 23px;
    display: block;
  }

  main > .top .section3 .child .imgs .hand_anime {
    margin-left: -297px;
    top: 602px;
    z-index: 3;
  }

  main > .top .section3 .child .imgs .hand4 {
    display: none;
  }

  main > .top .section4 {
    background-image: url("/assets/img/message/mv_sp.jpg");
    padding-top: 125%;
    margin-top: 0;
  }

  main > .top .section4 .child h3 {
    font-size: 3.2rem;
    left: 50%;
    text-align: center;
    margin-top: -100px;
    line-height: 1.5;
  }

  main > .top .section4 .child .btn {
    margin-top: 30px;
  }

  main > .top .section4 .child .btn a {
    padding: 23px 94px 27px 23px;
  }

  main > .top .section4 .child .btn a:after {
    left: 101px;
  }
}

@media screen and (max-width: 619px) {
  main > .top .main_visual .child .sub_txt {
    font-size: 1rem;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .items {
    height: 55%;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .items .item a .date {
    font-size: 1.0rem;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .items .item a .txt {
    font-size: 1.1rem;
    margin-top: 13px;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui {
    margin: 0.0vh auto 0;
    bottom: 5px;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui:before {
    width: 58vw;
    top: 34px;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui .num {
    font-size: 1rem;
  }

  main > .top .main_visual .news_ticker .news_ticker_child .ui .tit {
    font-size: 1rem;
    padding-bottom: 3px;
  }

  main > .top section .child h3 {
    font-size: 2.0rem;
  }

  main > .top section .child h3 .inner:before {
    top: 4px;
    height: 45px;
  }

  main > .top section .child .txt {
    font-size: 1.3rem;
  }

  main > .top section .child .btn {
    font-size: 1rem;
  }

  main > .top section .child .btn a:after {
    top: 15px;
    transform: scale(0.25);
    position: absolute;
  }

  main > .top .section1 .child h3 {
    top: -18px;
  }

  main > .top .section1 .child h3 .inner:before {
    height: 48px;
    top: 4px;
  }

  main > .top .section1 .child .txt {
    margin-top: -26px;
    width: 71.0vw;
  }

  main > .top .section1 .child .txt .inner .txt_child {
    padding-top: 25px;
    width: 71.0vw;
  }

  main > .top .section1 .child .imgs {
    margin-top: 11px;
  }

  main > .top .section1 .child .imgs .img1 {
    margin-top: -120px;
    left: 0;
    margin-left: -150px;
  }

  main > .top .section1 .child .imgs .img2 {
    width: 333px;
    margin-top: 201px;
  }

  main > .top .section1 .child .hand1_y {
    width: 171px;
  }

  main > .top .section2 {
    margin-top: -58px;
  }

  main > .top .section2 .child h3 .inner:before {
    height: 48px;
    top: 4px;
  }

  main > .top .section2 .child .txt {
    margin-top: 10px;
  }

  main > .top .section2 .child .txt .inner .txt_child {
    padding-top: 22px;
  }

  main > .top .section2 .child .btn {
    top: 8px;
  }

  main > .top .section2 .child .btn a {
    padding: 11px 50px 14px 13px;
  }

  main > .top .section2 .child .btn a:after {
    left: 128px;
  }

  main > .top .section2 .child .img1 {
    margin-top: -9px;
    transition: transform 1000ms, opacity 1000ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, 100px, 0);
    opacity: 0;
  }

  main > .top .section2 .child .img1.show {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  main > .top .section2 .child .hand2_y {
    width: 155px;
    top: 279px;
  }

  main > .top .section2 .child .imgs {
    margin-top: 0;
  }

  main > .top .section2 .child .imgs .img2 {
    top: 12px;
  }

  main > .top .section2 .child .imgs .img3 {
    margin-top: 187px;
    width: 550px;
    margin-left: -161px;
  }

  main > .top .section3 {
    margin-top: 78px;
  }

  main > .top .section3 .child h3 .inner:before {
    height: 48px;
    top: 4px;
  }

  main > .top .section3 .child .txt {
    margin-top: -8px;
  }

  main > .top .section3 .child .txt .inner .txt_child {
    padding-top: 23px;
    line-height: 1.7;
  }

  main > .top .section3 .child .btn {
    top: 15px;
  }

  main > .top .section3 .child .btn a {
    padding: 11px 55px 14px 13px;
  }

  main > .top .section3 .child .btn a:after {
    left: 128px;
  }

  main > .top .section3 .child .img1 {
    transition: transform 1000ms, opacity 1000ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, 100px, 0);
    opacity: 0;
  }

  main > .top .section3 .child .img1.show {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  main > .top .section3 .child .imgs .img2 {
    margin-top: -23px;
  }

  main > .top .section4 .child h3 {
    font-size: 1.6rem;
    margin-top: -50px;
  }

  main > .top .section4 .child .btn {
    margin-top: 15px;
  }

  main > .top .section4 .child .btn a {
    padding: 12px 68px 13px 10px;
  }

  main > .top .section4 .child .btn a:after {
    left: 127px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

main > .about .contents_bg {
  width: 100%;
  padding-top: 150%;
  background-image: url("/assets/img/about/mv.jpg");
  background-size: cover;
  background-position: center top;
  position: absolute;
  z-index: -100;
}

main > .about .main_visual {
  position: absolute;
  width: 100%;
  height: 100vh;
  color: #fff;
}

main > .about .main_visual .child {
  position: relative;
  top: 0;
  width: 100vw;
  height: 100vh;
}

main > .about .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -75px, 0);
}

main > .about .main_visual .child h1 img {
  width: 503px;
  opacity: 0;
}

main > .about .main_visual .child h1 .anime {
  width: 503px;
  height: 130px;
  position: absolute;
  top: 0;
  background-image: url(/assets/img/about/hand_anime.png);
}

main > .about section .child {
  position: relative;
}

main > .about section .child h3 {
  font-size: 4.4rem;
  letter-spacing: .1em;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about section .child h3.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about section .child > .txt {
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about section .child > .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about section .child .sub_tit {
  font-size: 1.4rem;
  position: absolute;
  letter-spacing: 0em;
  font-weight: 600;
}

main > .about section .child .sub_tit:before {
  content: "";
  width: 36px;
  height: 2px;
  background: #282626;
  display: block;
  position: absolute;
  top: 6px;
  left: -55px;
}

main > .about section .child .txt {
  font-size: 1.6rem;
}

main > .about section .child h4 {
  font-size: 2.2rem;
}

main > .about .section1 {
  padding-top: 90.6vh;
}

main > .about .section1 .child {
  width: 96.5%;
  background-image: url("/assets/img/common/bg_white.jpg");
  margin: 0 auto;
  padding-top: 140px;
  line-height: 1.4;
}

main > .about .section1 .child h3 {
  padding: 0 25.6vw;
  letter-spacing: 0.07em;
}

main > .about .section1 .child > .txt {
  font-weight: 500;
  margin-top: 52px;
  padding: 0 25.7vw;
  line-height: 2.15;
  text-align: justify;
}

main > .about .section1 .child .img {
  margin: 110px auto 0;
  width: 74vw;
  position: relative;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about .section1 .child .img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section1 .child .img .photo {
  width: 100%;
}

main > .about .section1 .child .img .hand_anime {
  position: absolute;
  left: 50%;
  top: -52px;
  margin-left: 35.2%;
  width: 245px;
  height: 163px;
  background-image: url("/assets/img/top/hand2_anime.png");
  background-size: 2048px 1024px;
}

main > .about .section1 .child .lr {
  display: flex;
  width: 74vw;
  margin: 109px auto 0;
  padding-bottom: 97px;
  justify-content: center;
}

main > .about .section1 .child .lr .left {
  width: 0%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about .section1 .child .lr .left.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section1 .child .lr .left img {
  width: 76%;
  margin-left: 7%;
  margin-top: 2%;
}

main > .about .section1 .child .lr .right {
  width: 60%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
  transition-delay: .1s;
}

main > .about .section1 .child .lr .right.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section1 .child .lr .right h4 {
  line-height: 1.5;
  letter-spacing: 0.07em;
}

main > .about .section1 .child .lr .right .txt {
  margin-top: 24px;
  margin-bottom: 30px;
  line-height: 2.15;
  text-align: justify;
}

main > .about .section2 .child {
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
  padding-top: 132px;
}

main > .about .section2 .child .sub_tit {
  top: 142px;
  left: 8.7%;
}

main > .about .section2 .child .lr {
  display: flex;
  width: 74vw;
  margin: 0 auto;
  padding-bottom: 182px;
}

main > .about .section2 .child .lr .left {
  width: 50%;
}

main > .about .section2 .child .lr .left .imgs {
  width: 100%;
  position: relative;
}

main > .about .section2 .child .lr .left .imgs img {
  position: relative;
}

main > .about .section2 .child .lr .left .imgs .img1 {
  width: 71.6%;
  top: 137px;
  margin-left: 53px;
}

main > .about .section2 .child .lr .left .imgs .img2 {
  width: 338px;
  top: 106px;
  left: -211px;
}

main > .about .section2 .child .lr .left .imgs .img3 {
  width: 48%;
  position: relative;
  top: 120px;
  margin-left: 201px;
}

main > .about .section2 .child .lr .right {
  width: 50%;
}

main > .about .section2 .child .lr .right h3 {
  line-height: 1.4;
}

main > .about .section2 .child .lr .right > .txt {
  margin-top: 43px;
  line-height: 2;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about .section2 .child .lr .right > .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section2 .child .lr .right ul {
  margin-top: 90px;
}

main > .about .section2 .child .lr .right ul li {
  border-top: 1px solid rgba(37, 46, 53, 0.3);
  padding-top: 23px;
  padding-bottom: 38px;
  transition: transform 400ms, opacity 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about .section2 .child .lr .right ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section2 .child .lr .right ul li .tit {
  font-size: 2.0rem;
  line-height: 2.0;
  font-weight: 600;
}

main > .about .section2 .child .lr .right ul li .tit span {
  font-size: 2.6rem;
  display: inline-block;
  width: 60px;
}

main > .about .section2 .child .lr .right ul li .txt {
  font-size: 1.3rem;
  line-height: 1.8;
  padding-left: 60px;
}

main > .about .section3 {
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
  position: relative;
}

main > .about .section3 .img {
  position: absolute;
  top: -76px;
  left: 50%;
  margin-left: 22%;
}

main > .about .section3 .img img {
  width: 458.5px;
}

main > .about .section3 .child {
  width: 96.6%;
  background-image: url("/assets/img/common/bg_white.jpg");
  margin: 0 auto;
  padding-top: 70px;
}

main > .about .section3 .child ul {
  display: flex;
  position: relative;
  padding-top: 152px;
  padding-bottom: 154px;
  width: 86%;
  margin: 0 auto;
}

main > .about .section3 .child ul li {
  padding-left: 5%;
  padding-right: 4%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 70px, 0);
  opacity: 0;
}

main > .about .section3 .child ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section3 .child ul li:nth-child(2) {
  transition-delay: .1s;
}

main > .about .section3 .child ul li:nth-child(3) {
  transition-delay: .2s;
}

main > .about .section3 .child ul li img {
  height: 54px;
}

main > .about .section3 .child ul li .tit {
  font-size: 2.0rem;
  margin-top: 58px;
  font-weight: 600;
}

main > .about .section3 .child ul li .txt {
  margin-top: 23px;
  line-height: 1.9;
  font-size: 1.3rem;
}

main > .about .section3 .child ul li .btn {
  margin-top: 20px;
}

main > .about .section3 .child ul li .btn a {
  font-size: 1.3rem;
  font-weight: 600;
  position: relative;
  display: inline-block;
  padding-bottom: 11px;
}

@keyframes move_line_about {
  0%, 100% {
    width: 100%;
    left: 0%;
  }

  50% {
    width: 0%;
    left: 100%;
  }

  50.01% {
    width: 0%;
    left: 0%;
  }
}

main > .about .section3 .child ul li .btn a:hover:after {
  animation: move_line_about 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main > .about .section3 .child ul li .btn a:after {
  content: "";
  background-color: #000;
  height: 2px;
  width: 100%;
  position: absolute;
  top: 24px;
  left: 0;
  display: inline-block;
  pointer-events: none;
}

main > .about .section4 {
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
}

main > .about .section4 .child {
  margin-top: 140px;
  padding-bottom: 143px;
}

main > .about .section4 .child h3 {
  left: 49.5vw;
  position: relative;
  line-height: 1.4;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 60px, 0);
  opacity: 0;
}

main > .about .section4 .child h3.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section4 .child .sub_tit {
  left: 8.7%;
  top: 14px;
}

main > .about .section4 .child .sub_section {
  width: 78%;
  margin: 99px auto 0px;
  position: relative;
}

main > .about .section4 .child .sub_section:first-of-type {
  margin-top: 53px;
}

main > .about .section4 .child .sub_section h4 {
  font-size: 4.4rem;
  position: relative;
  z-index: 1;
  top: 14px;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  width: 0;
  transition: width 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .about .section4 .child .sub_section h4.show {
  width: 250px;
}

main > .about .section4 .child .sub_section h4.show:before {
  width: 250px;
}

main > .about .section4 .child .sub_section h4:before {
  content: "";
  background-color: #fff;
  position: absolute;
  z-index: -1;
  height: 49px;
  top: 0px;
  transition: width 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .about .section4 .child .sub_section .h4_sub {
  position: absolute;
  top: 58px;
  padding-top: 11px;
  padding-left: 5px;
  left: 0px;
  font-size: 1.4rem;
  z-index: 1;
  letter-spacing: 0.14em;
  display: inline-block;
  overflow: hidden;
  white-space: nowrap;
  width: 0;
  transition: width 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .about .section4 .child .sub_section .h4_sub.show {
  width: 160px;
}

main > .about .section4 .child .sub_section .h4_sub.show:before {
  width: 160px;
}

main > .about .section4 .child .sub_section .h4_sub:before {
  content: "";
  background-color: #fff;
  position: absolute;
  z-index: -1;
  width: 0;
  height: 36px;
  top: -11px;
  left: -5px;
}

main > .about .section4 .child .sub_section img {
  width: 95.5%;
  margin: 0 auto;
  display: block;
}

main > .about .section4 .child .sub_section ul {
  display: flex;
  width: 95.5%;
  margin: 0 auto;
}

main > .about .section4 .child .sub_section ul li {
  width: 50%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 70px, 0);
  opacity: 0;
}

main > .about .section4 .child .sub_section ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section4 .child .sub_section ul li:nth-child(2) {
  transition-delay: .1s;
}

main > .about .section4 .child .sub_section ul li .tit {
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 56px;
  margin-left: 38px;
  position: relative;
}

main > .about .section4 .child .sub_section ul li .tit:before {
  content: "";
  height: 2px;
  width: 18px;
  background-color: #656363;
  display: inline-block;
  position: absolute;
  top: 7px;
  left: -37px;
}

main > .about .section4 .child .sub_section ul li .txt {
  margin-top: 22px;
  margin-left: 38px;
  font-size: 1.3rem;
  line-height: 1.9;
}

main > .about .section5 {
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
  margin-bottom: 170px;
}

main > .about .section5 .child {
  width: 96.6%;
  background-image: url("/assets/img/common/bg_white.jpg");
  margin: 0 auto;
}

main > .about .section5 .child .lr {
  display: flex;
  width: 74vw;
  margin: 0 auto;
  padding-bottom: 158px;
  padding-top: 200px;
}

main > .about .section5 .child .lr .left {
  width: 50%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about .section5 .child .lr .left.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section5 .child .lr .left .img {
  width: 80%;
}

main > .about .section5 .child .lr .left .img img {
  width: 100%;
}

main > .about .section5 .child .lr .left .hand {
  position: absolute;
  top: -35px;
  left: 50%;
  margin-left: -59.4%;
}

main > .about .section5 .child .lr .left .hand img {
  width: 232px;
}

main > .about .section5 .child .lr .right {
  width: 50%;
}

main > .about .section5 .child .lr .right h3 {
  line-height: 1.4;
  margin-top: -7px;
}

main > .about .section5 .child .lr .right .sub_tit {
  left: 7.2%;
  top: 101px;
}

main > .about .section5 .child .lr .right .txt {
  margin-top: 49px;
  font-size: 1.5rem;
  line-height: 2.1;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .about .section5 .child .lr .right .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section5 .child .lr .right .btn {
  transition: transform 400ms, opacity 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 50px, 0);
  opacity: 0;
  transition-delay: .2s;
}

main > .about .section5 .child .lr .right .btn.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .about .section5 .child .lr .right .btn a {
  font-size: 1.3rem;
  font-weight: 600;
  color: #252e35;
  margin-top: 65px;
  display: inline-block;
  padding-bottom: 8px;
  letter-spacing: 0em;
  position: relative;
}

@keyframes move_line_about {
  0%, 100% {
    width: 100%;
    left: 0%;
  }

  50% {
    width: 0%;
    left: 100%;
  }

  50.01% {
    width: 0%;
    left: 0%;
  }
}

main > .about .section5 .child .lr .right .btn a:hover:after {
  animation: move_line_about 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main > .about .section5 .child .lr .right .btn a:after {
  content: "";
  background-color: #252e35;
  width: 100%;
  height: 2px;
  display: inline-block;
  position: absolute;
  left: 0;
  top: 21px;
  pointer-events: none;
}

main > .about .whats_next .btn {
  top: 709px;
  margin-left: 346px;
}

@media screen and (min-width: 1024px) {
  main > .about .section3 .child .sub_tit {
    left: 7.1%;
    top: 88px;
  }
}

@media screen and (max-width: 1023px) {
  main > .about .contents_bg {
    padding-top: 385%;
  }

  main > .about .main_visual .child h1 {
    width: 70%;
    transform: translate3d(-50%, -95px, 0);
  }

  main > .about .main_visual .child h1 img {
    width: 100%;
  }

  main > .about .main_visual .child h1 .anime {
    left: 50%;
    transform: translate3d(-50%, 0px, 0px) scale(0.68);
    transform-origin: center top;
  }

  main > .about section .child h3 {
    font-size: 4.0rem;
  }

  main > .about section .child .txt {
    font-size: 2.2rem;
  }

  main > .about section .child .sub_tit {
    font-size: 1.8rem;
  }

  main > .about .section1 .child {
    width: 100%;
    padding: 40px 5vw 0;
  }

  main > .about .section1 .child h3 {
    padding: 49px 1vw 0;
    letter-spacing: 0.07em;
  }

  main > .about .section1 .child .txt {
    margin-top: 27px;
    padding: 0 1vw;
    line-height: 1.85;
  }

  main > .about .section1 .child .img {
    margin-top: 70px;
    width: 86vw;
    /*          .hand{
            top: -48px;
            margin-left: 24%;
            width: 200px;
          }*/
  }

  main > .about .section1 .child .img .photo {
    width: 100%;
  }

  main > .about .section1 .child .img .hand_anime {
    top: -62px;
    margin-left: 21%;
    transform: scale(0.8);
    transform-origin: center;
  }

  main > .about .section1 .child .lr {
    flex-direction: column-reverse;
    margin: 38px auto 0;
    width: 100%;
    padding-bottom: 98px;
  }

  main > .about .section1 .child .lr .left {
    width: 100%;
    margin-top: 44px;
    text-align: center;
  }

  main > .about .section1 .child .lr .left img {
    width: 83%;
    margin-left: 1%;
    margin-top: 1%;
  }

  main > .about .section1 .child .lr .right {
    width: 100%;
  }

  main > .about .section1 .child .lr .right h4 {
    margin-top: 40px;
    font-size: 2.6rem;
  }

  main > .about .section1 .child .lr .right .txt {
    margin-top: 33px;
    line-height: 1.85;
  }

  main > .about .section2 .child {
    width: 100%;
    padding: 193px 6vw 0;
    margin-top: 0px;
  }

  main > .about .section2 .child .sub_tit {
    top: 109px;
    left: 15%;
  }

  main > .about .section2 .child .lr {
    flex-direction: column-reverse;
    width: 100%;
    padding-bottom: 37px;
  }

  main > .about .section2 .child .lr .left,
  main > .about .section2 .child .lr .right {
    width: 100%;
  }

  main > .about .section2 .child .lr .left {
    position: relative;
  }

  main > .about .section2 .child .lr .left .imgs .img1 {
    left: 21%;
    width: 76%;
    top: 60px;
  }

  main > .about .section2 .child .lr .left .imgs .img2 {
    margin-top: -85px;
    position: relative;
    width: 38.3%;
    left: 1.6%;
    top: 0px;
  }

  main > .about .section2 .child .lr .left .imgs .img3 {
    top: 30px;
  }

  main > .about .section2 .child .lr .right > .txt {
    margin-top: 38px;
    line-height: 1.85;
    text-align: justify;
  }

  main > .about .section2 .child .lr .right ul {
    margin-top: 25px;
  }

  main > .about .section2 .child .lr .right ul li {
    border-top: none;
    border-bottom: 1px solid rgba(37, 46, 53, 0.3);
    padding-bottom: 42px;
    padding-top: 28px;
  }

  main > .about .section2 .child .lr .right ul li .tit {
    font-size: 2.6rem;
    font-weight: 600;
  }

  main > .about .section2 .child .lr .right ul li .tit span {
    font-size: 3.2rem;
    display: inline-block;
    width: 80px;
  }

  main > .about .section2 .child .lr .right ul li .txt {
    font-weight: 500;
    line-height: 1.6;
    padding-left: 80px;
  }

  main > .about .section3 {
    margin-top: 40px;
  }

  main > .about .section3 .img {
    display: none;
  }

  main > .about .section3 .child {
    width: 100%;
    padding: 16px 1vw 100px;
  }

  main > .about .section3 .child .sub_tit {
    top: 99px;
    left: 15%;
  }

  main > .about .section3 .child ul {
    display: block;
    width: 100%;
    padding-top: 100px;
    padding-bottom: 0px;
  }

  main > .about .section3 .child ul li {
    margin-top: 80px;
  }

  main > .about .section3 .child ul li img {
    width: 120px;
    height: auto;
  }

  main > .about .section3 .child ul li .tit {
    font-size: 2.6rem;
    margin-top: 35px;
  }

  main > .about .section3 .child ul li .txt {
    margin-top: 26px;
    line-height: 1.48;
  }

  main > .about .section3 .child ul li .btn {
    font-size: 2.0rem;
    display: inline-block;
    margin-top: 31px;
    font-weight: 600;
    padding-bottom: 9px;
  }

  main > .about .section4 {
    margin-top: 100px;
  }

  main > .about .section4 .child {
    padding: 26px 6vw 0;
    padding-bottom: 97px;
  }

  main > .about .section4 .child h3 {
    left: 0;
  }

  main > .about .section4 .child .sub_tit {
    top: -48px;
    left: 15%;
  }

  main > .about .section4 .child .sub_section {
    width: 100%;
    margin: 88px auto 0px;
  }

  main > .about .section4 .child .sub_section:first-of-type {
    margin-top: 68px;
  }

  main > .about .section4 .child .sub_section h4 {
    font-size: 4.0rem;
  }

  main > .about .section4 .child .sub_section h4:before {
    height: 40px;
  }

  main > .about .section4 .child .sub_section .h4_sub {
    top: 54px;
  }

  main > .about .section4 .child .sub_section img {
    width: 102%;
    margin: -6px 5.3% 0;
  }

  main > .about .section4 .child .sub_section ul {
    display: block;
    width: 100%;
    margin: -6px 5.3% 0;
  }

  main > .about .section4 .child .sub_section ul li {
    width: 100%;
  }

  main > .about .section4 .child .sub_section ul li:nth-of-type(2) {
    margin-top: 49px;
  }

  main > .about .section4 .child .sub_section ul li:nth-of-type(2) img {
    display: none;
  }

  main > .about .section4 .child .sub_section ul li .tit {
    font-size: 2.4rem;
    margin-left: 15px;
    margin-top: 47px;
    position: relative;
  }

  main > .about .section4 .child .sub_section ul li .tit:before {
    content: "";
    width: 19px;
    height: 2px;
    background: #282626;
    display: block;
    position: absolute;
    top: 10px;
    left: -44px;
  }

  main > .about .section4 .child .sub_section ul li .txt {
    margin-left: 16px;
    margin-top: 23px;
    line-height: 1.45;
  }

  main > .about .section5 .child {
    width: 100%;
    padding-top: 100px;
  }

  main > .about .section5 .child .lr {
    display: block;
    margin: 0 auto;
    width: 98%;
    padding-top: 96px;
    padding-bottom: 101px;
  }

  main > .about .section5 .child .lr .left {
    width: 80%;
    margin: 0 auto;
  }

  main > .about .section5 .child .lr .left .img {
    width: 100%;
  }

  main > .about .section5 .child .lr .left .hand {
    top: 169px;
    left: 50%;
    margin-left: -46.7%;
  }

  main > .about .section5 .child .lr .right {
    margin-top: 40px;
    width: 90%;
    margin-left: 5%;
  }

  main > .about .section5 .child .lr .right h3 {
    margin-top: 74px;
  }

  main > .about .section5 .child .lr .right .sub_tit {
    top: 99px;
    left: 15%;
  }

  main > .about .section5 .child .lr .right .txt {
    line-height: 1.85;
    margin-top: 31px;
  }

  main > .about .section5 .child .lr .right .btn a {
    font-size: 2.0rem;
    border-bottom-width: 3px;
    margin-top: 28px;
  }

  main > .about .section5 .child .lr .txt {
    margin-top: 40px;
  }

  main > .about .latest_news {
    margin-top: 0;
  }
}

@media screen and (max-width: 619px) {
  main > .about .contents_bg {
    background-position: -110vw top;
  }

  main > .about .main_visual .child h1 {
    transform: translate3d(-50%, -45px, 0);
  }

  main > .about section .child h3 {
    font-size: 2.0rem;
  }

  main > .about section .child .sub_tit {
    font-size: 1.0rem;
  }

  main > .about section .child .sub_tit:before {
    width: 18px;
    top: 3px;
    left: -28px;
  }

  main > .about section .child .txt {
    font-size: 1.1rem;
  }

  main > .about .section1 .child h3 {
    padding: 5px 1vw 0;
  }

  main > .about .section1 .child .txt {
    margin-top: 14px;
  }

  main > .about .section1 .child .img {
    margin-top: 35px;
    transition: transform 600ms, opacity 600ms;
    transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, 50px, 0);
    opacity: 0;
  }

  main > .about .section1 .child .img.show {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }

  main > .about .section1 .child .img .hand_anime {
    top: -75px;
    left: 31%;
    transform: scale(0.4);
    transform-origin: center;
  }

  main > .about .section1 .child .lr {
    padding-bottom: 48px;
  }

  main > .about .section1 .child .lr .right h4 {
    font-size: 1.3rem;
    margin-top: 0px;
  }

  main > .about .section1 .child .lr .right .txt {
    margin-top: 17px;
  }

  main > .about .section1 .child .lr .left {
    margin-top: 22px;
  }

  main > .about .section2 .child {
    padding: 95px 6vw 0;
  }

  main > .about .section2 .child .sub_tit {
    top: 54px;
  }

  main > .about .section2 .child .lr .right .txt {
    margin-top: 19px;
  }

  main > .about .section2 .child .lr .right ul {
    margin-top: 9px;
  }

  main > .about .section2 .child .lr .right ul li {
    padding-bottom: 21px;
    padding-top: 18px;
  }

  main > .about .section2 .child .lr .right ul li .tit {
    font-size: 1.3rem;
  }

  main > .about .section2 .child .lr .right ul li .tit span {
    font-size: 1.6rem;
    display: inline-block;
    width: 40px;
  }

  main > .about .section2 .child .lr .right ul li .txt {
    margin-top: 1px;
    font-size: 1.0rem;
    padding-left: 40px;
  }

  main > .about .section2 .child .lr .left .imgs .img1 {
    top: -40px;
  }

  main > .about .section2 .child .lr .left .imgs .img2 {
    top: -30px;
  }

  main > .about .section2 .child .lr .left .imgs .img3 {
    top: -60px;
  }

  main > .about .section3 {
    margin-top: 0;
  }

  main > .about .section3 .child {
    padding: 16px 1vw 51px;
  }

  main > .about .section3 .child .sub_tit {
    top: 50px;
  }

  main > .about .section3 .child ul {
    padding-top: 43px;
  }

  main > .about .section3 .child ul li {
    margin-top: 40px;
  }

  main > .about .section3 .child ul li img {
    width: 60px;
  }

  main > .about .section3 .child ul li .tit {
    font-size: 1.3rem;
    margin-top: 17px;
  }

  main > .about .section3 .child ul li .txt {
    font-size: 1.0rem;
    margin-top: 13px;
  }

  main > .about .section3 .child ul li .btn {
    font-size: 1.0rem;
    border-bottom-width: 2px;
    padding-bottom: 4.5px;
    margin-top: 21px;
  }

  main > .about .section4 {
    margin-top: 0px;
    padding-top: 61px;
    padding-bottom: 47px;
  }

  main > .about .section4 .child {
    margin-top: 0px;
    padding-bottom: 48px;
  }

  main > .about .section4 .child .sub_tit {
    top: -13px;
  }

  main > .about .section4 .child .sub_section {
    margin: 38px auto 0px;
  }

  main > .about .section4 .child .sub_section:first-of-type {
    margin-top: 26px;
  }

  main > .about .section4 .child .sub_section h4 {
    font-size: 2.0rem;
  }

  main > .about .section4 .child .sub_section h4:before {
    height: 20px;
  }

  main > .about .section4 .child .sub_section h4.show {
    width: 160px;
  }

  main > .about .section4 .child .sub_section h4.show:before {
    width: 160px;
  }

  main > .about .section4 .child .sub_section .h4_sub {
    font-size: 1rem;
    top: 34px;
    padding-top: 0px;
    padding-left: 0;
    left: 2px;
  }

  main > .about .section4 .child .sub_section .h4_sub.show {
    width: 120px;
  }

  main > .about .section4 .child .sub_section .h4_sub.show:before {
    width: 120px;
  }

  main > .about .section4 .child .sub_section .h4_sub:before {
    top: 0px;
    left: -2px;
    height: 20px;
  }

  main > .about .section4 .child .sub_section ul {
    margin: 5px 5.3% 0;
  }

  main > .about .section4 .child .sub_section ul li:nth-of-type(2) {
    margin-top: 31px;
  }

  main > .about .section4 .child .sub_section ul li .tit {
    font-size: 1.2rem;
    margin-left: 7px;
    margin-top: 24px;
  }

  main > .about .section4 .child .sub_section ul li .tit:before {
    width: 9px;
    height: 1px;
    top: 6px;
    left: -22px;
  }

  main > .about .section4 .child .sub_section ul li .txt {
    font-size: 1.0rem;
    margin-left: 6px;
    margin-top: 12px;
  }

  main > .about .section5 {
    margin-bottom: 85px;
  }

  main > .about .section5 .child {
    padding-top: 52px;
  }

  main > .about .section5 .child .lr {
    padding-top: 46px;
    padding-bottom: 50px;
  }

  main > .about .section5 .child .lr .right {
    margin-top: 38px;
  }

  main > .about .section5 .child .lr .right .sub_tit {
    top: 50px;
  }

  main > .about .section5 .child .lr .right h3 {
    margin-top: 0;
  }

  main > .about .section5 .child .lr .right .txt {
    font-size: 1.1rem;
    line-height: 1.85;
    margin-top: 15px;
  }

  main > .about .section5 .child .lr .right .btn a {
    font-size: 1.0rem;
    margin-top: 13px;
    border-bottom-width: 1px;
    padding-bottom: 5px;
  }

  main > .about .section5 .child .lr .left .hand {
    top: 85px;
  }

  main > .about .section5 .child .lr .left .hand img {
    width: 116px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

main > .culture .contents_bg {
  width: 100%;
  background-image: url("/assets/img/culture/mv.jpg");
  background-size: cover;
  background-position: top center;
  padding-top: 85.71429%;
  position: absolute;
  z-index: -100;
}

main > .culture .main_visual {
  position: absolute;
  width: 100%;
  height: 100vh;
  color: #fff;
}

main > .culture .main_visual .child {
  position: absolute;
  top: 0;
  width: 100vw;
  height: 100vh;
}

main > .culture .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -75px, 0);
}

main > .culture .main_visual .child h1 img {
  width: 549px;
  opacity: 0;
}

main > .culture .main_visual .child h1 .anime {
  width: 549px;
  height: 106px;
  position: absolute;
  top: 0;
  background-image: url(/assets/img/culture/hand_anime.png);
}

main > .culture section .child {
  position: relative;
}

main > .culture section .child h3 {
  font-size: 4.4rem;
  display: inline-block;
  letter-spacing: 0.1em;
}

main > .culture section .child .sub_tit {
  font-size: 1.4rem;
  position: absolute;
  letter-spacing: 0em;
  font-weight: 600;
}

main > .culture section .child .sub_tit:before {
  content: "";
  width: 45px;
  height: 2px;
  background: #282626;
  display: block;
  position: absolute;
  top: 6px;
  left: -65px;
}

main > .culture section .child h4 {
  font-size: 2.2rem;
}

main > .culture .section1 {
  padding-top: 90.6vh;
}

main > .culture .section1 .child {
  width: 96.5%;
  background-image: url("/assets/img/common/bg_white.jpg");
  margin: 0 auto;
  padding-top: 140px;
  padding-bottom: 240px;
  line-height: 1.4;
  position: relative;
}

main > .culture .section1 .child h3 {
  left: 47.7vw;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section1 .child h3.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section1 .child .txt {
  left: 47.7vw;
  margin-top: 47px;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section1 .child .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section1 .child img {
  position: absolute;
  top: 121px;
  width: 369px;
  left: 25%;
  margin-left: -144px;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section1 .child img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section2 .child {
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
  padding-top: 150px;
  position: relative;
}

main > .culture .section2 .child .hand {
  position: absolute;
  top: 689px;
  left: 50%;
  margin-left: -1309px;
}

main > .culture .section2 .child .hand img {
  width: 2107px;
}

main > .culture .section2 .child .hand2 {
  position: absolute;
  top: 864px;
  margin-left: 32%;
  left: 50%;
}

main > .culture .section2 .child .hand2 img {
  width: 440.5px;
}

main > .culture .section2 .child h3 {
  left: 49.5vw;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section2 .child h3.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section2 .child .sub_tit {
  top: 156px;
  left: 155px;
}

main > .culture .section2 .child .txt {
  left: 49.5vw;
  margin-top: 55px;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section2 .child .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section2 .child .imgs {
  transform-origin: top center;
}

main > .culture .section2 .child .imgs .img_common {
  position: absolute;
  left: 50%;
}

main > .culture .section2 .child .imgs .img1 {
  width: 515px;
  top: 555px;
  margin-left: -840px;
  z-index: 1;
}

main > .culture .section2 .child .imgs .img2 {
  width: 638px;
  margin-top: 183px;
  margin-left: -399px;
  z-index: 1;
  position: relative;
}

main > .culture .section2 .child .imgs .img3 {
  width: 314px;
  left: 50%;
  margin-left: 22vw;
  z-index: 1;
  margin-top: 153px;
}

main > .culture .section3 .child {
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
  padding-top: 100px;
  padding-bottom: 158px;
}

main > .culture .section3 .child h3 {
  left: 49.5vw;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section3 .child h3.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section3 .child .sub_tit {
  top: 113px;
  left: 155px;
}

main > .culture .section3 .child .txt {
  left: 49.5vw;
  margin-top: 47px;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section3 .child .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section3 .child > .img {
  width: 59.6%;
  margin: 89px auto 0;
  -moz-user-select: none;
  -khtml-user-select: none;
  -webkit-user-select: none;
  user-select: none;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section3 .child > .img.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section3 .child > .img img {
  width: 100%;
  -webkit-user-drag: none;
}

main > .culture .section3 .child .sub_section {
  display: flex;
  width: 74%;
  margin: 105px auto 0;
}

main > .culture .section3 .child .sub_section .left {
  width: 50%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section3 .child .sub_section .left.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section3 .child .sub_section .left img {
  width: 77.5%;
  margin-top: 17px;
}

main > .culture .section3 .child .sub_section .right {
  width: 50%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section3 .child .sub_section .right.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section3 .child .sub_section .right h4 {
  font-size: 2.0rem;
}

main > .culture .section3 .child .sub_section .right ul.first {
  margin-top: 43px;
  border-top: 1px solid rgba(37, 46, 53, 0.3);
}

main > .culture .section3 .child .sub_section .right ul.first > li {
  font-size: 2.4rem;
  position: relative;
}

main > .culture .section3 .child .sub_section .right ul.first > li.show .contents {
  display: block;
}

main > .culture .section3 .child .sub_section .right ul.first > li.change .tit:after {
  transform: rotate(270deg);
}

main > .culture .section3 .child .sub_section .right ul.first > li .tit {
  border-bottom: 1px solid rgba(37, 46, 53, 0.3);
  padding: 33px 0 36px;
  cursor: pointer;
  font-weight: 600;
  transition: opacity 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .culture .section3 .child .sub_section .right ul.first > li .tit:hover {
  opacity: .5;
}

main > .culture .section3 .child .sub_section .right ul.first > li .tit:before {
  content: "";
  display: inline-block;
  width: 29px;
  height: 1px;
  position: absolute;
  background-color: #282626;
  right: 14px;
  top: 47px;
}

main > .culture .section3 .child .sub_section .right ul.first > li .tit:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 29px;
  background-color: #282626;
  position: absolute;
  right: 28px;
  top: 33px;
  transition: transform 400ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .culture .section3 .child .sub_section .right ul.first > li .tit span {
  font-family: futura-pt;
  font-size: 1.6rem;
  position: relative;
  top: -3px;
  margin-right: 16px;
}

main > .culture .section3 .child .sub_section .right ul.first > li .contents {
  display: none;
  border-bottom: 1px solid rgba(37, 46, 53, 0.3);
  overflow: hidden;
}

main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second {
  margin: 38px 0 33px;
}

main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li {
  display: flex;
  font-size: 1.3rem;
  color: #282626;
  margin: 22px 0;
  justify-content: space-between;
}

main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li div.l {
  width: 22%;
  font-size: 1.1rem;
  font-weight: bold;
  line-height: 1.5em;
}

main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li div.r {
  width: 74%;
}

main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li div.r .job_tit {
  font-size: 1.6rem;
  color: #333;
  font-weight: 600;
}

main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li div.r .job_txt {
  margin-top: 7px;
  line-height: 1.9;
}

main > .culture .section4 .child {
  width: 96.6%;
  background-image: url("/assets/img/common/bg_white.jpg");
  margin: 0 auto;
  padding-top: 144px;
  padding-bottom: 120px;
}

main > .culture .section4 .child h3 {
  left: 47.8vw;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section4 .child h3.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section4 .child .sub_tit {
  top: 154px;
  left: 118px;
}

main > .culture .section4 .child > .txt {
  left: 47.8vw;
  margin-top: 47px;
  line-height: 2.05;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section4 .child > .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section4 .child .sub_section ul {
  display: flex;
  padding-top: 141px;
  padding-bottom: 39px;
  width: 86%;
  margin: 0 auto;
}

main > .culture .section4 .child .sub_section ul li {
  padding-left: 5%;
  padding-right: 4%;
  width: 33%;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .culture .section4 .child .sub_section ul li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .culture .section4 .child .sub_section ul li:nth-child(2) {
  transition-delay: .1s;
}

main > .culture .section4 .child .sub_section ul li:nth-child(3) {
  transition-delay: .2s;
}

main > .culture .section4 .child .sub_section ul li img {
  width: 111px;
}

main > .culture .section4 .child .sub_section ul li .tit {
  font-size: 2.0rem;
  margin-top: 33px;
  font-weight: 600;
  letter-spacing: 0;
}

main > .culture .section4 .child .sub_section ul li .txt {
  margin-top: 23px;
  line-height: 1.9;
  font-size: 1.3rem;
  color: #282626;
}

main > .culture .whats_next .btn {
  top: 552px;
  margin-left: 345px;
}

@media screen and (min-width: 1024px) {
  main > .culture section .child h3 {
    position: relative;
    letter-spacing: 0.07em;
    line-height: 1.4;
    width: 39%;
  }

  main > .culture section .child > .txt {
    font-size: 1.6rem;
    position: relative;
    width: 39%;
    text-align: justify;
    line-height: 2.15;
  }
}

@media screen and (max-width: 1023px) {
  main > .culture .contents_bg {
    padding-top: 200%;
  }

  main > .culture .main_visual .child h1 {
    width: 80%;
    transform: translate3d(-50%, -95px, 0);
  }

  main > .culture .main_visual .child h1 img {
    width: 100%;
  }

  main > .culture .main_visual .child h1 .anime {
    left: 50%;
    transform: translate3d(-50%, 0px, 0px) scale(0.68);
    transform-origin: center top;
  }

  main > .culture section .child h3 {
    font-size: 4.0rem;
    left: 0;
    line-height: 1.4;
    letter-spacing: -0.03em;
    width: 100%;
  }

  main > .culture section .child .sub_tit {
    font-size: 1.8rem;
  }

  main > .culture section .child .txt {
    font-size: 2.2rem;
    left: 0;
    width: 100%;
  }

  main > .culture .section1 .child {
    width: 100%;
    padding: 90px 5vw 100px;
  }

  main > .culture .section1 .child .txt {
    margin-top: 31px;
    line-height: 1.85em;
  }

  main > .culture .section1 .child img {
    margin: 54px auto 0;
    display: block;
    position: relative;
    left: 0;
    top: 0;
    width: 83%;
  }

  main > .culture .section2 .child {
    width: 100%;
    padding: 175px 5vw 0;
  }

  main > .culture .section2 .child .hand2 {
    display: none;
  }

  main > .culture .section2 .child .sub_tit {
    top: 100px;
    left: 15.1%;
  }

  main > .culture .section2 .child .txt {
    margin-top: 21px;
    line-height: 1.9em;
  }

  main > .culture .section2 .child .imgs {
    position: relative;
  }

  main > .culture .section2 .child .imgs .img1 {
    top: 0;
    margin-top: 67px;
    margin-left: -571px;
    position: relative;
  }

  main > .culture .section2 .child .imgs .img2 {
    top: 202px;
    margin-left: 5px;
    display: none;
  }

  main > .culture .section2 .child .imgs .img3 {
    width: 34vw;
    margin-left: 67px;
    margin-top: 314px;
  }

  main > .culture .section2 .child .imgs .img4 {
    display: none;
  }

  main > .culture .section3 .child {
    width: 100%;
    padding: 171px 5vw 100px;
  }

  main > .culture .section3 .child .sub_tit {
    top: 100px;
    left: 15.1%;
  }

  main > .culture .section3 .child .txt {
    margin-top: 30px;
    line-height: 1.85em;
  }

  main > .culture .section3 .child .img {
    width: 100%;
    margin: 43px -7px 0 auto;
  }

  main > .culture .section3 .child .img img {
    width: 190vw;
  }

  main > .culture .section3 .child .sub_section {
    flex-direction: column-reverse;
    width: 98%;
    margin: 77px auto 0;
  }

  main > .culture .section3 .child .sub_section h4 {
    padding: 20px 0;
  }

  main > .culture .section3 .child .sub_section .right {
    width: 100%;
  }

  main > .culture .section3 .child .sub_section .right h4 {
    font-size: 1.8rem;
    padding-bottom: 59px;
  }

  main > .culture .section3 .child .sub_section .right ul.first {
    margin-top: 0px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li {
    font-size: 2.6rem;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit {
    padding: 38px 0 43px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit:before {
    top: 54px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit:after {
    top: 40px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit span {
    font-size: 2.4rem;
    margin-right: 4.7%;
  }

  main > .culture .section3 .child .sub_section .left {
    width: 100%;
  }

  main > .culture .section3 .child .sub_section .left .img {
    width: 100%;
    margin: 63px auto 0;
  }

  main > .culture .section3 .child .sub_section .left .img img {
    width: 100%;
  }

  main > .culture .section4 .child {
    width: 100%;
    padding: 176px 5vw 55px;
  }

  main > .culture .section4 .child .sub_tit {
    top: 100px;
    left: 15.1%;
  }

  main > .culture .section4 .child > .txt {
    margin-top: 28px;
    line-height: 1.85em;
  }

  main > .culture .section4 .child .sub_section ul {
    display: block;
    padding-top: 0px;
    width: 97%;
  }

  main > .culture .section4 .child .sub_section ul li {
    padding: 0;
    margin-top: 70px;
    width: 100%;
  }

  main > .culture .section4 .child .sub_section ul li img {
    width: 120px;
  }

  main > .culture .section4 .child .sub_section ul li .tit {
    font-size: 2.6rem;
  }

  main > .culture .section4 .child .sub_section ul li .txt {
    font-size: 2.2rem;
    font-weight: 500;
    line-height: 1.5;
    margin-top: 26px;
  }

  main > .culture .latest_news {
    margin-top: 0;
  }
}

@media screen and (max-width: 619px) {
  main > .culture .main_visual .child h1 {
    transform: translate3d(-50%, -45px, 0);
  }

  main > .culture section .child h3 {
    font-size: 2.0rem;
  }

  main > .culture section .child .sub_tit {
    font-size: 1.0rem;
  }

  main > .culture section .child .sub_tit:before {
    width: 18px;
    top: 3px;
    left: -28px;
  }

  main > .culture section .child .txt {
    font-size: 1.1rem;
  }

  main > .culture .section1 .child {
    padding: 45px 5vw 50px;
  }

  main > .culture .section1 .child .txt {
    margin-top: 16px;
  }

  main > .culture .section1 .child img {
    margin: 27px auto 0;
  }

  main > .culture .section2 .child {
    padding: 88px 5vw 0;
  }

  main > .culture .section2 .child .sub_tit {
    top: 51px;
  }

  main > .culture .section2 .child .txt {
    margin-top: 11px;
  }

  main > .culture .section2 .child .imgs .img1 {
    width: 357px;
    margin-top: 37px;
    margin-left: -285px;
    top: -70px;
  }

  main > .culture .section2 .child .imgs .img2 {
    width: 164px;
    top: 105px;
    margin-left: -5px;
  }

  main > .culture .section2 .child .imgs .img3 {
    margin-top: 157px;
  }

  main > .culture .section3 .child {
    padding: 86px 5vw 49px;
  }

  main > .culture .section3 .child .sub_tit {
    top: 48px;
  }

  main > .culture .section3 .child .txt {
    margin-top: 15px;
  }

  main > .culture .section3 .child .img {
    margin: 20px -2px 0 auto;
  }

  main > .culture .section3 .child .sub_section {
    margin: 24px auto 0;
  }

  main > .culture .section3 .child .sub_section .right h4 {
    font-size: 1rem;
    padding-bottom: 28px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li {
    font-size: 1.3rem;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit {
    padding: 20px 0 20px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit:before {
    top: 27px;
    width: 15px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit:after {
    top: 20px;
    right: 21px;
    height: 15px;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .tit span {
    font-size: 1.2rem;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li {
    display: block;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li div.l {
    width: 100%;
    font-weight: 600;
  }

  main > .culture .section3 .child .sub_section .right ul.first > li .contents ul.second li div.r {
    margin-top: 7px;
    width: 100%;
  }

  main > .culture .section3 .child .sub_section .left .img {
    margin: 23px auto 0;
  }

  main > .culture .section4 .child {
    padding: 88px 5vw 55px;
  }

  main > .culture .section4 .child .sub_tit {
    top: 50px;
  }

  main > .culture .section4 .child > .txt {
    margin-top: 14px;
  }

  main > .culture .section4 .child .sub_section ul li {
    margin-top: 35px;
  }

  main > .culture .section4 .child .sub_section ul li img {
    width: 60px;
  }

  main > .culture .section4 .child .sub_section ul li .tit {
    font-size: 1.3rem;
    margin-top: 16px;
  }

  main > .culture .section4 .child .sub_section ul li .txt {
    font-size: 1.1rem;
    margin-top: 13px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

main > .episode .contents_bg {
  width: 100%;
  background-image: url("/assets/img/episode/mv.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  position: absolute;
  padding-top: 71.66667%;
  z-index: -100;
}

main > .episode .main_visual {
  position: absolute;
  width: 100%;
  height: 100vh;
  color: #fff;
}

main > .episode .main_visual .child {
  position: absolute;
  top: 0;
  width: 100vw;
  height: 100vh;
}

main > .episode .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-52.6%, -105px, 0);
}

main > .episode .main_visual .child h1 img {
  width: 425px;
  opacity: 0;
}

main > .episode .main_visual .child h1 .anime {
  width: 425px;
  height: 132px;
  position: absolute;
  top: 0;
  background-image: url(/assets/img/episode/hand_anime.png);
}

main > .episode .list {
  padding-top: 90.6vh;
}

main > .episode .list .txt_wrap {
  width: 96.5%;
  background-image: url("/assets/img/common/bg_white.jpg");
  margin: 0 auto;
}

main > .episode .list .txt_wrap .txt {
  width: 46.4%;
  margin: 0 auto;
  padding-top: 142px;
  padding-bottom: 142px;
  line-height: 2.1;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: justify;
  transition: transform 700ms, opacity 700ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 80px, 0);
  opacity: 0;
  transition-delay: .2s;
}

main > .episode .list .txt_wrap .txt.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .episode .list .ul_wrap {
  width: 100%;
  background-image: url("/assets/img/common/bg.jpg");
  background-color: #e5e5e5;
  padding-bottom: 190px;
}

main > .episode .list .ul_wrap .ul_chunk {
  width: 74vw;
  margin: 0 auto;
}

main > .episode .list .ul_wrap .ul_chunk ul.tab {
  display: flex;
  font-size: 1.4rem;
  font-weight: 600;
  padding-top: 130px;
}

main > .episode .list .ul_wrap .ul_chunk ul.tab li {
  margin-right: 2.7%;
  position: relative;
}

main > .episode .list .ul_wrap .ul_chunk ul.tab li:after {
  content: "";
  display: inline-block;
  background-color: #282626;
  width: 0%;
  height: 3px;
  position: absolute;
  top: 5px;
  left: -15%;
  transition: width 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .episode .list .ul_wrap .ul_chunk ul.tab li:hover:after {
  width: 130%;
}

main > .episode .list .ul_wrap .ul_chunk ul.tab li.current:after {
  width: 130%;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont {
  display: flex;
  flex-wrap: wrap;
  margin-top: 6px;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li {
  margin-top: 104px;
  width: 33.33333%;
  position: relative;
  padding-right: 20px;
  transition: transform 700ms, opacity 700ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 150px, 0);
  opacity: 0;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li:hover .img img {
  transform: scale(1.2);
  opacity: .8;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .img {
  width: 83%;
  overflow: hidden;
  position: relative;
  top: 38px;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .img img {
  width: 100%;
  transition: transform 500ms, opacity 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .num {
  position: absolute;
  top: 12px;
  background-color: #fff;
  right: 17.7%;
  font-size: 5.0rem;
  font-weight: 600;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .label {
  position: absolute;
  top: 0;
  font-weight: 600;
  font-size: 1.0rem;
  color: #fff;
  margin-top: 38px;
  left: 0;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .occup {
  background-color: #282626;
  padding: 7px 12px;
  display: inline-block;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .rank {
  padding: 4px 18px 6px;
  display: inline-block;
  letter-spacing: 0.0em;
  font-weight: 600;
  font-size: 1.4rem;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .txt {
  font-size: 1.6rem;
  font-weight: 600;
  position: relative;
  margin-left: 10%;
  margin-top: 69px;
  line-height: 1.8;
  width: 73%;
}

main > .episode .list .ul_wrap .ul_chunk ul.cont li .txt:before {
  content: "";
  width: 20px;
  height: 2px;
  background-color: #151617;
  top: 15px;
  position: absolute;
  display: inline-block;
  left: -38px;
}

main > .episode .list .ul_wrap .ul_chunk ul.pagination {
  display: flex;
  margin-top: 140px;
  position: relative;
  font-size: 2.8rem;
  font-weight: 600;
  justify-content: center;
}

main > .episode .list .ul_wrap .ul_chunk ul.pagination li {
  margin-right: 14px;
  margin-left: 14px;
  position: relative;
}

main > .episode .list .ul_wrap .ul_chunk ul.pagination li:after {
  content: "";
  display: inline-block;
  background-color: #282626;
  width: 0%;
  height: 3px;
  position: absolute;
  top: 12px;
  left: -15%;
  transition: width 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .episode .list .ul_wrap .ul_chunk ul.pagination li a:after {
  content: "";
  display: inline-block;
  background-color: #282626;
  width: 0%;
  height: 3px;
  position: absolute;
  top: 12px;
  left: -15%;
  transition: width 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .episode .list .ul_wrap .ul_chunk ul.pagination li a:hover:after {
  width: 130%;
}

main > .episode .list .ul_wrap .ul_chunk ul.pagination li.current:after {
  width: 130%;
}

main > .episode .whats_next .btn {
  margin-left: -87px;
  top: 334px;
}

@media screen and (min-width: 1024px) {
  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+2) .img {
    margin-left: 11%;
    top: -1px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+2) .img img {
    margin-top: 0;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+2) .num {
    top: -27px;
    right: 7.3%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+2) .label {
    top: -39px;
    left: 10%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+2) .txt {
    margin-left: 20%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+3) .img {
    margin-left: 22%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+3) .label {
    left: 20.8%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+3) .txt {
    margin-left: 31%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li:nth-child(3n+3) .num {
    right: -3%;
  }
}

@media screen and (max-width: 1305px) {
  main > .episode .list .ul_wrap .ul_chunk ul.cont li .num {
    font-size: 4.0rem;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .occup {
    padding: 7px 8px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .rank {
    font-size: 1.1rem;
    padding: 7px 8px 6px;
  }
}

@media screen and (max-width: 1023px) {
  main > .episode .contents_bg {
    padding-top: 200%;
  }

  main > .episode .main_visual .child h1 {
    width: 60%;
    transform: translate3d(-52.6%, -125px, 0);
  }

  main > .episode .main_visual .child h1 img {
    width: 100%;
  }

  main > .episode .main_visual .child h1 .anime {
    left: 50%;
    transform: translate3d(-50%, 0px, 0px) scale(0.68);
    transform-origin: center top;
  }

  main > .episode .list .txt_wrap {
    width: 100%;
  }

  main > .episode .list .txt_wrap .txt {
    width: 88%;
    font-size: 2.2rem;
    padding-top: 91px;
    padding-bottom: 91px;
    line-height: 1.85;
  }

  main > .episode .list .ul_wrap .ul_chunk {
    width: 85.8vw;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.tab {
    margin-top: 64px;
    display: block;
    text-align: center;
    line-height: 2.3;
    font-size: 2.2rem;
    display: inline-flex;
    flex-direction: column;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  main > .episode .list .ul_wrap .ul_chunk ul.tab li {
    margin-right: 0;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.tab li:after {
    top: 24px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont {
    display: block;
    margin-top: 0px;
    padding-top: 14px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li {
    width: 100%;
    margin-top: 47px;
    padding-right: 0;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .img {
    width: 100%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .img img {
    width: 100%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .num {
    font-size: 6.25rem;
    top: 28px;
    right: -2%;
    line-height: 0.8;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .occup {
    padding: 8px 12px 9px;
    vertical-align: top;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .rank {
    font-size: 1.8rem;
    padding: 5px 18px 4px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .txt {
    font-size: 2.4rem;
    width: 92%;
    margin-left: 8%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .txt:before {
    top: 17px;
    left: -45px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.pagination {
    font-size: 3.6rem;
    margin-top: 97px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.pagination li {
    margin-right: 3.3%;
    margin-left: 3.3%;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.pagination li:after {
    top: 16px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.pagination li a:after {
    top: 16px;
  }
}

@media screen and (max-width: 619px) {
  main > .episode .main_visual .child h1 {
    transform: translate3d(-52.6%, -65px, 0);
  }

  main > .episode .list .txt_wrap .txt {
    font-size: 1.1rem;
    padding-top: 47px;
    padding-bottom: 47px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.tab {
    margin-top: 0px;
    padding-top: 32px;
    font-size: 1.1rem;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.tab li:after {
    top: 12px;
    height: 2px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont {
    padding-top: 2px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li {
    margin-top: 7px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .num {
    font-size: 3.125rem;
    top: 32px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .occup {
    padding: 1.5px 12px 2.5px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .label .rank {
    font-size: 1rem;
    padding: 2px 8px 2px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .txt {
    font-size: 1.2rem;
    margin-top: 8px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.cont li .txt:before {
    top: 9px;
    left: -18px;
    width: 10px;
    height: 1px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.pagination {
    font-size: 1.8rem;
    margin-top: 47px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.pagination li:after {
    height: 2px;
    top: 7px;
  }

  main > .episode .list .ul_wrap .ul_chunk ul.pagination li a:after {
    height: 2px;
    top: 7px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

main > .message .contents_bg {
  width: 100%;
  background-image: url("/assets/img/message/mv.jpg");
  background-size: cover;
  background-position: center top;
  padding-top: 200%;
  position: absolute;
  z-index: -100;
}

main > .message .main_visual {
  position: absolute;
  width: 100%;
  height: 100vh;
  color: #fff;
}

main > .message .main_visual .child {
  position: absolute;
  top: 0;
  width: 100vw;
  height: 100vh;
}

main > .message .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -75px, 0);
}

main > .message .main_visual .child h1 img {
  width: 285px;
  opacity: 0;
}

main > .message .main_visual .child h1 .anime {
  width: 271px;
  height: 93px;
  position: absolute;
  top: 0;
  background-image: url(/assets/img/message/hand_anime.png);
}

main > .message section .child .btn {
  font-size: 1.4rem;
  background-color: #282626;
  display: inline-block;
  position: relative;
  font-weight: 600;
}

main > .message section .child .btn a {
  color: #fff;
}

main > .message section .child .btn a:after {
  content: url("/assets/img/common/arrow_left.png");
  display: inline-block;
  transform-origin: left top;
  transform: scale(0.5);
  position: relative;
  top: 8px;
  left: 47px;
}

main > .message .section1 {
  padding-top: 90.0vh;
  z-index: 1;
  position: relative;
}

main > .message .section1 .child.lr {
  width: 96.5%;
  background-image: url("/assets/img/common/bg_white.jpg");
  margin: 0 auto;
  padding: 40px 40px 161px;
  display: flex;
}

main > .message .section1 .child.lr .left,
main > .message .section1 .child.lr .right {
  width: 50%;
}

main > .message .section1 .child.lr .left {
  position: relative;
  margin-top: 111px;
  transform-origin: top center;
  /*        .hand1{
          //top: 765px;
          //left: 32%;
          //width: 31%;

          margin-top: 658px;
          left: 50%;
          width: 245px;
          margin-left: -137px;
        }*/
}

main > .message .section1 .child.lr .left img {
  position: absolute;
}

main > .message .section1 .child.lr .left .img1 {
  margin-top: 0px;
  left: 50%;
  margin-left: -115px;
  width: 375px;
}

main > .message .section1 .child.lr .left .img2 {
  margin-top: 419px;
  left: 50%;
  margin-left: -240px;
  width: 224px;
}

main > .message .section1 .child.lr .left .img3 {
  /*
          top: 984px;
          left: 45%;
          width: 38%;
          */
  margin-top: 863px;
  left: 50%;
  width: 297px;
  margin-left: -37px;
}

main > .message .section1 .child.lr .left .hand_anime {
  position: absolute;
  margin-top: 662px;
  left: 50%;
  width: 245px;
  height: 163px;
  margin-left: -116px;
  background-image: url("/assets/img/top/hand2_anime.png");
  background-size: 2048px 1024px;
}

main > .message .section1 .child.lr .right {
  font-size: 2.0rem;
  font-weight: 600;
  margin-top: 50px;
  line-height: 2.33;
}

main > .message .section1 .child.lr .right p {
  margin-top: 47px;
  transition: transform 800ms, opacity 800ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 100px, 0);
  opacity: 0;
}

main > .message .section1 .child.lr .right p.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .message .section1 .child.lr .right .btn {
  margin-top: 55px;
  transition: transform 600ms, opacity 600ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 70px, 0);
  opacity: 0;
  transition-delay: .2s;
}

main > .message .section1 .child.lr .right .btn.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .message .section1 .child.lr .right .btn a {
  display: inline-block;
  padding: 10px 106px 11px 35px;
}

main > .message .section1 .child.lr .right .btn a:hover:after {
  animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main > .message .section1 .child.lr .right .btn a:after {
  top: 9px;
  left: 101px;
}

main > .message .whats_next {
  margin-top: -83px;
}

main > .message .whats_next img.bg {
  width: 100%;
}

main > .message .whats_next .child {
  pointer-events: inherit;
}

main > .message .whats_next .child h3 {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate3d(-50%, -150px, 0);
}

main > .message .whats_next .child h3 img {
  width: 770px;
}

main > .message .whats_next .child .sub-tit {
  top: 57.2%;
  margin-left: -4%;
}

main > .message .whats_next .child .btn {
  left: 50%;
  top: 50%;
  margin-left: 0;
  transform: translate3d(-50%, 70px, 0);
  font-size: 1.4rem;
  border: 1px solid #fff;
  white-space: nowrap;
}

main > .message .whats_next .child .btn a {
  color: #fff;
  display: inline-block;
  padding: 13px 59px 19px 23px;
}

main > .message .whats_next .child .btn a:after {
  content: url(/assets/img/common/arrow_left.png);
  display: inline-block;
  transform-origin: left top;
  transform: scale(0.5);
  position: relative;
  top: 8px;
  left: 67px;
}

main > .message .whats_next img.bg {
  width: 107%;
  left: 0%;
  transform: translateX(0);
}

main > .message .latest_news {
  margin-top: -1px;
  padding-bottom: 234px;
}

@media screen and (min-width: 1024px) {
  main > .message .whats_next .child .btn a:hover:after {
    animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}

@media screen and (max-width: 1023px) {
  main > .message .contents_bg {
    padding-top: 200%;
  }

  main > .message .main_visual .child h1 {
    width: 39%;
    transform: translate3d(-50%, -95px, 0);
  }

  main > .message .main_visual .child h1 img {
    width: 100%;
  }

  main > .message .main_visual .child h1 .anime {
    left: 50%;
    transform: translate3d(-50%, 0px, 0px) scale(0.68);
    transform-origin: center top;
  }

  main > .message .section1 .child.lr {
    width: 100%;
    padding: 40px 40px 101px;
  }

  main > .message .section1 .child.lr .left {
    display: none;
  }

  main > .message .section1 .child.lr .right {
    width: 100%;
    margin-top: 0px;
    line-height: 2.3;
    font-size: 2.2rem;
  }

  main > .message .section1 .child.lr .right .btn {
    font-size: 1.8rem;
    margin-top: 66px;
  }

  main > .message .section1 .child.lr .right .btn a {
    padding: 15px 148px 15px 26px;
  }

  main > .message .section1 .child.lr .right .btn a:after {
    top: 11px;
    left: 154px;
  }

  main > .message .whats_next .child {
    /*
        .sub-tit{
          letter-spacing: 0em;
          border-bottom-width: 3px;
          top: 57.2vh;
          margin-left: 0;
          transform: translateX(-50%);
        }
        */
  }

  main > .message .whats_next .child h3 {
    transform: translate3d(-50%, -100px, 0);
  }

  main > .message .whats_next .child h3 img {
    width: 522px;
  }

  main > .message .whats_next .child .btn {
    display: block;
  }
}

@media screen and (max-width: 619px) {
  main > .message .main_visual .child h1 {
    transform: translate3d(-50%, -45px, 0);
  }

  main > .message .section1 .child.lr {
    width: 100%;
    padding: 15px 20px 51px;
  }

  main > .message .section1 .child.lr .right {
    font-size: 1.1rem;
  }

  main > .message .section1 .child.lr .right p {
    margin-top: 28px;
  }

  main > .message .section1 .child.lr .right .btn {
    font-size: 1.0rem;
  }

  main > .message .section1 .child.lr .right .btn a {
    padding: 3px 38px 7px 13px;
  }

  main > .message .section1 .child.lr .right .btn a:hover:after {
    animation: inherit;
  }

  main > .message .section1 .child.lr .right .btn a:after {
    transform: scale(0.25);
    left: 71px;
  }

  main > .message .whats_next {
    height: 570px;
  }

  main > .message .whats_next img.bg {
    width: 322%;
  }

  main > .message .whats_next .child h3 {
    transform: translate3d(-50%, -87px, 0);
  }

  main > .message .whats_next .child h3 img {
    width: 261px;
  }

  main > .message .whats_next .child .btn {
    font-size: 1rem;
    transform: translate3d(-50%, 3px, 0);
  }

  main > .message .whats_next .child .btn a {
    padding: 18px 58px 13px 16px;
  }

  main > .message .whats_next .child .btn a:after {
    left: 127px;
    top: 22px;
    transform: scale(0.25);
    position: absolute;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

main > .news .main_visual {
  color: #fff;
  top: 0;
  width: 100vw;
  height: 330px;
  background-image: url("/assets/img/news/mv.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  z-index: -1;
}

main > .news .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 217px;
  transform: translateX(-50%);
  font-size: 2.6rem;
}

main > .news .list {
  margin-bottom: 300px;
  color: #282626;
}

main > .news .list .child {
  width: 74.5%;
  margin: 0 auto;
}

main > .news .list .child ul.tab {
  display: flex;
  font-size: 1.4rem;
  font-weight: 600;
  margin-top: 130px;
}

main > .news .list .child ul.tab li {
  margin-right: 33px;
  position: relative;
}

main > .news .list .child ul.tab li:after {
  content: "";
  display: inline-block;
  background-color: #282626;
  width: 0%;
  height: 3px;
  position: absolute;
  top: 5px;
  left: -15%;
  transition: width 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .news .list .child ul.tab li:hover:after {
  width: 130%;
}

main > .news .list .child ul.tab li.current:after {
  width: 130%;
}

main > .news .list .child ul.cont {
  display: flex;
  flex-wrap: wrap;
}

main > .news .list .child ul.cont li {
  width: 26.4%;
  margin-right: 10.4%;
  position: relative;
  margin-top: 110px;
  transition: transform 700ms, opacity 700ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 150px, 0);
  opacity: 0;
}

main > .news .list .child ul.cont li.show {
  transform: translate3d(0, 0, 0);
  opacity: 1;
}

main > .news .list .child ul.cont li:nth-child(3n+3) {
  margin-right: 0;
}

main > .news .list .child ul.cont li:hover .img img {
  transform: scale(1.2);
  opacity: .6;
}

main > .news .list .child ul.cont li .img {
  width: 100%;
  overflow: hidden;
}

main > .news .list .child ul.cont li .img img {
  transition: transform 500ms, opacity 500ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  width: 100%;
}

main > .news .list .child ul.cont li .upper {
  opacity: .7;
  position: relative;
  margin-top: 37px;
  margin-left: 40px;
}

main > .news .list .child ul.cont li .upper:before {
  content: "";
  width: 19px;
  height: 2px;
  background: #282626;
  display: block;
  position: absolute;
  top: 4px;
  left: -39px;
}

main > .news .list .child ul.cont li .upper .date {
  font-size: 1.1rem;
  font-weight: 600;
}

main > .news .list .child ul.cont li .upper .date:after {
  content: "";
  width: 1px;
  height: 10px;
  background-color: #282626;
  display: inline-block;
  margin-right: 7px;
  margin-left: 9px;
}

main > .news .list .child ul.cont li .upper .cate {
  font-size: 1.0rem;
  font-weight: 600;
}

main > .news .list .child ul.cont li .lower {
  font-size: 1.6rem;
  font-weight: 600;
  padding-left: 38px;
  width: 100%;
  margin-top: 18px;
  line-height: 1.7;
  text-align: justify;
}

main > .news .list .child ul.pagination {
  display: flex;
  margin-top: 140px;
  justify-content: center;
  font-size: 2.8rem;
  font-weight: 600;
}

main > .news .list .child ul.pagination li {
  margin-right: 14px;
  margin-left: 14px;
  position: relative;
}

main > .news .list .child ul.pagination li:after {
  content: "";
  display: inline-block;
  background-color: #282626;
  width: 0%;
  height: 3px;
  position: absolute;
  top: 12px;
  left: -15%;
  transition: width 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .news .list .child ul.pagination li a:after {
  content: "";
  display: inline-block;
  background-color: #282626;
  width: 0%;
  height: 3px;
  position: absolute;
  top: 12px;
  left: -15%;
  transition: width 200ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

main > .news .list .child ul.pagination li a:hover:after {
  width: 130%;
}

main > .news .list .child ul.pagination li.current:after {
  width: 130%;
}

@media screen and (max-width: 1023px) {
  main > .news .main_visual {
    height: 350px;
  }

  main > .news .main_visual .child h1 {
    font-size: 3.2rem;
    top: 210px;
  }

  main > .news .list .child {
    width: 87%;
  }

  main > .news .list .child ul.tab {
    margin-top: 64px;
    display: block;
    text-align: center;
    line-height: 2.3;
    font-size: 2.2rem;
    display: inline-flex;
    flex-direction: column;
    position: relative;
    left: 50%;
    transform: translateX(-50%);
  }

  main > .news .list .child ul.tab li {
    margin-right: 0;
  }

  main > .news .list .child ul.tab li:after {
    top: 24px;
  }

  main > .news .list .child ul.cont {
    display: block;
    margin-top: 70px;
  }

  main > .news .list .child ul.cont li {
    width: 100%;
    padding-right: 0;
    margin-top: 70px;
  }

  main > .news .list .child ul.cont li .upper:before {
    top: 9px;
    left: -41px;
  }

  main > .news .list .child ul.cont li .upper .date {
    font-size: 2.0rem;
  }

  main > .news .list .child ul.cont li .upper .date:after {
    idth: 2px;
    height: 16px;
  }

  main > .news .list .child ul.cont li .upper .cate {
    font-size: 1.6rem;
  }

  main > .news .list .child ul.cont li .lower {
    margin-top: 30px;
    line-height: 1.8;
  }

  main > .news .list .child ul.cont li .lower .txt {
    font-size: 2.2rem;
  }

  main > .news .list .child ul.pagination {
    font-size: 3.6rem;
    margin-top: 100px;
  }

  main > .news .list .child ul.pagination li {
    margin-right: 18.5px;
    margin-left: 18.5px;
  }

  main > .news .list .child ul.pagination li:after {
    top: 16px;
  }

  main > .news .list .child ul.pagination li a:after {
    top: 16px;
  }
}

@media screen and (max-width: 619px) {
  main > .news .main_visual {
    height: 175px;
  }

  main > .news .main_visual .child h1 {
    font-size: 1.6rem;
    top: 103px;
  }

  main > .news .list .child ul.tab {
    margin-top: 32px;
    font-size: 1.1rem;
  }

  main > .news .list .child ul.tab li:after {
    top: 12px;
    height: 2px;
  }

  main > .news .list .child ul.cont {
    margin-top: 34px;
  }

  main > .news .list .child ul.cont li {
    margin-top: 40px;
  }

  main > .news .list .child ul.cont li .upper {
    margin-top: 18px;
    margin-left: 21px;
  }

  main > .news .list .child ul.cont li .upper:before {
    height: 1px;
    width: 10px;
    top: 5px;
    left: -22px;
  }

  main > .news .list .child ul.cont li .upper .date {
    font-size: 1.0rem;
  }

  main > .news .list .child ul.cont li .upper .date:after {
    height: 7px;
  }

  main > .news .list .child ul.cont li .upper .cate {
    font-size: 1.0rem;
  }

  main > .news .list .child ul.cont li .lower {
    padding-left: 21px;
    margin-top: 16px;
  }

  main > .news .list .child ul.cont li .lower .txt {
    font-size: 1.1rem;
  }

  main > .news .list .child ul.pagination {
    font-size: 1.8rem;
    margin-top: 51px;
  }

  main > .news .list .child ul.pagination li {
    margin-right: 9px;
    margin-left: 9px;
  }

  main > .news .list .child ul.pagination li:after {
    height: 2px;
    top: 7px;
  }

  main > .news .list .child ul.pagination li a:after {
    height: 2px;
    top: 7px;
  }
}
@charset "UTF-8";

/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

main > .contact .main_visual {
  color: #fff;
  top: 0;
  width: 100vw;
  height: 330px;
  background-image: url("/assets/img/news/mv.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  z-index: -1;
}

main > .contact .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 220px;
  transform: translateX(-50%);
  font-size: 2.6rem;
  letter-spacing: .1em;
}

main > .contact .form {
  margin-top: 140px;
  margin-bottom: 300px;
  font-weight: 600;
}

main > .contact .form.hide {
  display: none;
}

main > .contact .form a {
  color: #252e35;
}

main > .contact .form .child {
  width: 750px;
  margin: 0 auto;
}

main > .contact .form .child .txt {
  line-height: 2.1;
  font-size: 1.6rem;
}

main > .contact .form .child .btn {
  margin-top: 20px;
  font-size: 1.3rem;
}

main > .contact .form .child .btn a {
  letter-spacing: 0em;
  padding-bottom: 11px;
  position: relative;
}

@keyframes move_line_contact {
  0%, 100% {
    width: 100%;
    left: 0%;
  }

  50% {
    width: 0%;
    left: 100%;
  }

  50.01% {
    width: 0%;
    left: 0%;
  }
}

main > .contact .form .child .btn a:hover:after {
  animation: move_line_contact 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main > .contact .form .child .btn a:after {
  content: "";
  background-color: #000;
  height: 2px;
  width: 100%;
  position: absolute;
  top: 24px;
  left: 0;
  display: inline-block;
  pointer-events: none;
}

main > .contact .form .child .btn_to_top {
  margin-top: 39px;
}

main > .contact .form .child .btn_to_top a {
  padding-bottom: 8px;
}

main > .contact .form .child ul {
  margin-top: 93px;
}

main > .contact .form .child ul li {
  margin-top: 30px;
  position: relative;
}

main > .contact .form .child ul li div.tit {
  font-size: 1.4rem;
  margin-bottom: 8px;
}

main > .contact .form .child ul li .common_element {
  width: 100%;
  border: 1px solid #d7d7d7;
  border-radius: 0px !important;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  font-size: 1.4rem;
  padding-left: 25px;
  position: relative;
  background: #e6e6e6;
}

main > .contact .form .child ul li.select_row > label {
  position: relative;
}

main > .contact .form .child ul li.select_row > label:after {
  content: "";
  background-image: url(/assets/img/contact/select_arrow.png);
  background-size: contain;
  position: absolute;
  display: inline-block;
  width: 10px;
  height: 9px;
  top: 0;
  right: 30px;
}

main > .contact .form .child ul li.select_row select {
  height: 70px;
}

main > .contact .form .child ul li.select_row select::-ms-expand {
  display: none;
}

main > .contact .form .child ul li.error .message {
  color: #d13135;
  font-size: 1.2rem;
  background-color: #fff;
  display: inline-block;
  border: 1px solid #d13135;
  position: absolute;
  top: 85px;
  left: 29px;
  border-radius: 5px;
  padding: 7px 8px 13px 12px;
  z-index: 2;
  /* beforeで本体の三角を表現 */
}

main > .contact .form .child ul li.error .message:before {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 17px;
  top: -8px;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #d13135;
  border-left: 8px solid transparent;
}

main > .contact .form .child ul li.error .message:after {
  content: '';
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 17px;
  top: -7px;
  border-right: 8px solid transparent;
  border-bottom: 8px solid #fff;
  border-left: 8px solid transparent;
}

main > .contact .form .child ul li.error .message label:before {
  content: "";
  background-image: url("/assets/img/contact/exclamation.png");
  background-size: cover;
  display: inline-block;
  width: 16px;
  height: 16px;
  position: relative;
  top: 3px;
  margin-right: 9px;
}

main > .contact .form .child ul li.error input,
main > .contact .form .child ul li.error textarea,
main > .contact .form .child ul li.error select,
main > .contact .form .child ul li.error input:focus,
main > .contact .form .child ul li.error textarea:focus {
  border: 3px solid #d13135;
  background-color: #fecdd2;
}

main > .contact .form .child ul li.error.textarea_row .message {
  bottom: -17px;
  top: inherit;
}

main > .contact .form .child ul li input[type="text"] {
  width: 100%;
  height: 70px;
}

main > .contact .form .child ul li input[type="text"]:placeholder-shown {
  color: rgba(34, 34, 34, 0.3);
}

main > .contact .form .child ul li input[type="text"]::-webkit-input-placeholder {
  color: rgba(34, 34, 34, 0.3);
}

main > .contact .form .child ul li input[type="text"]:-moz-placeholder {
  color: rgba(34, 34, 34, 0.3);
  opacity: 1;
}

main > .contact .form .child ul li input[type="text"]::-moz-placeholder {
  color: rgba(34, 34, 34, 0.3);
  opacity: 1;
}

main > .contact .form .child ul li input[type="text"]:-ms-input-placeholder {
  color: rgba(34, 34, 34, 0.3);
}

main > .contact .form .child ul li input:focus,
main > .contact .form .child ul li textarea:focus {
  border: 3px solid #212121;
  background-color: #f4f4f4;
}

main > .contact .form .child ul li .message {
  display: none;
}

main > .contact .form .child ul li textarea {
  width: 100%;
  height: 90px;
  resize: none;
  padding: 21px 24px;
}

main > .contact .form .child ul li textarea:placeholder-shown {
  color: rgba(34, 34, 34, 0.3);
}

main > .contact .form .child ul li textarea::-webkit-input-placeholder {
  color: rgba(34, 34, 34, 0.3);
}

main > .contact .form .child ul li textarea:-moz-placeholder {
  color: rgba(34, 34, 34, 0.3);
  opacity: 1;
}

main > .contact .form .child ul li textarea::-moz-placeholder {
  color: rgba(34, 34, 34, 0.3);
  opacity: 1;
}

main > .contact .form .child ul li textarea:-ms-input-placeholder {
  color: rgba(34, 34, 34, 0.3);
}

main > .contact .form .child ul li.checkbox_row {
  padding-top: 18px;
}

main > .contact .form .child ul li.checkbox_row .txt {
  font-size: 1.3rem;
  margin-bottom: 20px;
}

main > .contact .form .child ul li.checkbox_row .check01 {
  display: none;
}

main > .contact .form .child ul li.checkbox_row .check01 + label {
  padding-left: 20px;
  position: relative;
  margin-right: 20px;
}

main > .contact .form .child ul li.checkbox_row .check01 + label:before {
  content: "";
  display: block;
  position: absolute;
  top: -3px;
  left: 3px;
  width: 15px;
  height: 15px;
  border: 1px solid #cccccc;
}

main > .contact .form .child ul li.checkbox_row .check01:checked + label {
  color: #000;
}

main > .contact .form .child ul li.checkbox_row .check01:checked + label:after {
  content: "";
  display: block;
  position: absolute;
  top: -5px;
  left: 5px;
  width: 7px;
  height: 14px;
  transform: rotate(40deg);
  border-bottom: 3px solid #000;
  border-right: 3px solid #000;
}

main > .contact .form .child ul li.checkbox_row .checkbox_txt {
  font-size: 1.4rem;
  color: #252e35;
  font-weight: 500;
}

main > .contact .form .child ul li.checkbox_row .checkbox_txt a {
  border-bottom: 1px solid #252e35;
}

main > .contact .form .child ul li.button_row {
  margin-top: 60px;
}

main > .contact .form .child ul li.button_row button {
  width: 100%;
  color: #fff;
  background-color: #212121;
  height: 78px;
  font-size: 1.6rem;
  font-weight: 600;
  position: relative;
  cursor: pointer;
}

main > .contact .form .child ul li.button_row button:hover:after {
  animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main > .contact .form .child ul li.button_row button:after {
  content: url(/assets/img/common/arrow_left.png);
  display: inline-block;
  transform-origin: left top;
  position: absolute;
  transform: scale(0.5);
  right: -2px;
  top: 32px;
}

main > .contact .form.confirm {
  display: none;
}

main > .contact .form.confirm.show {
  display: block;
}

main > .contact .form.confirm .child ul {
  margin-top: 72px;
}

main > .contact .form.confirm .child ul li {
  display: flex;
  flex-direction: column;
}

main > .contact .form.confirm .child ul li .confirm_box {
  font-size: 1.4rem;
  font-weight: 500;
  color: #080808;
  border: 1px solid #d7d7d7;
  height: 70px;
  text-align: left;
  background-color: #f4f4f4;
  padding: 28px;
}

main > .contact .form.confirm .child ul li.textarea_row .confirm_box {
  padding: 22px 28px;
  line-height: 1.8;
  height: auto;
}

main > .contact .form.confirm .child ul li.button_row .back {
  cursor: pointer;
  margin: 38px auto 0;
  font-size: 1.3rem;
  position: relative;
}

@keyframes move_line_contact {
  0%, 100% {
    width: 100%;
    left: 0%;
  }

  50% {
    width: 0%;
    left: 100%;
  }

  50.01% {
    width: 0%;
    left: 0%;
  }
}

main > .contact .form.confirm .child ul li.button_row .back:hover:after {
  animation: move_line_contact 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main > .contact .form.confirm .child ul li.button_row .back:after {
  content: "";
  position: absolute;
  background-color: #000;
  height: 2px;
  width: 100%;
  top: 20px;
  left: 0;
  display: inline-block;
  pointer-events: none;
}

@media screen and (max-width: 1023px) {
  main > .contact .main_visual {
    height: 350px;
  }

  main > .contact .form .child {
    width: 80%;
  }
}

@media screen and (max-width: 619px) {
  main > .contact .main_visual {
    height: 175px;
  }

  main > .contact .main_visual .child h1 {
    font-size: 1.6rem;
    top: 107px;
  }

  main > .contact .form {
    margin-top: 45px;
    margin-bottom: 200px;
  }

  main > .contact .form .child {
    width: 88%;
  }

  main > .contact .form .child .txt {
    font-size: 1.1rem;
    text-align: justify;
    line-height: 1.9;
    letter-spacing: 0.07em;
  }

  main > .contact .form .child .btn {
    font-size: 1.0rem;
    margin-top: 14px;
  }

  main > .contact .form .child .btn a {
    padding-bottom: 4px;
  }

  main > .contact .form .child .btn a:after {
    height: 1px;
    top: 12px;
  }

  main > .contact .form .child ul {
    margin-top: 44px;
  }

  main > .contact .form .child ul li {
    margin-top: 15px;
  }

  main > .contact .form .child ul li div.tit {
    font-size: 1.1rem;
  }

  main > .contact .form .child ul li .common_element {
    font-size: 1.6rem;
    padding-left: 14px;
  }

  main > .contact .form .child ul li.select_row label:after {
    right: 16px;
    width: 5px;
    height: 5px;
    top: 3px;
  }

  main > .contact .form .child ul li.select_row select {
    height: 40px;
  }

  main > .contact .form .child ul li.error .message {
    font-size: 1rem;
    top: 52px;
    left: 14px;
    padding: 1px 4px 6px 6px;
    /* beforeで本体の三角を表現 */
  }

  main > .contact .form .child ul li.error .message:before {
    left: 10px;
    top: -6px;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #d13135;
    border-left: 6px solid transparent;
  }

  main > .contact .form .child ul li.error .message:after {
    left: 10px;
    top: -5px;
    border-right: 6px solid transparent;
    border-bottom: 6px solid #fff;
    border-left: 6px solid transparent;
  }

  main > .contact .form .child ul li.error .message label:before {
    margin-right: 4px;
  }

  main > .contact .form .child ul li.error input,
  main > .contact .form .child ul li.error textarea,
  main > .contact .form .child ul li.error select,
  main > .contact .form .child ul li.error input:focus,
  main > .contact .form .child ul li.error textarea:focus {
    border-width: 2px;
  }

  main > .contact .form .child ul li input[type="text"] {
    height: 38px;
  }

  main > .contact .form .child ul li input:focus,
  main > .contact .form .child ul li textarea:focus {
    border: 2px solid #212121;
  }

  main > .contact .form .child ul li.checkbox_row {
    padding-top: 13px;
  }

  main > .contact .form .child ul li.checkbox_row .txt {
    font-size: 1.0rem;
  }

  main > .contact .form .child ul li.checkbox_row .checkbox_txt {
    font-size: 1.0rem;
  }

  main > .contact .form .child ul li.button_row {
    margin-top: 32px;
  }

  main > .contact .form .child ul li.button_row button {
    height: 40px;
    font-size: 1.0rem;
  }

  main > .contact .form .child ul li.button_row button:hover:after {
    animation: inherit;
  }

  main > .contact .form .child ul li.button_row button:after {
    transform: scale(0.25);
    right: -32px;
    top: 16px;
  }

  main > .contact .form.confirm .child ul {
    margin-top: 45px;
  }

  main > .contact .form.confirm .child ul li .confirm_box {
    font-size: 1.1rem;
    height: 40px;
    padding: 14px;
  }

  main > .contact .form.confirm .child ul li.button_row .back:after {
    height: 1px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

.modal.privacy_policy {
  line-height: 1.8;
  font-size: 1.6rem;
  font-weight: 600;
  background-image: url("/assets/img/common/bg.jpg");
  z-index: 20001;
  position: fixed;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.modal.privacy_policy .child {
  width: 60%;
  margin: 0 auto 100px;
}

.modal.privacy_policy .child .close_btn {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}

.modal.privacy_policy .child .close_btn img {
  width: 58px;
}

.modal.privacy_policy .child h1 {
  font-size: 3.6rem;
  margin-top: 182px;
}

.modal.privacy_policy .child .date {
  text-align: right;
  margin-top: 50px;
}

.modal.privacy_policy .child p {
  margin-top: 44px;
  line-height: 2.15em;
}

.modal.privacy_policy .child .right {
  text-align: right;
}

.modal.privacy_policy .child ul li {
  margin-top: 100px;
}

.modal.privacy_policy .child ul li .indent {
  margin-left: 30px;
  margin-top: 20px;
}

.modal.privacy_policy .child .address {
  margin-top: 4px;
  line-height: 2.15em;
}

.modal.privacy_policy .child .sub_tit {
  position: relative;
  margin-top: 27px;
}

.modal.privacy_policy .child .sub_tit:before {
  content: "";
  width: 19px;
  height: 2px;
  background: #282626;
  display: inline-block;
  position: relative;
  top: -5px;
  margin-right: 20px;
}

.modal.privacy_policy .child section h2 {
  font-size: 2.6rem;
  margin-top: 82px;
  margin-bottom: 60px;
}

.modal.privacy_policy .child section p {
  margin-top: 30px;
}

@media screen and (max-width: 1023px) {
  .modal.privacy_policy .child {
    width: 90%;
  }
}

@media screen and (max-width: 619px) {
  .modal.privacy_policy .child .close_btn {
    top: 15px;
  }

  .modal.privacy_policy .child .close_btn img {
    width: 36px;
  }

  .modal.privacy_policy .child h1 {
    font-size: 2.6rem;
    margin-top: 91px;
  }

  .modal.privacy_policy .child section h2 {
    font-size: 2.2rem;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

.modal.news_detail {
  background-image: url("/assets/img/common/bg.jpg");
  z-index: 20001;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.modal.news_detail.smooth_on {
  will-change: transform;
}

.modal.news_detail .main_visual {
  width: 1000px;
  margin: 0 auto;
}

.modal.news_detail .main_visual .child {
  position: relative;
}

.modal.news_detail .main_visual .child .sub_tit {
  position: relative;
  color: #808080;
  margin-top: 196px;
}

.modal.news_detail .main_visual .child .sub_tit:before {
  content: "";
  width: 19px;
  height: 2px;
  background: #808080;
  display: inline-block;
  position: relative;
  top: -3px;
  left: 0px;
  margin-right: 20px;
}

.modal.news_detail .main_visual .child .sub_tit .date {
  font-size: 1.1rem;
  font-weight: 600;
}

.modal.news_detail .main_visual .child .sub_tit .date:after {
  content: "";
  width: 1px;
  height: 10px;
  background-color: #808080;
  display: inline-block;
  margin-right: 7px;
  margin-left: 9px;
}

.modal.news_detail .main_visual .child .sub_tit .cate {
  font-size: 1.0rem;
  font-weight: 600;
}

.modal.news_detail .main_visual .child h1 {
  font-size: 3.6rem;
  margin-top: 25px;
  line-height: 1.5;
  letter-spacing: 0.1em;
}

.modal.news_detail .main_visual .child .hand {
  position: absolute;
  z-index: -1;
  top: 710px;
  left: 50%;
  margin-left: -550px;
}

.modal.news_detail .main_visual .child .hand img {
  width: 791.5px;
}

.modal.news_detail .main_visual .child .img {
  width: 1000px;
  margin: 77px auto 0;
}

.modal.news_detail .main_visual .child .img img {
  width: 100%;
}

.modal.news_detail .close_btn {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}

.modal.news_detail .close_btn img {
  width: 58px;
}

.modal.news_detail .contents {
  width: 1000px;
  margin: 90px auto 0;
}

.modal.news_detail .contents .child .chunk {
  width: 75.4%;
  position: relative;
  margin-left: 24.6%;
}

.modal.news_detail .contents .child h2 {
  font-size: 2.6rem;
  line-height: 1.5;
  width: 75.4%;
  margin-left: 24.6%;
}

.modal.news_detail .contents .child h3 {
  font-size: 1.6rem;
  margin-top: 97px;
  width: 75.4%;
  margin-left: 24.6%;
}

.modal.news_detail .contents .child h3:before {
  content: "";
  width: 19px;
  height: 2px;
  background: #282626;
  display: inline-block;
  position: relative;
  top: -3px;
  left: 4px;
  margin-right: 22px;
}

.modal.news_detail .contents .child .txt {
  margin-top: 42px;
  width: 75.4%;
  margin-left: 24.6%;
  font-size: 1.6rem;
  font-weight: 600;
  text-align: justify;
  line-height: 2.15;
  letter-spacing: 0.052em;
}

.modal.news_detail .contents .child .link {
  font-size: 1.3rem;
  font-weight: 600;
  letter-spacing: 0em;
  margin-top: 38px;
  width: 75.4%;
  margin-left: 24.6%;
}

.modal.news_detail .contents .child .link a {
  padding-bottom: 9px;
  border-bottom: 2px solid #252e35;
  display: inline-block;
}

.modal.news_detail .contents .child .img,
.modal.news_detail .contents .child .video {
  width: 1000px;
  margin: 100px auto 0;
}

.modal.news_detail .contents .child .img img,
.modal.news_detail .contents .child .video img {
  width: 100%;
}

.modal.news_detail .contents .child .img iframe,
.modal.news_detail .contents .child .video iframe {
  width: 100%;
}

.modal.news_detail .contents .child .share {
  display: flex;
  margin-top: 92px;
  width: 75.4%;
  margin-left: 24.6%;
}

.modal.news_detail .contents .child .share .share_btn {
  margin-left: 4px;
  margin-right: 11px;
}

.modal.news_detail .contents .child .share .share_btn a {
  transition: box-shadow 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.modal.news_detail .contents .child .share .share_btn i {
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.modal.news_detail .contents .child .share .share_btn:hover i {
  transform: scale(1.2);
}

.modal.news_detail .contents .child .share .btn_fb a {
  color: #4469b0;
  font-size: 1.9rem;
  box-shadow: 0px 0px 0px 1px #4469b0 inset;
  width: 70px;
  height: 70px;
  display: block;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
}

.modal.news_detail .contents .child .share .btn_fb:hover a {
  box-shadow: 0px 0px 0px 4px #4469b0 inset;
}

.modal.news_detail .contents .child .share .btn_tw a {
  color: #2aa3ef;
  font-size: 1.9rem;
  box-shadow: 0px 0px 0px 1px #2aa3ef inset;
  width: 70px;
  height: 70px;
  display: block;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
}

.modal.news_detail .contents .child .share .btn_tw:hover a {
  box-shadow: 0px 0px 0px 4px #2aa3ef inset;
}

.modal.news_detail .latest_news {
  background-color: inherit;
  color: #282626;
}

.modal.news_detail .latest_news .child .sub_txt {
  color: #282626;
}

.modal.news_detail .latest_news .child .sub_txt:before {
  background-color: #282626;
}

.modal.news_detail .latest_news .child ul li a {
  color: #282626;
}

.modal.news_detail .latest_news .child ul li a .cont .date_cate:before {
  background-color: #7e7e7e;
}

.modal.news_detail .latest_news .child ul li a .cont .date_cate .date,
.modal.news_detail .latest_news .child ul li a .cont .date_cate .cate {
  color: #7e7e7e;
}

@media screen and (max-width: 1023px) {
  .modal.news_detail .main_visual {
    width: 100%;
  }

  .modal.news_detail .main_visual .child .sub_tit {
    width: 87%;
    margin: 156px auto 0;
  }

  .modal.news_detail .main_visual .child .sub_tit:before {
    height: 2px;
    width: 20px;
    top: -3px;
    left: -2px;
  }

  .modal.news_detail .main_visual .child .sub_tit .date {
    font-size: 2.0rem;
  }

  .modal.news_detail .main_visual .child .sub_tit .date:after {
    height: 14px;
  }

  .modal.news_detail .main_visual .child .sub_tit .cate {
    font-size: 1.6rem;
  }

  .modal.news_detail .main_visual .child h1 {
    font-size: 4.0rem;
    width: 87%;
    margin: 26px auto 0;
    line-height: 1.4;
  }

  .modal.news_detail .main_visual .child .hand {
    display: none;
  }

  .modal.news_detail .main_visual .child .img {
    width: 100%;
    margin: 70px auto 0;
  }

  .modal.news_detail .contents {
    width: 100%;
    margin: 66px auto 98px;
  }

  .modal.news_detail .contents .child .chunk {
    width: 87%;
    margin: 0 auto;
  }

  .modal.news_detail .contents .child h2 {
    font-size: 3.2rem;
  }

  .modal.news_detail .contents .child h3 {
    margin-top: 80px;
    font-size: 2.4rem;
  }

  .modal.news_detail .contents .child h3:before {
    width: 18px;
    height: 2px;
    top: -5px;
    left: -1px;
    margin-right: 12px;
  }

  .modal.news_detail .contents .child .txt {
    font-size: 2.2rem;
    margin-top: 34px;
    line-height: 1.9;
  }

  .modal.news_detail .contents .child .link {
    font-size: 2.0rem;
    margin-top: 40px;
  }

  .modal.news_detail .contents .child .link a {
    padding-bottom: 8px;
    border-bottom: 2px solid #252e35;
  }

  .modal.news_detail .contents .child .img,
  .modal.news_detail .contents .child .video {
    width: 87%;
    margin: 120px auto 0;
  }

  .modal.news_detail .contents .child .share {
    justify-content: center;
    margin-top: 130px;
    width: auto;
    margin-left: 0;
  }

  .modal.news_detail .contents .child .share .share_btn {
    margin-left: 8px;
    margin-right: 8px;
  }

  .modal.news_detail .contents .child .share .share_btn a {
    width: 90px;
    height: 90px;
  }

  .modal.news_detail .contents .child .share .btn_fb a {
    font-size: 2.4rem;
  }

  .modal.news_detail .contents .child .share .btn_tw a {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 619px) {
  .modal.news_detail .main_visual .child .sub_tit {
    margin: 78px auto 0;
  }

  .modal.news_detail .main_visual .child .sub_tit:before {
    height: 1px;
    width: 10px;
  }

  .modal.news_detail .main_visual .child .sub_tit .date {
    font-size: 1.0rem;
  }

  .modal.news_detail .main_visual .child .sub_tit .date:after {
    height: 7px;
  }

  .modal.news_detail .main_visual .child .sub_tit .cate {
    font-size: 1.0rem;
  }

  .modal.news_detail .main_visual .child h1 {
    font-size: 2.0rem;
    margin: 13px auto 0;
  }

  .modal.news_detail .main_visual .child .img {
    margin: 35px auto 0;
  }

  .modal.news_detail .close_btn {
    top: 15px;
  }

  .modal.news_detail .close_btn img {
    width: 36px;
  }

  .modal.news_detail .contents {
    margin: 33px auto 49px;
  }

  .modal.news_detail .contents .child h2 {
    font-size: 1.6rem;
  }

  .modal.news_detail .contents .child h3 {
    margin-top: 40px;
    font-size: 1.2rem;
  }

  .modal.news_detail .contents .child h3:before {
    width: 9px;
    height: 1px;
    top: -5px;
    left: -1px;
    margin-right: 12px;
  }

  .modal.news_detail .contents .child .txt {
    font-size: 1.4rem;
    font-weight: 500;
    margin-top: 17px;
  }

  .modal.news_detail .contents .child .link {
    font-size: 1.0rem;
    margin-top: 20px;
  }

  .modal.news_detail .contents .child .link a {
    padding-bottom: 4px;
    border-bottom: 1px solid #252e35;
  }

  .modal.news_detail .contents .child .img,
  .modal.news_detail .contents .child .video {
    margin: 60px auto 0;
  }

  .modal.news_detail .contents .child .share {
    margin-top: 65px;
  }

  .modal.news_detail .contents .child .share .share_btn {
    margin-left: 4px;
    margin-right: 4px;
  }

  .modal.news_detail .contents .child .share .share_btn a {
    width: 45px;
    height: 45px;
  }

  .modal.news_detail .contents .child .share .btn_fb a {
    font-size: 1.2rem;
  }

  .modal.news_detail .contents .child .share .btn_tw a {
    font-size: 1.2rem;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

.modal.episode_detail,
.modal.miura {
  background-image: url("/assets/img/common/bg.jpg");
  z-index: 20001;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.modal.episode_detail .main_visual .child .hand,
.modal.miura .main_visual .child .hand {
  position: absolute;
  z-index: -1;
  top: 757px;
  right: 0;
}

.modal.episode_detail .main_visual .child .hand img,
.modal.miura .main_visual .child .hand img {
  width: 223.5px;
}

.modal.episode_detail .main_visual .child .img,
.modal.miura .main_visual .child .img {
  width: 89%;
  margin: 90px auto 0;
}

.modal.episode_detail .main_visual .child .img img,
.modal.miura .main_visual .child .img img {
  width: 100%;
}

.modal.episode_detail .main_visual .child .num,
.modal.miura .main_visual .child .num {
  font-size: 5.0rem;
  font-weight: 600;
  position: relative;
  left: 50%;
  margin-left: -374px;
  margin-top: -103px;
  letter-spacing: 0em;
  background-color: #fff;
  display: inline-block;
  top: -70px;
  line-height: 0.8;
}

.modal.episode_detail .main_visual .child h1,
.modal.miura .main_visual .child h1 {
  width: 740px;
  position: relative;
  left: 50%;
  margin-left: -377px;
  font-size: 4.4rem;
  top: -50px;
  line-height: 1.4;
  letter-spacing: 0.1em;
  z-index: 1;
}

.modal.episode_detail .main_visual .child h1:before,
.modal.miura .main_visual .child h1:before {
  content: "";
  background-color: #fff;
  width: 98.3%;
  height: 92%;
  top: 8px;
  left: 0;
  position: absolute;
  z-index: -1;
}

.modal.episode_detail .main_visual .child .profile,
.modal.miura .main_visual .child .profile {
  position: relative;
  left: 53.7%;
  width: 28%;
  margin-top: 37px;
}

.modal.episode_detail .main_visual .child .profile .job_tit,
.modal.miura .main_visual .child .profile .job_tit {
  position: relative;
  font-size: 1.3rem;
  font-weight: 600;
}

.modal.episode_detail .main_visual .child .profile .job_tit:before,
.modal.miura .main_visual .child .profile .job_tit:before {
  content: "";
  width: 19px;
  height: 2px;
  background: #808080;
  display: block;
  position: absolute;
  top: 4px;
  left: -39px;
}

.modal.episode_detail .main_visual .child .profile .nm,
.modal.miura .main_visual .child .profile .nm {
  font-size: 2.0rem;
  font-weight: 600;
  margin-top: 17px;
  letter-spacing: .1em;
}

.modal.episode_detail .main_visual .child .profile .txt,
.modal.miura .main_visual .child .profile .txt {
  font-size: 1.3rem;
  font-weight: 600;
  margin-top: 25px;
  line-height: 1.9;
}

.modal.episode_detail .main_visual .child .profile .rank,
.modal.miura .main_visual .child .profile .rank {
  font-size: 1.4rem;
  font-weight: 600;
  color: #fff;
  padding: 4px 18px 6px;
  display: inline-block;
  letter-spacing: 0.0em;
  margin-top: 13px;
}

.modal.episode_detail .close_btn,
.modal.miura .close_btn {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}

.modal.episode_detail .close_btn img,
.modal.miura .close_btn img {
  width: 58px;
}

.modal.episode_detail section:first-of-type .child,
.modal.miura section:first-of-type .child {
  margin-top: 151px;
}

.modal.episode_detail section .child,
.modal.miura section .child {
  display: block;
  margin-top: 100px;
}

.modal.episode_detail section .child .item h3,
.modal.miura section .child .item h3 {
  font-size: 2.6rem;
  margin-top: 78px;
  line-height: 1.5;
  letter-spacing: 0.08em;
}

.modal.episode_detail section .child .item .txt,
.modal.miura section .child .item .txt {
  font-size: 1.6rem;
  margin-top: 41px;
  line-height: 2.15;
}

.modal.episode_detail section .child .item .img img,
.modal.miura section .child .item .img img {
  width: 100%;
}

.modal.episode_detail .sec .child .item:first-child,
.modal.miura .sec .child .item:first-child {
  width: 50%;
  margin: 0 auto;
}

.modal.episode_detail .sec .child .item:nth-child(2),
.modal.miura .sec .child .item:nth-child(2) {
  width: 50%;
  margin: 0 auto;
}

.modal.episode_detail .sec_rev .child,
.modal.miura .sec_rev .child {
  flex-direction: row-reverse;
}

.modal.episode_detail .sec_rev .child .item:first-child,
.modal.miura .sec_rev .child .item:first-child {
  width: 50%;
  margin: 0 auto;
}

.modal.episode_detail .sec_rev .child .item:nth-child(2),
.modal.miura .sec_rev .child .item:nth-child(2) {
  padding-left: 0%;
  width: 50%;
  margin: 0 auto;
}

.modal.episode_detail .sec_rev .child .item h3,
.modal.miura .sec_rev .child .item h3 {
  margin-top: 133px;
}

.modal.episode_detail .links,
.modal.miura .links {
  font-size: 1.6rem;
}

.modal.episode_detail .links .share,
.modal.miura .links .share {
  display: flex;
  margin-top: 234px;
  justify-content: center;
}

.modal.episode_detail .links .share .share_btn,
.modal.miura .links .share .share_btn {
  margin-left: 4px;
  margin-right: 11px;
}

.modal.episode_detail .links .share .share_btn a,
.modal.miura .links .share .share_btn a {
  transition: box-shadow 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.modal.episode_detail .links .share .share_btn i,
.modal.miura .links .share .share_btn i {
  transition: transform 300ms;
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
}

.modal.episode_detail .links .share .share_btn:hover i,
.modal.miura .links .share .share_btn:hover i {
  transform: scale(1.2);
}

.modal.episode_detail .links .share .btn_fb a,
.modal.miura .links .share .btn_fb a {
  color: #4469b0;
  font-size: 1.9rem;
  box-shadow: 0px 0px 0px 1px #4469b0 inset;
  width: 70px;
  height: 70px;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
}

.modal.episode_detail .links .share .btn_fb:hover a,
.modal.miura .links .share .btn_fb:hover a {
  box-shadow: 0px 0px 0px 4px #4469b0 inset;
}

.modal.episode_detail .links .share .btn_tw a,
.modal.miura .links .share .btn_tw a {
  color: #2aa3ef;
  font-size: 1.9rem;
  box-shadow: 0px 0px 0px 1px #2aa3ef inset;
  width: 70px;
  height: 70px;
  text-align: center;
  vertical-align: middle;
  display: table-cell;
}

.modal.episode_detail .links .share .btn_tw:hover a,
.modal.miura .links .share .btn_tw:hover a {
  box-shadow: 0px 0px 0px 4px #2aa3ef inset;
}

.modal.episode_detail .links .link,
.modal.miura .links .link {
  text-align: center;
  margin-top: 83px;
  margin-bottom: 150px;
}

.modal.episode_detail .links .link .txt,
.modal.miura .links .link .txt {
  font-weight: 600;
}

.modal.episode_detail .links .link .btn,
.modal.miura .links .link .btn {
  width: 74.5%;
  background-color: #282626;
  display: inline-block;
  margin-top: 45px;
  font-weight: 600;
  font-size: 1.6rem;
}

.modal.episode_detail .links .link .btn a,
.modal.miura .links .link .btn a {
  width: 100%;
  color: #fff;
  padding: 29px 50px 32px;
  display: inline-block;
  position: relative;
}

.modal.episode_detail .links .link .btn a:hover:after,
.modal.miura .links .link .btn a:hover:after {
  animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.modal.episode_detail .links .link .btn a:after,
.modal.miura .links .link .btn a:after {
  content: url(/assets/img/common/arrow_left.png);
  display: inline-block;
  transform-origin: left top;
  position: absolute;
  transform: scale(0.5);
  right: 0;
  top: 33px;
}

@media screen and (max-width: 1023px) {
  .modal.episode_detail .main_visual .child .img,
  .modal.miura .main_visual .child .img {
    width: 100%;
    margin: 84px auto 0;
  }

  .modal.episode_detail .main_visual .child h1,
  .modal.miura .main_visual .child h1 {
    font-size: 4.0rem;
    width: 88%;
    position: relative;
    margin: 0 auto;
    left: 0;
    top: -72px;
    line-height: 1.3;
  }

  .modal.episode_detail .main_visual .child h1:before,
  .modal.miura .main_visual .child h1:before {
    width: 99%;
    height: 99%;
    top: 2px;
  }

  .modal.episode_detail .main_visual .child .num,
  .modal.miura .main_visual .child .num {
    margin-left: 0;
    left: 6%;
    font-size: 6.2rem;
    margin-top: 59px;
  }

  .modal.episode_detail .main_visual .child .profile,
  .modal.miura .main_visual .child .profile {
    left: 0;
    margin: -17px auto 0;
    width: 88%;
  }

  .modal.episode_detail .main_visual .child .profile .job_tit,
  .modal.miura .main_visual .child .profile .job_tit {
    font-size: 2.0rem;
  }

  .modal.episode_detail .main_visual .child .profile .job_tit:before,
  .modal.miura .main_visual .child .profile .job_tit:before {
    width: 20px;
    height: 2px;
    display: inline-block;
    position: relative;
    top: -5px;
    left: 1px;
    margin-right: 23px;
  }

  .modal.episode_detail .main_visual .child .profile .nm,
  .modal.miura .main_visual .child .profile .nm {
    font-size: 2.6rem;
    margin-left: 46px;
    margin-top: 18px;
  }

  .modal.episode_detail .main_visual .child .profile .txt,
  .modal.miura .main_visual .child .profile .txt {
    font-size: 2.2rem;
    margin-top: 22px;
    line-height: 1.5;
    margin-left: 48px;
  }

  .modal.episode_detail .main_visual .child .profile .rank,
  .modal.miura .main_visual .child .profile .rank {
    font-size: 2.0rem;
    margin-left: 50px;
    margin-top: 20px;
    padding: 4px 20px 4px;
  }

  .modal.episode_detail section:first-of-type .child,
  .modal.miura section:first-of-type .child {
    margin-top: 120px;
  }

  .modal.episode_detail section .child,
  .modal.miura section .child {
    margin-top: 94px;
    display: block;
  }

  .modal.episode_detail section .child .item h3,
  .modal.miura section .child .item h3 {
    font-size: 3.2rem;
    margin-top: 86px;
  }

  .modal.episode_detail section .child .item .txt,
  .modal.miura section .child .item .txt {
    font-size: 2.2rem;
    margin-top: 30px;
    line-height: 1.9;
  }

  .modal.episode_detail .sec .child .item:first-child,
  .modal.miura .sec .child .item:first-child {
    width: 100%;
  }

  .modal.episode_detail .sec .child .item:nth-child(2),
  .modal.miura .sec .child .item:nth-child(2) {
    width: 88%;
    margin: 0 auto;
    padding-left: 0;
  }

  .modal.episode_detail .sec_rev .child,
  .modal.miura .sec_rev .child {
    flex-direction: column;
  }

  .modal.episode_detail .sec_rev .child .item:first-child,
  .modal.miura .sec_rev .child .item:first-child {
    width: 100%;
    margin: 0 auto;
    padding-left: 0;
  }

  .modal.episode_detail .sec_rev .child .item:nth-child(2),
  .modal.miura .sec_rev .child .item:nth-child(2) {
    width: 88%;
    margin: 0 auto;
    padding-right: 0;
  }

  .modal.episode_detail .sec_rev .child .item h3,
  .modal.miura .sec_rev .child .item h3 {
    margin-top: 84px;
  }

  .modal.episode_detail .links .share,
  .modal.miura .links .share {
    justify-content: center;
    margin-top: 130px;
  }

  .modal.episode_detail .links .share .share_btn,
  .modal.miura .links .share .share_btn {
    margin-left: 8px;
    margin-right: 8px;
  }

  .modal.episode_detail .links .share .share_btn a,
  .modal.miura .links .share .share_btn a {
    width: 90px;
    height: 90px;
  }

  .modal.episode_detail .links .share .btn_fb a,
  .modal.miura .links .share .btn_fb a {
    font-size: 2.4rem;
  }

  .modal.episode_detail .links .share .btn_tw a,
  .modal.miura .links .share .btn_tw a {
    font-size: 2.4rem;
  }

  .modal.episode_detail .links .link,
  .modal.miura .links .link {
    margin-top: 72px;
  }

  .modal.episode_detail .links .link .txt,
  .modal.miura .links .link .txt {
    font-size: 2.2rem;
  }

  .modal.episode_detail .links .link .btn,
  .modal.miura .links .link .btn {
    font-size: 2.0rem;
    margin-top: 50px;
  }

  .modal.episode_detail .links .link .btn a,
  .modal.miura .links .link .btn a {
    padding: 26px 50px 28px;
  }

  .modal.episode_detail .links .link .btn a:after,
  .modal.miura .links .link .btn a:after {
    transform: scale(0.5);
    right: 0px;
    top: 32px;
  }
}

@media screen and (max-width: 619px) {
  .modal.episode_detail .main_visual .child .img,
  .modal.miura .main_visual .child .img {
    margin: 42px auto 0;
  }

  .modal.episode_detail .main_visual .child h1,
  .modal.miura .main_visual .child h1 {
    font-size: 2.0rem;
    top: -55px;
    line-height: 1.3;
  }

  .modal.episode_detail .main_visual .child .num,
  .modal.miura .main_visual .child .num {
    font-size: 3.1rem;
    margin-top: 59px;
  }

  .modal.episode_detail .main_visual .child .profile,
  .modal.miura .main_visual .child .profile {
    left: 0;
    margin: -17px auto 0;
    width: 88%;
  }

  .modal.episode_detail .main_visual .child .profile .job_tit,
  .modal.miura .main_visual .child .profile .job_tit {
    font-size: 1.0rem;
  }

  .modal.episode_detail .main_visual .child .profile .job_tit:before,
  .modal.miura .main_visual .child .profile .job_tit:before {
    width: 10px;
    height: 1px;
    top: -5px;
    left: 1px;
    margin-right: 13px;
  }

  .modal.episode_detail .main_visual .child .profile .nm,
  .modal.miura .main_visual .child .profile .nm {
    font-size: 1.3rem;
    margin-left: 23px;
    margin-top: 9px;
  }

  .modal.episode_detail .main_visual .child .profile .txt,
  .modal.miura .main_visual .child .profile .txt {
    font-size: 1.1rem;
    margin-top: 11px;
    margin-left: 24px;
  }

  .modal.episode_detail .main_visual .child .profile .rank,
  .modal.miura .main_visual .child .profile .rank {
    font-size: 1.0rem;
    margin-left: 25px;
    margin-top: 10px;
    padding: 2px 10px 2px;
  }

  .modal.episode_detail .close_btn,
  .modal.miura .close_btn {
    top: 15px;
  }

  .modal.episode_detail .close_btn img,
  .modal.miura .close_btn img {
    width: 36px;
  }

  .modal.episode_detail section:first-of-type .child,
  .modal.miura section:first-of-type .child {
    margin-top: 60px;
  }

  .modal.episode_detail section .child,
  .modal.miura section .child {
    margin-top: 47px;
  }

  .modal.episode_detail section .child .item h3,
  .modal.miura section .child .item h3 {
    font-size: 1.6rem;
    margin-top: 43px;
  }

  .modal.episode_detail section .child .item .txt,
  .modal.miura section .child .item .txt {
    font-size: 1.4rem;
    font-weight: 500;
    margin-top: 15px;
  }

  .modal.episode_detail .sec_rev .child .item h3,
  .modal.miura .sec_rev .child .item h3 {
    margin-top: 42px;
  }

  .modal.episode_detail .links .share,
  .modal.miura .links .share {
    margin-top: 65px;
  }

  .modal.episode_detail .links .share .share_btn,
  .modal.miura .links .share .share_btn {
    margin-left: 4px;
    margin-right: 4px;
  }

  .modal.episode_detail .links .share .share_btn a,
  .modal.miura .links .share .share_btn a {
    width: 45px;
    height: 45px;
  }

  .modal.episode_detail .links .share .btn_fb a,
  .modal.miura .links .share .btn_fb a {
    font-size: 1.2rem;
  }

  .modal.episode_detail .links .share .btn_tw a,
  .modal.miura .links .share .btn_tw a {
    font-size: 1.2rem;
  }

  .modal.episode_detail .links .link,
  .modal.miura .links .link {
    margin-top: 36px;
  }

  .modal.episode_detail .links .link .txt,
  .modal.miura .links .link .txt {
    font-size: 1.1rem;
  }

  .modal.episode_detail .links .link .btn,
  .modal.miura .links .link .btn {
    font-size: 1.0rem;
    margin-top: 25px;
  }

  .modal.episode_detail .links .link .btn a,
  .modal.miura .links .link .btn a {
    padding: 13px 36px 14px;
  }

  .modal.episode_detail .links .link .btn a:hover:after,
  .modal.miura .links .link .btn a:hover:after {
    animation: inherit;
  }

  .modal.episode_detail .links .link .btn a:after,
  .modal.miura .links .link .btn a:after {
    transform: scale(0.25);
    right: -32px;
    top: 16px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

.modal.dormitory {
  background-image: url("/assets/img/common/bg.jpg");
  z-index: 20001;
  position: fixed;
  width: 100%;
  top: 0;
  left: 0;
  overflow-y: auto;
}

.modal.dormitory .main_visual {
  width: 1000px;
  margin: 0 auto;
}

.modal.dormitory .main_visual .child h1 {
  font-size: 3.6rem;
  text-align: center;
  padding-top: 190px;
}

.modal.dormitory .main_visual .child .txt {
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 86px;
  width: 75%;
  line-height: 2.15;
  margin: 89px auto 0;
  text-align: justify;
}

.modal.dormitory .main_visual .child .img {
  margin: 70px auto 0;
  width: 1000px;
}

.modal.dormitory .main_visual .child .img img {
  width: 100%;
}

.modal.dormitory .list ul {
  display: flex;
  width: 1000px;
  margin: 41px auto 0;
  flex-wrap: wrap;
}

.modal.dormitory .list ul li {
  font-size: 1.3rem;
  width: 50%;
  margin-top: 48px;
}

.modal.dormitory .list ul li:nth-child(even) img {
  margin-left: 15px;
}

.modal.dormitory .list ul li:nth-child(even) .nm {
  margin-left: 15px;
}

.modal.dormitory .list ul li img {
  width: 485px;
}

.modal.dormitory .list ul li .nm {
  margin-top: 17px;
}

.modal.dormitory .list .txt {
  font-size: 1.6rem;
  font-weight: 600;
  width: 750px;
  padding-bottom: 85px;
  margin: 85px auto 0;
  line-height: 2.15;
  text-align: justify;
}

.modal.dormitory .close_btn {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate3d(-50%, 0, 0);
}

.modal.dormitory .close_btn img {
  width: 58px;
}

@media screen and (max-width: 1023px) {
  .modal.dormitory .main_visual {
    width: 100%;
  }

  .modal.dormitory .main_visual .child h1 {
    font-size: 3.2rem;
  }

  .modal.dormitory .main_visual .child .img {
    width: 88%;
    margin: 74px auto 0;
  }

  .modal.dormitory .main_visual .child .txt {
    font-size: 2.2rem;
    width: 89%;
    margin: 54px auto 0;
    line-height: 1.9;
  }

  .modal.dormitory .list ul {
    display: block;
    width: 100%;
  }

  .modal.dormitory .list ul li {
    width: 87%;
    margin: 58px auto 0;
  }

  .modal.dormitory .list ul li:nth-child(even) img {
    margin-left: 0;
  }

  .modal.dormitory .list ul li:nth-child(even) .nm {
    margin-left: 0;
  }

  .modal.dormitory .list ul li img {
    width: 100%;
  }

  .modal.dormitory .list ul li .nm {
    font-size: 2.2rem;
    margin-top: 10px;
  }

  .modal.dormitory .list .txt {
    font-size: 2.2rem;
    width: 87%;
  }
}

@media screen and (max-width: 619px) {
  .modal.dormitory .main_visual .child h1 {
    font-size: 1.6rem;
    top: -55px;
    line-height: 1.3;
    margin: 0 auto;
    padding-top: 84px;
  }

  .modal.dormitory .main_visual .child .img {
    margin: 37px auto 0;
  }

  .modal.dormitory .main_visual .child .txt {
    font-size: 1.1rem;
    margin: 27px auto 0;
  }

  .modal.dormitory .list ul li {
    margin: 29px auto 0;
  }

  .modal.dormitory .list ul li .nm {
    font-size: 1.1rem;
    margin-top: 5px;
  }

  .modal.dormitory .list .txt {
    font-size: 1.1rem;
  }

  .modal.dormitory .close_btn {
    top: 15px;
  }

  .modal.dormitory .close_btn img {
    width: 36px;
  }
}
/*
 * Mixin for placeholder
 * @include placeholderColor(#00ff00);
 */

main > .error .main_visual {
  color: #fff;
  top: 0;
  width: 100vw;
  height: 330px;
  background-image: url("/assets/img/news/mv.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center top;
  z-index: -1;
}

main > .error .main_visual .child h1 {
  position: absolute;
  left: 50%;
  top: 220px;
  transform: translateX(-50%);
  font-size: 2.6rem;
  letter-spacing: .1em;
}

main > .error .contents {
  width: 750px;
  margin: 147px auto 350px;
}

main > .error .contents h3 {
  font-size: 2.2rem;
  letter-spacing: 0.1em;
}

main > .error .contents .txt {
  font-size: 1.6rem;
  font-weight: 600;
  margin-top: 46px;
  letter-spacing: 0.03em;
  line-height: 1.6;
}

main > .error .contents .btn {
  font-size: 1.4rem;
  margin-top: 38px;
  position: relative;
  font-weight: 600;
  display: inline-block;
}

main > .error .contents .btn a {
  color: #fff;
  display: inline-block;
  padding: 13px 80px 19px 23px;
  background-color: #282626;
  white-space: nowrap;
}

main > .error .contents .btn a:hover:after {
  animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

main > .error .contents .btn a:after {
  content: url("/assets/img/common/arrow_left.png");
  display: inline-block;
  transform-origin: left top;
  transform: scale(0.5);
  position: relative;
  top: 8px;
  left: 86px;
}

@media screen and (min-width: 1024px) {
  main > .error .contents .btn a:hover:after {
    animation: move_arrow 0.35s cubic-bezier(0.25, 0.46, 0.45, 0.94);
  }
}

@media screen and (max-width: 1023px) {
  main > .error .main_visual {
    height: 350px;
  }

  main > .error .contents {
    width: 80%;
  }
}

@media screen and (max-width: 619px) {
  main > .error .main_visual {
    height: 175px;
  }

  main > .error .main_visual .child h1 {
    font-size: 1.6rem;
    top: 107px;
  }
}