@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:wght@600;700&family=Noto+Sans+JP:wght@400..900&family=Reddit+Sans:wght@600&family=Zen+Old+Mincho:wght@700&display=swap');
:root {
  --color-bg1: #f7f3e4;
  --color-black: #1a1a1a;
  --color-black2: #4d4d4d;
  --color-red: #9b1a1a;
  --color-base: #72aaaa;
  --color-hm: #e39b54;
  --color-bs: #6f9bbf;
  --color-gold: #a29c5d;
  --font-Gothic: 'Noto Sans JP', sans-serif;
  --font-Mincho: "Zen Old Mincho", serif;
  --font-En: "Josefin Sans", 'Noto Sans JP', sans-serif;
  --font-En2: "Reddit Sans", 'Noto Sans JP', sans-serif;
  --pc-100: calc(100/1400*100vw);
  --pc-76: calc(76/1400*100vw);
  --pc-r10: calc(10/16*1rem);
  --pc-r20: calc(20/16*1rem);
  --pc-r50: calc(50/16*1rem);
}
/* Rest
-----------------------------------------------------------------------*/
html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, address, cite, del, em, img, small, strike, sub, sup, b, u, i, center, dl, dt, dd, ol, ul, li, form, label, table, caption, tbody, tfoot, thead, tr, th, td, article, main, aside, canvas, details, embed, figure, figcaption, footer, header, menu, nav, section, time, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  font: inherit;
  vertical-align: baseline;
  box-sizing: border-box;
}
*::before, *::after {
  box-sizing: border-box;
}
article, main, aside, details, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}
body {
  line-height: 1;
  background: #FFF;
  -webkit-text-size-adjust: 100%;
  -ms-text-size-adjust: 100%;
  visibility: hidden;
  transition: opacity 0.1s ease;
  opacity: 0;
}
body.view {
  opacity: 1;
  visibility: visible;
}
article {
  z-index: 1;
  position: relative;
}
ol, ul {
  list-style: none;
}
sup {
  vertical-align: super;
  font-size: .5em;
}
blockquote, q {
  quotes: none;
}
blockquote:before, blockquote:after, q:before, q:after {
  content: '';
  content: none;
}
table {
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}
img {
  margin: 0;
  padding: 0;
  vertical-align: bottom;
  width: 100%;
}
hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #888888;
  margin: 4em 0;
  padding: 0;
}
li {
  list-style: none;
}
address {
  font-style: normal;
}
input[type="submit"], input[type="button"], input[type="reset"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration, input[type="button"]::-webkit-search-decoration, input[type="reset"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus, input[type="button"]::focus, input[type="reset"]::focus {
  outline-offset: -2px;
}
a {
  text-decoration: underline;
  outline: none;
}
a:hover, a:active {
  text-decoration: none;
}
a {
  transition: opacity 0.3s ease, background 0.3s ease, filter 0.3s ease, transform 0.3s ease;
}
a[href^='tel:'], a[href^='mailto:'] {
  color: inherit;
  text-decoration: none;
}
/* font */
html {
  height: 100%;
  font-size: 62.5%;
  font-size: 16px;
}
body {
  color: var(--color-black);
  font-family: var(--font-Gothic);
  font-size: 16px;
  font-weight: 400;
  line-height: 2;
  background: #ffffff;
  height: 100%;
  -webkit-highlight: none;
  -webkit-tap-highlight-color: transparent;
  -webkit-user-select: text;
  -webkit-text-size-adjust: 100%;
  -webkit-overflow-scrolling: touch;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -moz-font-smoothing: antialiased;
  font-smoothing: antialiased;
}
@media screen and (min-width: 1400px) {
  html,
  body {
    font-size: calc(16/1400*100vw);
  }
}
@media screen and (max-width: 767px) {
  html,
  body {
    font-size: calc(28/750*100vw);
    line-height: 2.07;
  }
}
a {
  color: var(--color-black);
}
/*parts*/
.fs-s {
  font-size: calc(15/16*1rem);
  line-height: 1.8;
}
.fs-l {
  font-size: calc(18/16*1rem);
}
.note {
  font-size: calc(14/16*1rem);
}
ul.note li {
  text-indent: -1em;
  padding-left: 1em;
}
.tx-en {
  font-family: var(--font-En);
  font-weight: 700;
}
.tx-en .tx-ja {
  font-size: 82.89%;
  display: inline-block;
  font-weight: 900;
  transform: translateY(-7.5%)
}
.tx-ja {
  font-family: var(--font-Gothic);
}
.tx-hm {
  color: var(--color-hm);
}
.tx-bs {
  color: var(--color-bs);
}
.tx-red {
  color: var(--color-red);
}
.tx-dots {
  background-image: url(../images/icon_dot01_red.svg);
  background-position: top right;
  background-repeat: repeat-x; 
  background-size: 1em .25em;
  padding-top: .4em;
}
.tx-label {
  border-radius: calc(5/16*1rem);
	background: var(--color-hm);
	color: #fff;
	font-size: calc(12/16*1rem);
  font-weight: 400;
	line-height: 2;
	display: table;
	margin: 0 auto .7em;
	padding: 0 .7em;
}
.tx-label.tx-bs {
	background-color: var(--color-bs);
}
.inline-block {
  display: inline-block;
}
.inner {
  padding: 0 calc(76/1400*100vw);
}
.inner2 {
  padding: 0;
  margin: 0 calc(-176/1400*100vw);
}
.ic-arrow {
  border-radius: 50%;
  font-size: 1em;
  background: url("../images/icon_arrow01.svg") 50% 50% no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
  position: absolute;
  display: block;
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
  transition: all 0.3s ease;
}
.ic-arrow2 {
	background: #fff;
	width: 2em;
	height: 1px;
  position: absolute;
	display: inline-block;
  top: 50%;
  margin-left: 1em;
}
.ic-arrow2::after {
  content: '';
	width: 1px;
	height: .5em;
  border: 0px;
	background: #fff;
  transform: rotate(-45deg) translateY(-100%);
  transform-origin: right top;
  position: absolute;
	display: block;
  top: 50%;
  right: 0;
}
.ic-check {
  background: url("../images/icon_check01.svg") 50% 50% no-repeat;
  background-size: contain;
  width: .9375em;
  height: 1.33em;
  display: inline-block;
  margin-right: .3em;
  transform: translateY(.2em);
  vertical-align: baseline;
}
.ic-blank {
  background: url("../images/icon_blank01.svg") 50% 50% no-repeat;
  background-size: contain;
  width: 1em;
  height: 1em;
  position: absolute;
  display: inline-block;
  margin-left: .3em;
  transform: translateY(.3em);
}
[class^='btn-link'] {
  color: var(--color-black);
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
}
[class^='btn-link']:hover {
  filter: brightness(1.2);
}
[class^='text-link'] {
  text-decoration: none;
  display: inline-block;
  position: relative;
}
[class^='text-link'] .ic-arrow {
  right: 0;
  width: 80px;
  background-color: var(--color-black);
}
[class^='text-link']:hover {
  filter: brightness(1.2);
}
.text-link01 {
  border-bottom: 1px solid #696b6b;
}
.text-link01[target='_blank'] .ic-blank {
  display: inline-block;
  position: relative;
  vertical-align: middle;
  right: 0;
  margin-left: 1.5em;
}
.text-link01[target='_blank'] {
  padding-right: 0;
}
@media screen and (max-width: 767px) {
  .inner {
    padding: 0 calc(50/750*100vw);
  }
  .inner2 {
    padding: 0;
  }
  .fs-s {
    font-size: calc(26/28*1rem);
  }
  .fs-l {
    font-size: calc(30/28*1rem);
  }
  .note {
    font-size: calc(26/28*1rem);
  }
  .tx-label {
    font-size: calc(24/28*1rem);
  }
  [class^='btn-link'] {
    font-size: 14px;
    height: 65px;
  }
  [class^='text-link'] {
  }
  [class^='text-link'] .ic-arrow {
    width: 76px;
  }
  .text-link01[target='_blank'] .ic-blank {
    margin-left: .5em;
  }
}
ul.btn li, .btn {
  position: relative;
}
ul.btn li {
  max-width: 500px;
  margin: auto;
}
.btn-link01 {
  font-size: calc(14/16*1rem);
  border-radius: 9999em;
  border: 1px solid #4c4c4c;
  width: calc(136/16*1rem);
  height: calc(36/16*1rem);
  line-height: 1.4;
  padding: 0 1.2em;
  justify-content: flex-start;
}
.btn-link01 .ic-blank {
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  margin: 0;
}
.btn-link02 {
  font-weight: 600;
  border-radius: calc(10/16*1rem);
  border: 1px solid #4c4c4c;
  width: calc(450/16*1rem);
  height: calc(80/16*1rem);
  line-height: 1.6;
}
.btn-link02 .fs-s {
  font-size: calc(15/16*1em);
  font-weight: 500;
}
.btn-link03 {
  font-weight: 600;
  font-size: calc(15/16*1em);
  border-radius: calc(10/16*1rem);
  background: var(--color-gold);
  color: #fff;
  width: calc(450/16*1rem);
  height: calc(80/16*1rem);
  line-height: 1.6;
  margin: 0 auto;
}
.btn-link03 .ic-arrow {
  background-image: url("../images/icon_arrow01_white.svg");
}
.btn-link03 .ic-blank {
  background-image: url("../images/icon_blank01_white.svg");
}
.btn-entry {
  background: var(--color-red);
  color: #ffffff !important;
  text-decoration: none;
  display: flex !important;
  justify-content: center;
  align-items: center;
  text-align: center;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
.btn-entry::after {
	animation: 8s 0s shine linear infinite;
	background: linear-gradient(to right, rgba(255,255,255,0) 25%, rgba(255,255,255,.6) 50%, rgba(255, 255, 255, 0) 75%);
	content: '';
	height: 100%;
	left: -100%;
	position: absolute;
	top: 0;
	transform: skewX(-15deg);
	width: 100%;
}
@keyframes shine {
	5%,100% {
		left: 100%;
	}
}
.-btn-entry:hover,
.btn-entry:hover {
  filter: brightness(1.2);
}
.btn-entry-b {
  background-color: #001961;
}
.link-banner {
  display: table;
  margin: calc(80/1400*100vw) auto 0;
}
.link-banner li + li {
  margin-top: calc(15/1400*100vw);
}
@media screen and (max-width: 767px) {
  ul.btn li {
    max-width: none;
    margin: auto;
  }
  .link-banner {
    margin: calc(120/750*100vw) auto 0;
  }
  .link-banner li + li {
    margin-top: calc(15/750*100vw);
  }
  .btn-link01 {
    font-size: calc(26/750*100vw);
    width: calc(270/750*100vw);
    height: calc(72/750*100vw);
  }
  .btn-link02 {
    font-size: calc(30/750*100vw);
    border-radius: calc(15/750*100vw);
    width: calc(650/750*100vw);
    height: calc(200/750*100vw);
  }
  .btn-link03 {
    font-size: calc(28/750*100vw);
    border-radius: calc(15/750*100vw);
    width: calc(500/750*100vw);
    height: calc(120/750*100vw);
  }
}
.sec-movie {
  max-width: 900px;
  margin: auto;
}
.mvBox {
  position: relative;
  padding-bottom: 56%;
  height: 0;
  overflow: hidden;
}
.mvBox iframe,
.mvBox video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 768px) {
	.sec-imgscroll {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
    align-items: flex-start;
	}
  .sec-imgscroll .img {
    overflow: hidden;
    position: sticky;
    top: 0;
  }
}
.slide-toggle {
  position: relative;
  margin: 0;
}
.slide-toggle a {
  text-decoration: none;
  background: 0 0 no-repeat;
  background-size: 100% 100%;
  color: #fff;
  display: flex;
}
.slide-toggle .label {
  font-size: 14px;
  line-height: 1.6;
}
.slide-toggle a::before, .slide-toggle a::after {
  content: "";
  border-radius: 9999em;
  background: #ffffff;
  width: 32px;
  height: 2px;
  right: 20px;
  top: 50%;
  position: absolute;
  display: block;
  transition: all 0.3s ease;
}
.slide-toggle a::after {
  transform: rotate(90deg);
}
.slide-toggle.slide-active a::after {
  transform: rotate(0deg);
}
.slide-toggle-area {
  display: none;
  padding: 1px;
  position: relative;
}
@media screen and (min-width: 768px) {
  .display-sp {
    display: none !important;
  }
}
@media screen and (max-width: 767px) {
  .display-pc {
    display: none !important;
  }
  .slide-toggle h3 {
  }
  .slide-toggle .label {
  }
  .slide-toggle a::before, .slide-toggle a::after {
    width: calc(32/750*100vw);
    height: calc(4/750*100vw);
    right: calc(10/750*100vw);
  }
}
/*#container*/
#container {
	overflow: clip;
}
/*#header*/
#header {
  width: 100%;
  position: absolute;
  position: fixed;
  transform: translate3d(0, 0, 0);
  top: 0;
  left: 0;
  z-index: 100;
  transition: top .5s ease-in;
}
#header a {
  display: block;
  color: var(--color-black);
  text-decoration: none;
}
.header_logo .recruit span {
  display: inline-block;
  vertical-align: middle;
}
.page-home #container > .header_logo a {
  position: relative;
  z-index: 2;
}
.page-home #container > .header_logo::before {
  content: "";
  width: calc(276/1400*100vw);
  height: calc(72/1400*100vw);
  border-radius: 50%;
  filter: blur(calc(23/1400*100vw));
  background: #e9bba4;
	mix-blend-mode: overlay;
  display: block;
  left: 50%;
  top: 50%;
  position: absolute;
  z-index: 2;
  opacity: .4;
  transform: translate(-50%,-50%)
}
#hmenu-overlay {
  position:fixed;height:100%;width:100%;z-index:5;
  background: rgba(255,255,255,.50);
    left: 0;
    top: 0;
  opacity: 0;
  transition: opacity 0.3s;
  pointer-events: none;
}
.hmenu-active #hmenu-overlay {
  opacity: 1;
  transition-delay: .2s;
  pointer-events: auto;
}
#header .nav-menu01 .coming .tx-en {
  color: #ffffff;
  background: #000000;
  padding: 3px .8em 2px;
}
#header .head_down {
  position: absolute;
  width: 590px;
  right: 0;
  top: 0;
  z-index: 105;
	-webkit-overflow-scrolling: touch;
  overflow-y: scroll;
  max-height: 100vh;
  max-height: 100dvh;
  transition: all 0.3s ease;
  transform: translateX(100%);
	pointer-events: none;
	scrollbar-width: none;
}
#header .head_down .inner {
  border-top-left-radius: 70px;
  border-bottom-left-radius: 70px;
  background: #ffffff;
  padding: 0 80px 60px;
  margin: 0;
}
.hmenu-active #header .head_down {
	transform: translateX(0);
	pointer-events: auto;
}
#header .head_down .header_logo {
  position: relative;
}
#header .head_down .ic-blank {
  transform: translateY(.6em);
  margin-left: .5em;
}
#header .head_down .nav-menu01 {
  font-size: 14px;
  margin: 0 0 18px;
}
#header .head_down .nav-menu01 .tx-en {
  font-size: calc(30/14*1em);
  color: var(--color-black);
}
#header .head_down .nav-menu01 li {
  line-height: 1.2;
}
#header .head_down .nav-menu01 li + li {
  margin-top: 34px;
}
#header .head_down .nav-menu01 li a {
  display: block;
  color: var(--color-red);
  position: relative;
  padding-left: calc(35/14*1em);
}
#header .head_down .nav-menu01 li a::before {
  content: "";
  display: block;
  position: absolute;
  font-size: calc(26/14*1em);
  width: 1em;
  height: 1em;
  background: url("../images/icon_star01.svg") 0 0 no-repeat;
  background-size: contain;
  left: 0;
  top: 0em;
  transition: 0.1s all 1s ease-in;
}
#header .head_down .nav-menu01 li.-border a {
  border: 1px solid var(--color-gold);
  border-radius: 10px;
  padding-top: 1.5em;
  padding-bottom: 1.5em;
}
#header .head_down .nav-menu01 li.-border a::before {
  display: none;
}
#header .head_down .link-banner {
  margin: 0 0 18px;
}
#header .head_down .link-banner li + li  {
  margin-top: 18px;
}
#header .head_down .nav-menu02 {
  font-size: 15px;
  margin: 0 0 30px;
}
#header .head_down .nav-menu02 li + li {
  margin-top: 18px;
}
#header .head_down .nav-menu02 li a {
  border-radius: 10px;
  position: relative;
  overflow: hidden;
  background-color: var(--color-gold);
  height: 60px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  text-align: center;
}
#header .head_down .nav-menu02 li .ic-blank {
  background-image: url("../images/icon_blank01_white.svg");
}
#header .head_down .nav-menu02 li.nav-other a {
}
#header .head_down .nav-menu03 li + li {
  margin-top: 18px;
}
#header .head_down .nav-menu03 li a {
  font-size: 36px;
  height: 120px;
  border-radius: 10px;
  position: relative;
  overflow: hidden;
}
#header .head_down .nav-menu03 li .tx-en {
  display: inline-block;
  line-height: 1;
  transform: translateY(.1em);
}
#header .head_down ul:not(.link-banner) a:hover {
  filter: brightness(1.2);
}
#header .head_up .entry {
  position: absolute;
  top: calc(35/1400*100vw);
  right: calc(96/1400*100vw);
  top: 32px;
  top: 25px;
  right: 96px;
  display: flex;
}
#header .head_up .-btn-entry {
  background: var(--color-red);
  border-radius: calc(10/22*1em);
}
#header .head_up .btn-entry {
  border-radius: calc(10/22*1em);
  background-color: transparent;
  font-size: 22px;
  font-size: calc(22px*1.1);
  height: calc(56/22*1em);
  width: calc(128/22*1em);
  font-weight: 500;
  line-height: 1;
  z-index: 2;
}
#header .head_up .entry .btn-entry .tx-en {
  font-family: var(--font-En2);
  font-weight: 600;
  color: #fff;
}
#header .head_up .entry .-btn-entry + .-btn-entry {
  margin-left: 2%;
}
.header_logo {
  height: calc(120/1400*100vw);
  height: 108px;
  display: flex;
  align-items: center;
  margin-left: calc(25/1400*100vw);
  margin-left: 56px;
  text-align: center;
  position: absolute;
  z-index: 5;
}
.header_logo .mrh {
  width: 109px;
  display: inline-block;
  vertical-align: middle;
}
.header_logo .recruit {
  font-size: 14px;
  font-weight: 500;
  line-height: 1.23;
  display: inline-block;
  margin: 0 1em;
  vertical-align: middle;
}
#header .menu_open {
  background: rgba(255, 255, 255, .60);
  font-size: 56px;
  font-size: calc(56px*1.1);
  border-radius: calc(10/56*1em);
  width: 1em;
  height: 1em;
  top: 32px;
  right: 32px;
  top: 25px;
  right: 25px;
  position: absolute;
  display: block;
  cursor: pointer;
  z-index: 110;
  padding: calc(18/56*1em) calc(14/56*1em);
}
 #header .menu_open:before, #header .menu_open:after {
  transition: all 0.3s ease;
}
#header .menu_open span {
  border-radius: 9999em;
  width: calc(20/56*100%);
  height: 2px;
  background: #404040;
  display: block;
  position: absolute;
  top: 50%;
  transition: all 0.1s ease;
}
#header .menu_open:before {
  content: "";
  border-radius: 9999em;
  width: calc(28/56*100%);
  height: 2px;
  background: #404040;
  display: block;
  position: absolute;
  transform-origin: left bottom;
}
#header .menu_open:after {
  content: "";
  border-radius: 9999em;
  width: calc(11/56*100%);
  height: 2px;
  background: #404040;
  display: block;
  position: absolute;
  top: calc(38/56*100%);
  transform-origin: left top;
}
.hmenu-active #header .menu_open span {
  transform: scaleX(0);
}
.hmenu-active #header .menu_open:before {
  transform: rotate(27deg) translateY(-50%);
  width: calc(31/56*100%);
  top: calc(21/56*100%);
}
.hmenu-active #header .menu_open:after {
  transform: rotate(-27deg) translateY(50%);
  width: calc(31/56*100%);
  top: calc(34/56*100%);
}
.lock {
  overflow: hidden;
}
.lock #container {
  overflow-y: scroll;
}
.lock #header {
  height: 100vh;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
@media screen and (min-width: 768px) {
  #header .head_down .header_logo {
    margin-left: 12px;
  }
}
@media screen and (max-width: 767px) {
  .page-home #container > .header_logo::before {
    width: 100vw;
    height: calc(358/750*100vw);
    border-radius: 0;
    filter: none;
    background: url("../images/header_bg01sp.png") 0 0 no-repeat;
    background-size: contain;
    mix-blend-mode: normal;
    left: calc(-32/750*100vw);
    top: 0%;
    opacity: 1;
    transform: none;
  }
  .header_logo {
    width: calc(131/750*100vw);
    height: calc(160/750*100vw);
    margin-left: calc(32/750*100vw);
  }
  .header_logo .mrh {
    width: calc(131/750*100vw);
    display: block;
  }
  .header_logo .recruit {
    font-size: calc(18/750*100vw);
    display: block;
    margin: .5em -1em 0;
  }
  #header .menu_open {
    border-radius: calc(10/750*100vw);
    width: calc(96/750*100vw);
    height: calc(96/750*100vw);
    top: calc(32/750*100vw);
    right: calc(32/750*100vw);
    padding: calc(32/750*100vw) calc(22/750*100vw);
  }
  #header .menu_open::before {
    width: calc(52/750*100vw);
    height: calc(4/750*100vw);
  }
  #header .menu_open span {
    width: calc(37/750*100vw);
    height: calc(4/750*100vw);
  }
  #header .menu_open::after {
    width: calc(20/750*100vw);
    height: calc(4/750*100vw);
  }
  #header .head_down {
		width: 100%;
	}
  #header .head_down .inner {
    padding: 0 calc(70/750*100vw) calc(80/750*100vw);
    border-radius: 0;
  }
  #header .head_down .header_logo {
    margin-left: calc(-38/750*100vw);
  }
  #header .head_up .entry {
    right: calc(138/750*100vw);
    top: calc(32/750*100vw);
  }
  #header .head_up .entry .btn-entry {
    border-radius: calc(10/750*100vw);
    font-size: calc(32/750*100vw);
    width: calc(180/750*100vw);
    height: calc(96/750*100vw);
  }
  #header .head_down .nav-menu01 li a {
      padding-left: calc(50 / 26 * 1em);
  }
  #header .head_down .nav-menu01 li a::before {
    font-size: calc(40 / 26 * 1em);
  }
  #header .head_down .nav-menu01 {
    font-size: calc(26/750*100vw);
    margin-bottom: calc(30/750*100vw);
  }
  #header .head_down .nav-menu01 .tx-en {
    font-size: calc(42/26*1em);
    letter-spacing: -0.02em;
  }
  #header .head_down .nav-menu01 li + li {
    margin-top: calc(70/750*100vw);
  }
  #header .head_down .nav-menu02 li + li,
  #header .head_down .nav-menu03 li + li {
    margin-top: calc(30/750*100vw);
  }
  #header .head_down .nav-menu02 {
    font-size: calc(26/750*100vw);
    margin-bottom: calc(50/750*100vw);
  }
  #header .head_down .nav-menu01 li.-border a,
  #header .head_down .nav-menu02 li a,
  #header .head_down .nav-menu03 li a {
    border-radius: calc(15/750*100vw);
  }
  #header .head_down .nav-menu02 li a {
    height: calc(88/750*100vw);
  }
  #header .head_down .nav-menu03 li a {
    font-size: calc(50/750*100vw);
    height: calc(180/750*100vw);
  }
}
/* page-nav */
.page-nav {
  width: calc(910/1400*100vw);
  width: calc(910/14*1em);
  border: 1px solid var(--color-gold);
  border-radius: 9999em;
  font-size: min(14/1048*100vw, 14/16*1em);
  line-height: 1.4;
  margin: calc(100/1400*100vw) auto 0;
}
.ti01 + .page-nav {
  margin-top: calc(280/1400*100vw);
}
.page-nav.colum-2 {
  width: calc(800/1400*100vw);
  width: calc(800/14*1em);
}
.page-nav > ul {
  display: flex;
  justify-content: space-between;
  text-align: center;
}
.page-nav > ul > li {
  width: 100%;
}
.page-nav > ul > li a {
  text-decoration: none;
  color: var(--color-black);
  display: block;
  padding: 1.5em 1em 2em;
  position: relative;
}
.page-nav > ul > li a::after {
  content: "";
  width: calc(8/14*1em);
  height: calc(12/14*1em);
  background: url("../images/icon_arrow01_red.svg") 0 0 no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  bottom: .8em;
  left: 50%;
  transform: translateX(-50%) rotate(90deg);
  transition: transform 0.2s ease;
}
.page-nav > ul > li a:hover::after {
  transform: translateX(-50%) translateY(20%) scale(1.5) rotate(90deg);
}
.page-nav > ul > li + li {
  border-left: 1px solid rgba(208,205,174,.50);
}
@media screen and (max-width: 767px) {
  .page-nav {
    border-radius: calc(30/750*100vw);
    width: auto !important;
    font-size: 1em;
    margin: calc(110/750*100vw) calc(70/750*100vw) 0;
    padding: 0 calc(38/750*100vw);
  }
  .page-nav > ul {
    flex-direction: column;
  }
  .page-nav > ul > li + li {
    border-left: none;
    border-top: 1px solid rgba(208,205,174,.50);
  }
  .page-nav > ul > li a {
    text-align: left;
    height: calc(112/28*1em);
    display: flex;
    align-items: center;
    padding: 0 .5em;
  }
  .page-nav > ul > li a::after {
    top: 50%;
    right: .5em;
    bottom: auto;
    left: auto;
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.2s ease;
  }
}
/*#footer*/
#footer {
  clear: both;
  position: relative;
  z-index: 2;
  background-color: #fff;
}
#footer .footer-bg {
  height: calc(300/1400*100vw);
  display: block;
  position: relative;
  z-index: 2;
}
#footer .footer-bg::before {
  content: "";
  width: calc(843/1400*100vw);
  height: calc(146/1400*100vw);
  background: url("../images/ft_tx01.svg") 0 0 no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 100%;
  right: calc(9/1400*100vw);
  transform: translateY(calc(-104/146*100%));
}
#footer a {
  text-decoration: none;
}
#footer .pagetop {
  position: absolute;
  right: calc(27/16*1em);
  right: calc(27/1400*100vw);
  transform-origin: right top;
  transform: rotate(90deg) translateX(-28%);
  z-index: 5;
}
#footer .pagetop a {
  font-size: calc(15/1400*100vw);
  color: #fff;
  text-decoration: none;
  z-index: 5;
  padding-left: calc(60/15*1em);
  padding-top: .2em;
  display: block;
}

#footer .pagetop .icon-pagetop {
  background: #fff;
  mask: url("../images/icon_pagetop.svg") 50% 50% / 100% auto no-repeat;
  width: calc(18/15*1em);
  height: calc(52/15*1em);
  display: block;
  position: absolute;
  z-index: -1;
  top: 44%;
  left: 1.2em;
  transform: translateY(-50%) rotate(-90deg);
}
#footer .pagetop .icon-pagetop::after {
  content: "";
  width: 100%;
  height: 100%;
  background: rgba(216,206,147,1.00);
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  transform: translateX(0%);
  transform-origin: left top;
  animation: scrollBar 2.5s infinite 
cubic-bezier(.165, .84, .44, 1);
}
@keyframes scrollBar {
    0% {
  transform: scaleY(.6) translateY(120%);
    }

    5% {
  transform: scaleY(1.2) translateY(30%);
    }

    100% {
  transform: scaleY(0) translateY(0%);
    }
}
@media screen and (max-width: 767px) {
  #footer .pagetop {
    right: calc(15/28*1em);
  }
  #footer .pagetop a {
    font-size: calc(24/750*100vw);
  }
  #footer .pagetop a:hover::after {
    border-width: 3px;
  }
}
#footer .text {
  margin: 0 60px 5px;
  text-align: center;
}
#footer .text .note {
  margin: auto;
  display: table;
}
#footer .nav-menu02 {
  clear: both;
  background: center top no-repeat;
  background-size: cover;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  margin: 0 auto;
}
#footer .nav-menu02 li {
  font-size: calc(14/16*1em);
  font-weight: 500;
  margin: 0 calc(28/16*1em) calc(28/16*1em);
  position: relative;
}
#footer .nav-menu02 .tx-en {
  font-size: calc(32/14*1em);
  color: var(--color-black);
}
#footer .nav-menu02 a {
  border-radius: calc(20/14*1em);
  border: 1px solid var(--color-gold);
  background-color: rgba(255, 255, 255, .80);
  color: var(--color-red);
  ;
  text-decoration: none;
  width: calc(424/14*1em);
  height: calc(112/14*1em);
  display: flex;
  justify-content: center;
  align-items: flex-start;
  flex-direction: column;
  text-align: center;
  line-height: 1.2;
  padding: 0 2em;
  position: relative;
}
#footer .nav-menu02 a::after {
  content: "";
  width: calc(10/14*1em);
  height: calc(14/14*1em);
  background: url("../images/icon_arrow01_gold.svg") 0 0 no-repeat;
  background-size: contain;
  display: block;
  position: absolute;
  top: 50%;
  right: calc(16/14*1em);
  transform: translateY(-50%);
  transform-origin: left;
  transition: transform 0.2s ease;
}
#footer .nav-menu02 a .ic-arrow, #footer .nav-menu02 a .ic-arrow::after {
  background-color: #fff;
}
#footer .nav-menu02 a:hover {
  background-color: #fff;
}
#footer .nav-menu02 a:hover::after {
  transform: translateY(-50%) translateX(20%) scale(1.5);
}
#footer .nav-menu02 a:hover .ic-arrow, #footer .nav-menu02 a:hover .ic-arrow::after {
  background-color: #0080C5;
}
#footer .nav-menu03 {
  line-height: 1.4;
}
#footer .nav-menu03 li a {
  font-size: 13px;
  color: #4c4c4c;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  #footer .nav-menu02 {
    background-image: url("../images/ft_bg01.jpg");
    padding: 168px 0 140px;
  }
  #footer .nav-menu03 {
    height: 115px;
    margin: 0 4vw;
    display: flex;
    align-items: center;
  }
  #footer .nav-menu03 li {
    margin: 0 40px 0 0;
  }
  #footer .nav-menu03 li + li {
    border-left: 1px solid var(--color-black2);
    padding-left: 40px;
  }
  #footer .nav-menu03 li.copy {
    border: none;
    font-size: 12px;
    margin: 0 0 0 auto;
    padding: 0;
  }
  #footer .nav-menu03 li.copy span {
    display: inline-block;
  }
  #footer .nav-menu04 {
    padding: 120px 0 70px;
  }
  #footer .nav-menu04 ul {
    display: flex;
    justify-content: center;
    margin: 0 25px;
  }
  #footer .nav-menu04 li {
    width: 500px;
    margin: 0 12.5px 25px;
  }
}
@media screen and (max-width: 767px) {
  #footer {
    text-align: center;
  }
  #footer .footer-bg {
    height: calc(300/750*100vw);
  }
  #footer .footer-bg::before {
    width: calc(742/750*100vw);
    height: calc(178/750*100vw);
    right: calc(4/750*100vw);
    transform: translateY(calc(-90/178*100%));
  }
  #footer .text {
    text-align: left;
    margin: 0 60px 5px 30px;
  }
  #footer .nav-menu01 {
    background: #f9f8f1;
    padding: 40px 0 17px;
    font-size: 14px;
    line-height: 23px;
  }
  #footer .nav-menu01 .tx-en {
    font-size: 12px;
  }
  #footer .nav-menu01 .coming .tx-en {
    color: #ffffff;
    background: #000000;
    padding: 3px .8em 2px;
  }
  #footer .nav-menu01 > li {
    font-size: 14px;
    margin: 0 38px 33px;
    position: relative;
  }
  #footer .nav-menu01 > li > a {
    width: 950px;
    height: 50px;
    display: table-cell;
    vertical-align: middle;
  }
  #footer .nav-menu01 > li > a:after {
    content: "";
    position: absolute;
    width: 5px;
    height: 100%;
    display: block;
    top: 0;
    right: -32px;
    transition: all 0.3s ease;
  }
  #footer .nav-menu01 > li > a:hover:after {
    background: #bc0000;
  }
  #footer .nav-menu01 li .ic-arrow {
    border-color: #000000;
  }
  #footer .nav-menu02 {
    background-image: url("../images/ft_bg01_sp.jpg");
    padding: calc(180/750*100vw) 0 calc(130/750*100vw);
  }
  #footer .nav-menu02 li {
    margin: 0 0 calc(50/750*100vw);
  }
  #footer .nav-menu02 .tx-en {
    font-size: calc(42/22*1em);
  }
  #footer .nav-menu02 a {
    width: calc(540/750*100vw);
    height: calc(170/750*100vw);
    font-size: calc(22/750*100vw);
  }
  #footer .nav-menu02 a::after {
    width: calc(15/750*100vw);
    height: calc(21/750*100vw);
  }
  #footer .login_btn {}
  #footer .login_btn li {
    position: relative;
  }
  #footer .login_btn a {
    font-size: 14px;
    line-height: 1.4;
    width: 950px;
    height: 227px;
  }
  #footer .login_btn a .tx-en {
    font-size: 43px;
    margin: .1em auto .2em;
  }
  #footer .login_btn .ic-arrow {
    margin-top: 15px;
  }
  #footer .nav-menu03 {
    padding: calc(90/750*100vw) calc(50/750*100vw) calc(70/750*100vw);
  }
  #footer .nav-menu03 li {
    margin: 0 0 calc(70/750*100vw);
    position: relative;
  }
  #footer .nav-menu03 li a {
    font-size: calc(22/750*100vw);
    display: block;
    text-align: left;
    padding: 0 .5em;
  }
  #footer .nav-menu03 .copy {
    border-top: 1px solid var(--color-black2);
    text-align: left;
    font-size: calc(20/750*100vw);
    margin: calc(10/750*100vw) 0 0;
    padding-top: calc(60/750*100vw);
  }
  #footer .nav-menu03 .copy span {
    display: block;
  }
}
/* ti */
.ti01 {
  font-size: calc(18/16*1em);
  font-weight: 600;
  line-height: 1.4;
  color: var(--color-red);
  margin: 0 calc(100/1400*100vw);
}
.ti01 .tx-en {
  font-size: calc(76/18*1em);
  font-weight: 700;
  color: var(--color-black);
  padding-left: 0;
  display: block;
  position: relative;
  line-height: 1.16;
  margin-left: -.1rem;
  margin-bottom: .2rem;
}
.ti02 {
  font-size: calc(38/16*1em);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 1.3em;
}
.ti02 .tx-en {
  font-size: calc(14/38*1em);
  font-weight: 400;
  color: var(--color-red);
  margin-bottom: 1em;
  display: block;
}
.ti03 {
  font-size: calc(28/16*1em);
  font-weight: 700;
  line-height: 1.2;
  margin: 0 0 50px;
}
.ti04 {
  font-size: calc(18/16*1em);
  font-weight: 700;
  line-height: 1.6;
  margin: 2.22em 0 1em;
}
.ti04::before {
  content: '●';
  color: var(--color-hm);
}
.ti05 {
  font-weight: 700;
}
.ti06 {
  font-size: calc(20/16*1em);
  font-weight: 700;
  line-height: 1.6;
  margin: 4em 0 1em;
  text-align: center;
}
.ti03 + .ti06 {
  margin-top: 3em;
}
.ti07 {
  border-radius: calc(5/16*1rem);;
  background-color: var(--color-gold);
  color: #fff;
  font-size: calc(22/16*1em);
  font-weight: 700;
  line-height: 1.6;
  margin: calc(80/22*1em) auto;
  padding: .35em 1em;
  display: table;
  text-align: center;
}
.ti07.tx-hm {
  background-color: var(--color-hm);
}
.ti08 {
  font-size: calc(15/16*1em);
  font-weight: 500;
}
.ti09 {
  font-size: calc(22/16*1em);
  font-weight: 600;
  color: var(--color-gold);
  line-height: 1.63;
}
.ti10 {
  font-size: calc(22/16*1em);
  font-weight: 700;
  background-color: var(--color-gold);
  color: #fff;
  line-height: 1.63;
  margin: calc(140/1400*100vw) 0 calc(30/1400*100vw);
  padding: .2em .5em .4em;
  text-align: center;
}
.ti11 {
  font-size: calc(26/16*1em);
  font-weight: 700;
  background-color: #a29c5d;
  color: #fff;
  line-height: 1.63;
  margin: calc(90/26*1em) 0 calc(30/26*1em);
  padding: .6em 1em ;
  text-align: left;
  position: relative;
}
.ti11::before {
  content: "";
  width: 100%;
  height: calc(100% - calc(4/26*1em));
  border-top: calc(3/26*1em) solid #fbf1dd;
  border-bottom: calc(3/26*1em) solid #fbf1dd;
  font-size: calc(26/16*1em);
  display: block;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
}
.ti12 {
  font-size: calc(18/16*1em);
  font-weight: 700;
  line-height: 1.6;
  margin: -1em 0 2.5em;
}
@media screen and (max-width: 767px) {
  .ti01 {
    font-size: calc(28/28*1em);
  }
  .ti01 .tx-en {
    font-size: calc(84/28*1em);
  }
  .ti02 {
    font-size: calc(46/28*1em);
    margin: 0 0 calc(80/46*1em);
  }
  .ti02 .tx-en {
    font-size: calc(18/46*1em);
  }
  .ti03 {
    font-size: calc(40/28*1em);
    margin: 0 0 50px 10px;
  }
  .ti03 .tx-en {
    font-size: 36px;
  }
  .ti04 {
    font-size: calc(32/28*1em);
    border-bottom-width: 1px;
    margin: 25px 0 12px;
  }
  .ti06 {
    font-size: calc(30/28*1em);
    margin-top: 3em;
  }
  .ti03 + .ti06 {
    margin-top: 2em;
  }
  .ti07 {
    font-size: calc(32/28*1em);
  }
  .ti08 {
    font-size: calc(28/28*1rem);
  }
  .ti09 {
    font-size: calc(36/28*1rem);
  }
  .ti10 {
    font-size: calc(30/28*1rem);
  }
  .ti11 {
    font-size: calc(34/28*1rem);
    margin: calc(140/34*1em) 0 calc(25/34*1em);
    padding: 1.2em 1em;
  }
  .ti12 {
    font-size: calc(28/28*1rem);
  }
}
.text p + p {
  margin-top: 2.25em;
}
/* sec-content01 */
.sec-content01 {
  margin-top: calc(120/1400*100vw);
  padding: calc(76/1400*100vw) calc(100/1400*100vw);
  padding: 0 calc(100/1400*100vw);
  position: relative;
}
.sec-content01:first-of-type {
  padding-top: calc(108/1400*100vw);
  padding-top: 108px;
}
.sec-content01.-bg {
  padding-top: calc(80/1400*100vw);
  padding-bottom: calc(80/1400*100vw);
}
.sec-content01-bg {
  background: #fbf1dd;
}
.sec-content01 .lead {
  font-size: calc(30/16*1em);
  font-weight: 600;
  line-height: 1.66;
  padding: calc(70/30*1em) 0 calc(84/30*1em);
  position: relative;
}
.sec-content01 .text-wide {
  margin: 0 -100px 100px;
}
@media screen and (max-width: 767px) {
  .sec-content01 {
    margin-top: calc(230/750*100vw);
    padding: 0;
  }
  .sec-content01:first-of-type {
    padding-top: calc(160/750*100vw);
  }
  .sec-content01.-bg {
    padding-top: calc(120/750*100vw);
    padding-bottom: calc(120/750*100vw);
  }
  .sec-title01 + .sec-content01.-bg {
    margin-top: calc(150/750*100vw);
  }
  .sec-content01-bg {
  }
  .sec-content01 .lead {
    font-size: calc(32/750*100vw);
    margin-bottom: calc(27/750*100vw);
    padding: calc(75/750*100vw) 0 calc(75/750*100vw);
  }
  .sec-content01 .text-wide {
    margin: 0 -6.66vw 50px;
    padding: 0 .5em;
  }
}
.sec-title {
  margin-top: 0;
  padding-top: 0%;
  padding-bottom: calc(220/1400*100vw);
}
.sec-title01 {
  margin-top: 0;
  padding-top: 0%;
  padding-bottom: calc(60/1400*100vw)
}
.ti01 {
  margin: calc(150/1400*100vw) 0 0 0;
  position: relative;
  z-index: 1;
}
.ti01::before {
  content: "";
  display: block;
  position: absolute;
  font-size: calc(60/18*1em);
  width: 1em;
  height: 1em;
  background: url("../images/icon_star01.svg") 0 0 no-repeat;
  background-size: contain;
  left: -1em;
  top: -1em;
  transition: 0.5s all 1s ease-in;
}

.sec-top.js-scroll-ani .ti01::before {
  opacity: 0;
  transform: scale(0);
  transition: all .5s ease-in;
}
.sec-top.js-scroll-ani.is-animated .ti01::before {
  opacity: 1;
  transform: scale(1);
}
.sec-title01 h1.ti03 {
  margin: 90px 0 50px -50px;
}
.sec-title01 h1.ti03::before {
  display: none;
}
.sec-title01 .text01 {
  max-width: calc(436/1400*100vw);
}
.sec-title01 .text02 {
  max-width: calc(598/1400*100vw);
  margin: 0 0 calc(100/1400*100vw) auto;
  position: relative;
}
.sec-title01 .text02 .lead {
  padding: 0;
}
.sec-title01 .lead {
  font-size: calc(15/16*1em);
  font-weight: normal;
  line-height: 2;
}
.sec-title01 .img {
  margin: calc(126/1400*100vw) calc(134/1400*100vw) calc(140/1400*100vw);
}
.sec-title01 .img figcaption {
  margin-top: 1.5em;
  text-align: center;
}
.sec-title02 {
  background: 50% 50% no-repeat;
  background-size: cover;
  height: 405px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  margin: 0 0 50px;
}
.sec-title02 .ti {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.5;
  background: #fff;
  display: table;
  margin: auto;
  padding: .03em .5em .14em;
}
.sec-title02 .tx-en {
  font-size: 60px;
  line-height: 1.43;
}
.sec-title02 + .text {
  margin: auto;
  display: table;
}
.sec-title03 {
  max-height: 100svh;
  margin: 0;
  padding: 0;
}
.sec-title03 .ti {
  font-size: calc(46/1400*100vw);
  font-weight: 700;
  position: absolute;
  left: calc(24/1400*100vw);
  bottom: calc(24/1400*100vw);
  line-height: calc(80/46);
  z-index: 1;
}
.sec-title03 .ti .inline-block {
  display: table;
  position: relative;
  overflow: hidden;
}
.sec-title03 .ti .inline-block::before {
  content: "";
  width: 100%;
  height: 90%;
  display: block;
	background-color: rgba(255,255,255,0.8);
  z-index: -1;
  position: absolute;
  left: 0;
  bottom: 5%;
}
.sec-title03 .ti .inline-block > span {
  display: block;
  overflow: hidden;
  padding: 0 .5em;
  white-space: nowrap;
}
.sec-title03.js-scroll-ani .ti .inline-block > span {
	transition: .2s transform ease;
  transform: translateY(100%);
}
.sec-title03.js-scroll-ani .ti .inline-block::before {
	transition: .2s transform ease;
  transform: scaleX(0);
  transform-origin: left;
}
.sec-title03.js-scroll-ani.is-animated .ti .inline-block > span {
  transform: translateY(0);
}
.sec-title03.js-scroll-ani.is-animated .ti .inline-block::before {
  transform: scaleX(1);
}
.sec-title03 .ti .inline-block:nth-child(1) > span {
  transition-delay: .5s;
}
.sec-title03 .ti .inline-block:nth-child(2) > span {
  transition-delay: .6s;
}
.sec-title03 .ti .inline-block:nth-child(3) > span {
  transition-delay: .7s;
}
.sec-title03 .ti .inline-block:nth-child(1)::before {
  transition-delay: .2s;
}
.sec-title03 .ti .inline-block:nth-child(2)::before {
  transition-delay: .3s;
}
.sec-title03 .ti .inline-block:nth-child(3)::before {
  transition-delay: .4s;
}
@media screen and (min-width: 768px) {
  .sec-title01 .column {
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
  }
  .sec-title01 .column .mainimg {
    width: calc(810/1400*100vw);
    margin-top: -108px;
    margin-right: calc(-100/1400*100vw);
  }
  .sec-title01 .column .mainimg img {
    border-bottom-left-radius: calc(200/1400*100vw);
  }
  .sec-title01 .column .inner {
    padding: 0;
  }
}
@media screen and (max-width: 767px) {
  .sec-title01 {
    padding-top: 0;
  }
  .ti01 {
    margin: calc(240 / 750 * 100vw) calc(72 / 750 * 100vw) calc(220 / 750 * 100vw);
  }
  .ti01::before {
    font-size: calc(65/28*1em);
  }
  .sec-title01 h1.ti03 {
    font-size: 15px;
    margin: 70px 0 50px 0;
  }
  .sec-title01 .column .mainimg {
    margin-left: calc(20/750*100vw);
  }
  .sec-title01 .column .mainimg img {
    border-top-left-radius: calc(100/750*100vw);
    border-bottom-left-radius: calc(100/750*100vw);
  }
  .sec-title01 .column .ti01 {
    margin-top: calc(90/750*100vw);
    margin-bottom: calc(100/750*100vw);
  }
  .sec-title01 .column .lead {
    padding-bottom: 0;
  }
  
  .sec-title03 .ti {
    font-size: calc(46/750*100vw);
    left: calc(20/750*100vw);
    bottom: calc(69/750*100vw);
    line-height: calc(86/46);
  }
}
@media screen and (max-width: 767px) {
  
  .sec-title01 .text01 {
    max-width: none;
  }
  .sec-title01 .text02 {
    max-width: none;
    margin: 0 0 calc(120/750*100vw);
  }
  .sec-title01 .text02 .lead {
    padding: 0;
  }
  .sec-title01 .lead {
    font-size: 1em;
  }
  .sec-title01 .img {
    margin: calc(110/750*100vw) 0 calc(180/750*100vw);
  }
  .sec-title01 .img figcaption {
    font-size: calc(26/750*100vw);
  }
  .sec-title02 {
    height: 230px;
    margin: 0 0 50px;
  }
  .sec-title02 .ti {
    font-size: 15px;
  }
  .sec-title02 .tx-en {
    font-size: 36px;
  }
}
.bg01 {
  position: absolute;
  width: calc(620/1400*100vw);
  height: calc(620/1400*100vw);
  right: 0;
  top: 0;
  display: block;
  z-index: -1;
  /*clip-path: shape(
    from 0 0,
    line to 100% 0,
    line to 100% 100%,
    arc to 0 0 of 100%,
    close
  );*/
  overflow: hidden;
}
.bg01::before{
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/bg_overlay.png") 0 0 repeat-x;
  background-size: calc(1117/1400*100vw) auto;
	mix-blend-mode: overlay;
  display: block;
  left: 0;
  top: 0;
}
.bg01::after{
  content: "";
  border-top-right-radius: 100%;
  width: 100%;
  height: 100%;
  background: #fff;;
	mix-blend-mode: overlay;
  display: block;
  left: 0;
  top: 0;
  position: absolute;
}
.bg02 {
  width: calc(350/1400*100vw);
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  z-index: -1;
  overflow: hidden;
}
.bg02::before{
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/bg_overlay.png") 0 0 repeat-x;
  background-size: calc(1117/1400*100vw) auto;
	mix-blend-mode: overlay;
  display: block;
  left: 0;
  top: 0;
}
.bg-shape {
  content: "";
  width: calc(320/1400*100vw);
  height: calc(281/1400*100vw);
  background: url("../images/bg_shape01.svg") 0 0 no-repeat;
  background-size: contain;
  pointer-events: none;
  position: absolute;
  top: 0;
  right: calc(23/1400*100vw);
  display: block;
  transform: translateY(-46%);
  z-index: -1;
}
.bg-stars {
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  z-index: -1;
  overflow-x: hidden;
}
.bg-stars span {
  content: "";
  width: 1em;
  height: 1em;
  background: 0 0 repeat-x;
  background-size: contain;
  pointer-events: none;
  position: absolute;
  display: block;
}
#hm .bg-stars span {
  background-image: url("../images/bg_star04_hm.svg")
}
#hm .bg-stars span:nth-child(1) {
  font-size: calc(68/1400*100vw);
  left: calc(760/1400*100vw);
  top: calc(174/1400*100vw);
}
#hm .bg-stars span:nth-child(2) {
  font-size: calc(87/1400*100vw);
  left: calc(1319/1400*100vw);
  top: calc(288/1400*100vw);
}
#hm .bg-stars span:nth-child(3) {
  font-size: calc(73/1400*100vw);
  left: calc(1268/1400*100vw);
  top: calc(803/1400*100vw);
}
#hm .bg-stars span:nth-child(4) {
  font-size: calc(66/1400*100vw);
  left: calc(544/1400*100vw);
  top: calc(672/1400*100vw);
}
#hm .bg-stars span:nth-child(5) {
  font-size: calc(61/1400*100vw);
  left: calc(386/1400*100vw);
  top: calc(1076/1400*100vw);
}
#hm .bg-stars span:nth-child(6) {
  font-size: calc(73/1400*100vw);
  left: calc(958/1400*100vw);
  top: calc(1223/1400*100vw);
}
#hm .bg-stars span:nth-child(7) {
  font-size: calc(44/1400*100vw);
  left: calc(1008/1400*100vw);
  top: calc(1270/1400*100vw);
}
#hm .bg-stars span:nth-child(8) {
  font-size: calc(105/1400*100vw);
  left: calc(1211/1400*100vw);
  top: calc(1451/1400*100vw);
}
#hm .bg-stars span:nth-child(9) {
  display: none;
}
#bs .bg-stars span {
  background-image: url("../images/bg_star04_bs.svg")
}
#bs .bg-stars span:nth-child(1) {
  font-size: calc(68/1400*100vw);
  left: calc(930/1400*100vw);
  top: calc(171/1400*100vw);
}
#bs .bg-stars span:nth-child(2) {
  font-size: calc(76/1400*100vw);
  left: calc(21/1400*100vw);
  top: calc(376/1400*100vw);
}
#bs .bg-stars span:nth-child(3) {
  font-size: calc(59/1400*100vw);
  left: calc(358/1400*100vw);
  top: calc(679/1400*100vw);
}
#bs .bg-stars span:nth-child(4) {
  font-size: calc(40/1400*100vw);
  left: calc(989/1400*100vw);
  top: calc(844/1400*100vw);
}
#bs .bg-stars span:nth-child(5) {
  font-size: calc(67/1400*100vw);
  left: calc(947/1400*100vw);
  top: calc(885/1400*100vw);
}
@media screen and (max-width: 767px) {  
  .bg01 {
    width: calc(520/750*100vw);
    height: calc(520/750*100vw);
  }
  .bg01::before{
    background-size: calc(1400/750*100vw) auto;
    background-position: 50% 20%;
  }
  .bg02 {
    width: calc(230/750*100vw);
  }
  .bg-shape {
    width: calc(286/750*100vw);
    height: calc(252/750*100vw);
    right: calc(12/750*100vw);
    transform: translateY(-52%);
  }
  #hm .bg-stars span:nth-child(1) {
    font-size: calc(126/750*100vw);
    left: calc(607/750*100vw);
    top: calc(1139/8400*100%);
  }
  #hm .bg-stars span:nth-child(2) {
    font-size: calc(60/750*100vw);
    left: calc(684/750*100vw);
    top: calc(1234/8400*100%);
  }
  #hm .bg-stars span:nth-child(3) {
    font-size: calc(119/750*100vw);
    left: calc(282/750*100vw);
    top: calc(2016/8400*100%);
  }
  #hm .bg-stars span:nth-child(4) {
    font-size: calc(144/750*100vw);
    left: calc(433/750*100vw);
    top: calc(3781/8400*100%);
  }
  #hm .bg-stars span:nth-child(5) {
    font-size: calc(69/750*100vw);
    left: calc(498/750*100vw);
    top: calc(3889/8400*100%);
  }
  #hm .bg-stars span:nth-child(6) {
    font-size: calc(147/750*100vw);
    left: calc(481/750*100vw);
    top: calc(5564/8400*100%);
  }
  #hm .bg-stars span:nth-child(7) {
    font-size: calc(119/750*100vw);
    left: calc(266/750*100vw);
    top: calc(6480/8400*100%);
  }
  #hm .bg-stars span:nth-child(8) {
    font-size: calc(134/750*100vw);
    left: calc(438/750*100vw);
    top: calc(7324/8400*100%);
  }
  #hm .bg-stars span:nth-child(9) {
    font-size: calc(64/750*100vw);
    left: calc(520/750*100vw);
    top: calc(7426/8400*100%);
  }
  #bs .bg-stars span:nth-child(1) {
    font-size: calc(103/750*100vw);
    left: calc(60/750*100vw);
    top: calc(1138/4836*100%);
  }
  #bs .bg-stars span:nth-child(2) {
    font-size: calc(143/750*100vw);
    left: calc(-4/750*100vw);
    top: calc(2906/4836*100%);
  }
  #bs .bg-stars span:nth-child(3) {
    font-size: calc(69/750*100vw);
    left: calc(83/750*100vw);
    top: calc(3015/4836*100%);
  }
  #bs .bg-stars span:nth-child(4) {
    font-size: calc(129/750*100vw);
    left: calc(372/750*100vw);
    top: calc(3792/4836*100%);
  }
  #bs .bg-stars span:nth-child(5) {
    display: none;
  }
}

@keyframes tishow {
  0% {
    width: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes tibg {
  0% {
    opacity: 0;
    transform: scaleX(0);
  }
  30% {
    transform: scaleX(1);
  }
  100% {
    transform: scaleX(1);
  }
  30%, 100% {
    opacity: 1;
  }
}
/* .cast-list */
.cast-list {
	position: relative;
}
.cast-list a {
	text-decoration: none;
	display: block;
}
.cast-list .text01 {
	font-size: calc(20/16*1em);
	font-size: calc(20/1400*100vw);
	font-weight: 600;
	line-height: calc(38/20);
  position: absolute;
  transform: translateY(-120%);
}
.cast-list .text01 > span {
  display: table;
  position: relative;
  overflow: hidden;
}
.cast-list .text01 > span > span {
  display: block;
  position: relative;
  padding: 0 .5em;
}
.cast-list .text01 > span::before {
  content: "";
  width: 100%;
  height: 90%;
  display: block;
	background-color: rgba(255,255,255,0.85);
  z-index: -1;
  position: absolute;
  left: 0;
  bottom: 5%;
}
.cast-list .text02 {
	font-size: calc(14/16*1em);
	font-size: calc(14/1400*100vw);
	margin: 1em 0 0 .5rem;
	line-height: calc(22/14);
	position: relative;
}
.cast-list .text02 .ic-arrow {
  background: var(--color-hm) url("../images/icon_arrow01_white.svg") 52% 50% no-repeat;
  background-size: calc(10/38*1em) auto;
	font-size: calc(38/14*1em);
  right: 0;
  top: 0;
  transform: none;
}
.cast-list a:hover .text02 .ic-arrow {
  filter: brightness(1.2);
}
.cast-list figure {
	overflow: hidden;
  border-radius: calc(30/1400*100vw);
  margin-left: 3%;
}
.cast-list figure img {
	transition: transform 0.3s ease;
}
.cast-list a:hover figure img {
	transform: scale(1.1)
}
.cast-list .text .label {
	background: var(--color-hm);
	color: #fff;
	font-size: 12px;
	line-height: 2;
	display: table;
	margin-bottom: .5em;
	padding: 0 .7em;
}
.cast-list.support .text .label {
	background-color: #5B99C7;
}
@media screen and (max-width: 767px) {
	.cast-list .text {
		font-size: 11px;
		margin: -50px 0 0 8%;
		padding: 25px;
	}
	.cast-list .text .text01 {
		font-size: 14px;
	}
	.cast-list .text .ic-arrow {
		margin: 20px auto 0 20px;
    background-size: 25% auto;
	}
	.cast-list .text .label {
		font-size: 11px;
	}
}

@media screen and (min-width: 1024px) {
  .pc_column-3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: calc(80/1400*100vw);
  }
  .pc_column-3 > div {
    width: 31%;
    margin-bottom: calc(80/1400*100vw);
  }
  .pc_column-3 > div:nth-of-type(3n+2) {
    margin-left: 3.5%;
    margin-right: auto;
  }
}
@media screen and (min-width: 767px) and (max-width: 1024px) {
  .pc_column-3 {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: calc(80/1024*100vw);
  }
  .pc_column-3 > div {
    width: 49%;
    margin-bottom: calc(80/1024*100vw);
  }
  .cast-list .text01 {
    font-size: calc(20 / 1024 * 100vw);
  }
  .cast-list .text02 {
    font-size: calc(14 / 1024 * 100vw);
    font-size: 14px;
  }
}
@media screen and (max-width: 768px){
  .cast-list {
    margin: 0 calc(13 / 750 * 100vw) calc(120 / 750 * 100vw);
  }
  .cast-list figure {
    border-radius: calc(50 / 750 * 100vw);
    margin: 0 calc(12 / 750 * 100vw);
  }
  .cast-list .text01 {
    font-size: calc(38 / 750 * 100vw);
  }
  .cast-list .text02 {
    font-size: calc(28 / 750 * 100vw);
	  margin: 1em calc(12 / 750 * 100vw) 0;
    line-height: 1.5;
  }
}
/* sort */
.sort__nav {
  border-bottom: 1px solid var(--color-red);
  text-align: center;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: calc(55/1400*100vw) calc(-4/1128*100%) calc(32/1400*100vw);
  padding-bottom: calc(22/1400*100vw);
}
.sort__nav li {
  width: calc(368/1128*100%);
  font-size: calc(14/16*1rem);
  margin: 0 calc(4/1128*100%) calc(10/1128*100%);
}
.sort__nav li label {
  border: 1px solid var(--color-gold);
  border-radius: calc(10/14*1em);
  height: calc(46/14*1em);
  background-color: #fff;
  color: var(--color-gold);
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  position: relative;
}
.sort__nav li:hover label, .sort__nav li label.is-checked {
  background-color: var(--color-gold);
  color: #fff;
}
.sort__nav li label.is-checked {
  pointer-events: none;
}
.sort__wrap {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  margin: 0 calc(-10/1140*100%) calc(60/1400*100vw);
}
.grid-item {
  border-radius: calc(15/16*1rem);
  background: #fff;
  width: calc(360/1140*100%);
  margin: 0 calc(10/1140*100%) calc(20/1140*100%);
  animation: none !important;
  overflow: hidden;
}
.grid-item a {
  display: black;
  text-decoration: none;
}
.grid-item .img {
  overflow: hidden;
}
.grid-item a .img img {
  transition: all 0.3s ease;
}
.grid-item a:hover .img img {
  transform: scale(1.1)
}
.grid-item .tx-label {
  position: absolute;
  margin: 0;
  transform: translate(calc(4/16*1rem), calc(-100% - 4/16*1rem));
}
.grid-item .text {
  font-weight: 500;
  padding: 1em;
  text-align: center;
}
.grid-item.anime_standby {
  transition: all 1.2s ease;
  opacity: 0;
  transform: translateY(100px);
}
.grid-item.anime_active {
  opacity: 1;
  transform: translateY(0);
}
.grid-item {
  transform: scale(1);
  opacity:1;
  transition: all 0.3s linear;
}
.grid-item.filter-hide {
  transform: scale(.5);
  opacity:0;
}
@keyframes anime-filter {
  0%,100% {
  transform: scale(1);
  opacity:1;
  }
  50% {
  transform: scale(.5);
  opacity:0;
  }
}
@media screen and (max-width: 767px) {
  .sort__nav {
    margin: calc(54/750*100vw) 0 calc(60/750*100vw);
    padding-bottom: calc(48/750*100vw);
    justify-content: space-between;
  }
  .sort__nav li {
    width: calc(315/750*100vw);
    font-size: calc(22/750*100vw);
    margin: 0 0 calc(12/750*100vw);
  }
  .sort__nav li label {
    border-radius: calc(10/750*100vw);
    height: calc(76/22*1em);
    line-height: 1.2;
  }
  .sort__wrap {
    margin: 0 calc(-10/750*100vw) calc(120/750*100vw);
  }
  .grid-item {
    border-radius: calc(30/750*100vw);
    width: 100%;
    margin: 0 calc(20/750*100vw) calc(40/750*100vw);
  }
}

/* info */
.sec-info > .text {
	text-align: center;
}
.sec-info .text-att {
	text-align: center;
	margin: -2em 0 2em;
}
.info-ti li {
	cursor:pointer;
	margin: calc(24/750*100vw) calc(20/750*100vw) 0;
	position: relative;
}
.info-ti li a{
  border: 1px solid var(--color-gold);
  border-radius: calc(15/750*100vw);
	font-size: calc(26/750*100vw);
  font-weight: 600;
	line-height: 1.2;
	display: flex;
  justify-content: center;
  align-items: center;
	height: calc(100/750*100vw);
	background: #fff;
	color: var(--color-gold);
	text-decoration: none;
}
.info-ti li.active:not(.close-sp) a{
  font-weight: 700;
	background: var(--color-gold);
	color: #ffffff;
}
.sec-info .-note {
  font-size: calc(14/16*1rem);
  max-width: calc(550/16*1rem);
  margin: 1em auto 0;
  text-align: right;
  line-height: 1.6;
}
.sec-info .list-detail01 > li {
  max-width: calc(550/16*1rem);
  min-height: calc(100/16*1rem);
  margin: 0 auto;
  border: 1px solid var(--color-gold);
  border-radius: calc(10/16*1rem);
	font-size: calc(15/16*1em);
	background: #ffffff;
	padding: 1em calc(70/1400*100vw);
	position: relative;
  display: flex;
  align-items: center;
  line-height: 1.6;
}
.sec-info .list-detail01 > li::after {
	content: "";
  background: var(--color-gold);
	width: calc(26/15*1em);
	height: calc(14/15*1em);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
	position: absolute;
	bottom: calc(-34/15*1em);
	left: 50%;
	transform: translate(-50%, -50%);
}
.sec-info .list-detail01 > li + li {
	margin-top: calc(34/15*1em);
}
.sec-info .list-detail01 > li:last-of-type::after {
	display: none;
}
.sec-info .list-detail01 > li .text {
  color: var(--color-black);
  margin: 0 auto;
  text-align: center;
}
.sec-info .list-detail01 > li .text strong {
	font-weight: 700;
	font-size: calc(18/15*1em);
}
.sec-info .list-detail01 > li .icon-no {
	font-size: calc(36/15*1em);
	font-family: var(--font-En);
	font-weight: 600;
  color: var(--color-gold);
  position: absolute;
  transform: translateY(.1em);
}
.sec-info .list-detail01.tx-hm > li {
  border-color: var(--color-hm);
}
.sec-info .list-detail01.tx-bs > li {
  border-color: var(--color-bs);
}
.sec-info .list-detail01.tx-hm > li::after {
  background: var(--color-hm);
}
.sec-info .list-detail01.tx-bs > li::after {
  background: var(--color-bs);
}
.sec-info .info-nav {
	display: flex;
	margin: 0 0 calc(46/16*1em);
}
.sec-info .info-nav li{
	width: 19.5%;
	margin-left:1%;
	cursor:pointer;
	border-bottom: 0;
	position: relative;
}
.sec-info .info-nav li a {
  border: 1px solid var(--color-gold);
  border-radius: calc(10/15*1em);
	font-size: min(15/900*100vw, 15/16*1em);
  font-weight: 600;
	line-height: 1.2;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
  width: 100%;
	height: calc(70/15*1em);
	text-align: left;
	background: #ffffff;
  color: #a59c52;
	text-decoration: none;
  padding: 0 .5em;
}
.sec-info .info-nav li.active a {
  font-weight: 700;
	background: var(--color-gold);
	color: #ffffff;
}
.sec-info .info-nav li:first-child {
	margin-left:0;
}
.sec-info .info-nav li:not(.active):hover a{
	background: var(--color-gold);
	color: #ffffff;
}
.sec-infomation {
  border-radius: calc(20/1400*100vw);
  background: var(--color-bg1);
	display: none;
	opacity: 0;
  margin: 0 calc(-76/1400*100vw);
  padding: calc(85/1400*100vw) calc(160/1400*100vw);
}
.sec-infomation .info-ti02 {
	visibility: hidden;
	position: absolute;
}
@keyframes fadeTab{
  0% {
    opacity : 0;
		transform: translateY(20px);
  }
  100% {
    opacity : 1;
		transform: translateY(0);
  }
}
.sec-info .sec-infomation .img img {
	width:auto;
	max-width: 100%;
}
.table-info {
	border-bottom: 1px solid var(--color-black2);
	width:100%;
	text-align: left;
  margin: 0 auto;
}
.sec-info .img {
	text-align: center;
}
.sec-info .date {
  color: var(--color-red);
	text-align: right;
}
.sec-info .date:first-of-type{
  margin-top: calc(-35/16*1rem);
}
.table-info > dt {
	font-weight: 600;
}
.table-info > dd li{
	text-indent:-1em;
	padding-left:1em;
}
.table-info dl.list dt {
  font-weight: 500;
  text-indent: -1em;
  padding-left: 1em;
}
.sec-info .btn-close a {
	position: relative;
	display: block;
	font-weight: 500;
	color: #000000;
	text-decoration: none;
  margin: 3em auto 0;
	padding-top: 1em;
	text-align: center;
}
.sec-info .btn-close a::before{
    content: '';
    width: .5em;
    height: .5em;
    border: 0px;
    border-top: solid 1px var(--color-black);
    border-right: solid 1px var(--color-black);
	position: absolute;
	top: 0;
	left: 50%;
	transform: rotate(-45deg) translateX(-50%);
}
@media screen and (min-width: 768px) {

	.sec-info .info-ti{
		display:none;
	}
	.sec-info .ti03 {
    font-size: calc(24/16*1em);
		margin-top: calc(140/16*1rem);
	}
	.sec-infomation.active-pc{
		display: block;
	animation: fadeTab .6s linear forwards; 
	}
	.table-info > dt {
		width: 10em;
		padding: 2.5rem 1em 2.5rem .5em;
		text-align:left;
		position: absolute;
	}
	.table-info > dd {
		border-top: 1px solid var(--color-black2);
		padding: 2.5rem 0 2.5rem 10em;
	}
	.table-info > dd:first-child{
		border-top: none;
	}
}
@media screen and (max-width: 767px) {
	.sec-infomation.active-sp{
		display:block;
	animation: fadeTab .6s linear forwards; 
	}
	.sec-infomation {
    border-radius: calc(50/750*100vw);
    margin: calc(110/750*100vw) calc(-30/750*100vw) 0;
    padding: calc(90/750*100vw) calc(50/750*100vw) calc(80/750*100vw);
	}
	.table-info {
		border-top: 1px solid var(--color-black2);
	}
	.sec-info .ti03 {
    font-size: calc(36/750*100vw);
		margin-top: calc(160/750*100vw);
	}
	.sec-info .info-nav{
		display:none;
	}
	.sec-info .sec-infomation .img {
	}
	.table-info > dt{
		border-top: 1px solid var(--color-black2);
		padding:calc(50/750*100vw) 0 0;
	}
	.table-info > dt:first-child{
		border-top: none;
	}
	.table-info > dd{
		padding:0 0 calc(50/750*100vw);
	}
  .sec-info .-note {
    font-size: calc(24/750*100vw);
    max-width: none;
    text-align: left;
  }
	.sec-info .list-detail01 > li {
    max-width: calc(590/750*100vw);
    min-height: calc(140/750*100vw);
    font-size: calc(26/750*100vw);
    padding: 1em calc(40/750*100vw);
	}
	.sec-info .list-detail01-no > li {
		padding-left: calc(50/750*100vw);
	}
	.sec-info .list-detail01 > li .icon-no {
    font-size: calc(46/750*100vw);
	}
  .sec-info .list-detail01 > li .text strong {
    font-size: calc(28/750*100vw);
  }
	.sec-info .list-detail01 > li::after {
	}
	.sec-info .list-detail01 > li + li {
	}
	.sec-info .btn-close a {
		display: block;
		margin-top: 3em !important;
	}
}
/*  */
.sec-details01 {
  border-top: 1px solid var(--color-base);
}
.sec-details01:first-of-type {
  border-top: none;
}
.sec-details01 .sec-detail {
  border-radius: calc(25/1400*100vw);
  background: #f1f7f7;
  margin: 0 0 calc(40/16*1rem);
  padding: calc(40/16*1rem) calc(85/16*1rem);
}
.sec-details01 .slide-active + .sec-detail {}
.sec-details01 .sec-detail .img {
  width: calc(500/970*100%);
  margin: 0 auto 1.5em;
}
.sec-details01 .sec-detail .img img {
  border-radius: calc(20/1400*100vw);
}
.sec-details01 .sec-detail .text {
  /*width: calc(540/970*100%);*/
  display: flex;
  flex-direction: column;
}
.sec-details01 .sec-detail .text .ti04 {
  margin-bottom: .5em;
}
.sec-details01 .slide-toggle a {
  display: flex;
  align-items: center;
  height: calc(130/16*1em);
  padding: 0 calc(45/16*1em);
}
.sec-details01 .slide-toggle a::before, .sec-details01 .slide-toggle a::after {
  background: var(--color-base);
}
.sec-details01 .ti03 {
  color: var(--color-black);
  font-size: calc(28/16*1em);
  margin: 0;
  padding: 0;
  position: relative;
}
.sec-details01 .ti03::before {
  content: "";
  display: block;
  position: absolute;
  font-size: calc(34/28*1em);
  width: 1em;
  height: 1em;
  background: url("../images/icon_star01_hm.svg") 0 0 no-repeat;
  background-size: contain;
  left: -1.3em;
  top: 0em;
  opacity: 0;
  transition: 0.1s all 1s ease-in;
  transform: scale(0);
}
.sec-details01 .slide-toggle.slide-active .ti03::before {
  opacity: 1;
  transform: scale(1);
}
.sec-details01 .sec-detail .ti04:first-child {
  margin-top: 0;
}
.sec-details01 .sec-detail .links {
  font-size: calc(15/16*1rem);
  display: table;
  margin: auto 0 0 auto;
  padding-top: 1.7em;
  position: relative;
}
.sec-details01 .sec-detail .links::before {
  content: "";
  display: block;
  position: absolute;
  font-size: calc(19/15*1em);
  width: 1em;
  height: 1em;
  background: url("../images/icon_star01_hm.svg") 0 0 no-repeat;
  background-size: contain;
  left: -1.3em;
  transform: translateY(.4em);
}
.sec-details01 .list-intro-2 .list-intro {
  border-radius: calc(15/16*1rem);
  background: #fff;
  font-size: calc(15/16*1rem);
  padding: calc(24/16*1rem)
}
.sec-details01 .list-intro-2 .list-intro + .list-intro {
  margin-top: calc(10/16*1rem);
}

@media screen and (max-width: 767px) {
  .sec-details01:first-of-type {
  }
  .sec-details01 .slide-toggle a {
    height: calc(220/750*100vw);
    padding: 0 calc(10/750*100vw) 0 calc(23/750*100vw);
  }
  .sec-details01 .ti03 {
    font-size: calc(34/750*100vw);
  }
  .sec-details01 .sec-detail {
    border-radius: calc(25/750*100vw);
    margin: 0 0 calc(60/750*100vw);
    padding: calc(40/750*100vw);
    flex-direction: column;
  }
  .sec-details01 .sec-detail .img {
    width: auto;
    margin-bottom: 1em;
  }
  .sec-details01 .sec-detail .img img {
    border-radius: calc(20/750*100vw);
  }
  .sec-details01 .sec-detail .text {
    width: auto;
  }
  .sec-details01 .list-intro-2 .list-intro {
    border-radius: calc(15/750*100vw);
    font-size: calc(26/750*100vw);
    padding: calc(30/750*100vw) calc(40/750*100vw);
  }
  .sec-details01 .sec-detail .links {
    font-size: calc(24/750*100vw);
    padding-top: 1.3em;
  }
}

/* faq */
.sec-faq .sec-details02 .text {
  border-radius: calc(10/1400*100vw);
  background: #eae6f0;
  margin: calc(10/1400*100vw) 0 calc(20/1400*100vw);
  padding: calc(50/1400*100vw) calc(60/1400*100vw);
}
.sec-faq .sec-details02 .text > dl {
  border-radius: calc(15/1400*100vw);
  background: #ffffff;
  padding: calc(40/1400*100vw);
}
.sec-faq .sec-details02 .text > dl + dl {
  margin-top: calc(20/1400*100vw);
}
.sec-faq .sec-details02 .slide-toggle a {
  display: flex;
  align-items: center;
  height: calc(90/16*1rem);
  border-radius: calc(10/16*1rem);
  background: #b8accb;
  padding: 0 calc(40/16*1rem);
}
.sec-faq .sec-details02 .ti03 {
  font-size: calc(28/16*1em);
  margin: 0;
  padding: 0;
  position: relative;
}
.sec-faq .sec-details02 .ti04 {
	margin: 0 0 1em calc(40/1400*100vw);
  line-height: 1.5;
}
.sec-faq .sec-details02 .ti04::before {
	content: "Q";
  font-family: var(--font-En);
  font-size: calc(36/20*1em);
	width: 1em;
	text-align:center;
	color: #b8accb;
	position: absolute;
	display: block;
	margin: 0 0 0 calc(-40/36*1em);
  transform: translateY(-.2em)
}
.sec-faq .sec-details02 .an {
	margin-left: calc(40/1400*100vw);
}
@media screen and (min-width: 768px) {
	.sec-faq .sec-details02 {
		margin-bottom: 20px;
	}
	.sec-faq .sec-details02 .list-column-2 .list-column.text {
		padding-right: 50px;
	}
	.sec-faq .slide-toggle-area {
	}
}
@media screen and (max-width: 767px) {
  .sec-faq {
		margin-top: calc(100/750*100vw);
  }
	.sec-faq .sec-details02 {
		margin-bottom: calc(34/750*100vw);
	}
	.sec-faq .sec-details02 .sec-detail + .sec-detail {
		margin-top: calc(40/750*100vw);
	}
  .sec-faq .sec-details02 .text {
    border-radius: calc(15/750*100vw);
    margin: calc(20/750*100vw) 0 calc(68/750*100vw);
    padding: calc(48/750*100vw) calc(38/750*100vw);
  }
  .sec-faq .sec-details02 .text > dl {
    border-radius: calc(15/750*100vw);
    padding: calc(30/750*100vw) calc(40/750*100vw);
  }
  .sec-faq .sec-details02 .text > dl + dl {
    margin-top: calc(40/750*100vw);
  }
  .sec-faq .sec-details02 .slide-toggle a {
    height: calc(152/750*100vw);
    border-radius: calc(15/750*100vw);
    padding: 0 calc(40/750*100vw);
  }
	.sec-faq .sec-details02 .ti03 {
    font-size: calc(38/750*100vw);
	}
  .sec-faq .sec-details02 .ti04 {
    font-size: calc(30/28*1em);
    margin: 0 0 1em;
    line-height: 1.66;
  }
	.sec-faq .sec-details02 .ti04::before {
    position: relative;
	  margin: 0;
    transform: none;
	}
	.sec-faq .sec-details02 .an {
    margin: 0;
	}
  .sec-faq .slide-toggle a::before, .sec-faq .slide-toggle a::after {
    right: calc(30/750*100vw);
  }
}

#hm {
  position: relative;
  padding-bottom: calc(50/1400*100vw);
}
#hm .bg02 {
  background-color: #d8eeef;
  left: 0;
  clip-path: xywh(0 0 100% 100% round 0 calc(20/1400*100vw) calc(20/1400*100vw) 0);
}
#bs {
  position: relative;
  padding-bottom: calc(50/1400*100vw);
}
#bs .bg02 {
  background-color: #d8e7f3;
  right: 0;
  clip-path: xywh(0 0 100% 100% round calc(20/1400*100vw) 0 0 calc(20/1400*100vw));
}
#bs .cast-list .text02 .ic-arrow {
  background-color: var(--color-bs);
}
@media screen and (max-width: 767px) {
  #hm,
  #bs {
    padding-bottom: calc(50/750*100vw);
  }
  #hm .bg02 {
    clip-path: xywh(0 0 100% 100% round 0 calc(40/750*100vw) calc(40/750*100vw) 0);
  }
  #bs {
    position: relative;
    padding-bottom: calc(50/1400*100vw);
  }
  #bs .bg02 {
    clip-path: xywh(0 0 100% 100% round calc(40/750*100vw) 0 0 calc(40/750*100vw));
  }
}

/* page-message */
.page-message .sec-title {
  position: relative;
  padding-bottom: calc(255/1400*100vw);
  background: #fbf1dd;
}
.page-message .sec-title::after,
.bg-star {
  content: "";
  width: 100%;
  height: calc(85/1400*100vw);
  background: #fff url("../images/bg_star03.svg") repeat-x;
  background-position: 43% 50%;
  background-size: auto 100%;
  pointer-events: none;
  position: absolute;
  bottom: -1px;
  left: 0;
  display: block;
}
.page-message .sec-title::after {
  transform: scale(-1, 1)
}
.page-message .sec-title .img {
  width: calc(1083/1400*100%);
  margin-left: calc(-70/1400*100vw);
  margin-right: calc(30/1400*100vw);
}
.page-message .sec-title .img img {
  border-radius: calc(50/1400*100vw);
}
.page-message .sec-title .lead {
  width: calc(640/16*1rem);
  margin-left: auto;
  margin-right: calc(-7/16*1rem);
}
.page-message .sec-title .text.-notebook {
  width: calc(640/16*1rem);
  margin-left: auto;
}

.page-message .sec-title .lead::before {
  content: "";
  width: calc(70/30*1em);
  height: calc(95/30*1em);
  background: url("../images/bg_star01.svg") 50% 50% no-repeat;
  background-size: contain;
  pointer-events: none;
  position: absolute;
  top: calc(30/30*1em);
  left: calc(-65/30*1em);
}
.page-message .sec-title .lead::after {
  content: "";
  width: calc(59/30*1em);
  height: calc(80/30*1em);
  background: url("../images/bg_star01b.svg") 50% 50% no-repeat;
  background-size: contain;
  pointer-events: none;
  position: absolute;
  bottom: calc(12/30*1em);
  right: calc(-90/30*1em);
}
.page-message .sec-title .lead h1 {
  visibility: hidden;
  position: absolute;
}
.page-message .sec-title .lead p img {
  width: auto;
  height: 1em;
}
.page-message .sec-title .lead p.-sub {
  margin-left: calc(34/16*1rem);
  line-height: 1;
  margin-bottom: calc(55/34*1em);
}
.page-message .sec-title .lead p.-main {
  font-size: calc(112/16*1rem);
  margin-left: calc(4/112*1em);
  line-height: 1;
}
.-notebook {
  font-size: calc(17/16*1em);
  font-size: calc(17/16*1rem);
  background-image: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 0) 98%, #bdb583 98%, #bdb583 100%);
  background-repeat: repeat-y;
  background-size: 100% calc(47/17*1em);
  line-height: calc(47/17*1);
}
@media screen and (max-width: 767px) {
  .page-message .sec-title {
    padding-bottom: calc(245/750*100vw);
  }
  .-notebook {
    font-size: calc(28/750*100vw);
    background-size: 100% calc(72/28*1em);
    line-height: calc(72/28*1);
  }
  
  .page-message .sec-title::after,
  .bg-star {
    height: calc(85/750*100vw);
    background-position: 99.7% 0;
    transform: none;
  }
  .page-message .sec-title .inner {
    padding: 0 calc(70/750*100vw);
  }
  .page-message .sec-title .text.-notebook {
    width: auto;
  }
  .page-message .sec-title .img {
    max-width: none;
    width: auto;
    margin-left: 0;
    margin-right: 0;
  }
  .page-message .sec-title .img img {
    border-radius: 0;
  }
  .page-message .sec-title .lead {
    width: auto;
    margin: 0;
  }
  .page-message .sec-title .lead::before {
    top: calc(34/750*100vw);
    left: calc(-62/750*100vw);
  }
  .page-message .sec-title .lead::after {
    right: calc(-58/32*1em);
  }
  .page-message .sec-title .lead p.-sub {
    margin-left: calc(25/750*100vw);
  }
  .page-message .sec-title .lead p.-main {
    font-size: calc(103/750*100vw);
    margin-left: calc(5/750*100vw);
  }
}
.page-message .sec-message {
  margin-top: calc(74/1400*100vw);
  padding-right: 0;
}
.page-message .sec-message .inner {
  padding-right: 0;
}
.page-message .sec-message .img img {
  border-top-left-radius: calc(30/16*1rem);
  border-bottom-left-radius: calc(30/16*1rem);
}
@media screen and (min-width: 768px) {
  .page-message .sec-message .ti02 {
    position: absolute;
  }
  .page-message .sec-message .text {
    width: calc(598/1400*100vw);
    width: calc(598/1224*100%);
    padding-top: calc(38/16*3.2em);
  }
	.page-message .sec-message .sec-imgscroll .img {
    width: calc(594/1400*100vw);
    width: calc(594/1224*100%);
	}
}
@media screen and (max-width: 767px) {
  .page-message .sec-message {
    padding-top: calc(140/750*100vw);
  }
  .page-message .sec-message .inner {
    padding-right: calc(50/750*100vw);
  }
	.page-message .sec-message .sec-imgscroll .img {
		margin: 0 0 calc(50/750*100vw);
	}
  .page-message .sec-message .img img {
    border-radius: calc(40/750*100vw);
  }
}


.page-jobtype #hm {
}
.page-jobtype #hm .inner.-bg {
  background: #fff;
  margin-top: calc(90/1400*100vw);
  margin-right: calc(-100/1400*100vw);
  padding-right: calc(176/1400*100vw);
  border-top-left-radius: calc(40/1400*100vw);
  border-bottom-left-radius: calc(40/1400*100vw);
}
.page-jobtype #bs {
}
.page-jobtype #bs .inner.-bg {
  background: #fff;
  margin-top: calc(90/1400*100vw);
  margin-left: calc(-100/1400*100vw);
  padding-left: calc(176/1400*100vw);
  border-top-right-radius: calc(40/1400*100vw);
  border-bottom-right-radius: calc(40/1400*100vw);
}
.page-jobtype #bs .sec-details01 .sec-detail {
  background: #f1f5f9;
}
.page-jobtype #bs .ti04::before {
  color: var(--color-bs);
}
.page-jobtype #bs .sec-details01 .ti03::before,
.page-jobtype #bs .sec-details01 .sec-detail .links::before{
  background-image: url(../images/icon_star01_bs.svg);
}
.page-jobtype #bs .sec-details01 {
  border-color: var(--color-bs);
}
.page-jobtype #bs .sec-details01 .slide-toggle a::before, .page-jobtype #bs .sec-details01 .slide-toggle a::after {
  background: var(--color-bs);
}
.page-jobtype .bg01 {
  background-color: #eff7eb;
}

@media screen and (max-width: 767px) {
  .page-jobtype #hm .inner.-bg {
    margin-left: calc(30/750*100vw);
    margin-top: calc(100/750*100vw);
    margin-right: 0;
    padding-right: calc(80/750*100vw);
    border-top-left-radius: calc(50/750*100vw);
    border-bottom-left-radius: calc(50/750*100vw);
  }
  .page-jobtype #bs .inner.-bg {
    margin-left: 0;
    margin-top: calc(100/750*100vw);
    margin-right: calc(30/750*100vw);
    padding-left: calc(80/750*100vw);
    border-top-right-radius: calc(50/750*100vw);
    border-bottom-right-radius: calc(50/750*100vw);
  }
}

.page-interview .bg01 {
  background-color: #fdf5e2;
}

.page-requirements .bg01 {
  background-color: #dfdae8;
}

.sec-massage {
  background: #fbf1dd;
  margin-top: calc(285/1400*100vw);
  padding-top: calc(160/1400*100vw);
  padding-bottom: calc(160/1400*100vw);
}
.sec-massage .ti02 {
  text-align: center;
}
.sec-massage .ti02 .tx-en {
  margin: 1.5em 0 0;
}
.sec-massage .img {
  max-width: calc(880/16*1rem);
  margin: 0 auto calc(35/16*1rem);
}
.sec-massage .img img {
  border-radius: calc(20/1400*100vw);
}
.sec-massage .text {
  max-width: calc(880/16*1rem);
  margin: 0 auto;
}
.sec-massage .tximg01 {
  text-align: right;
}
.sec-massage .tximg01 img {
  font-size: calc(68/16*1rem);
  line-height: 1;
  width: auto;
  height: 1em;
}
.sec-massage .bg-star {
  bottom: 100%;
  background-position: 65% 50%;
}
@media screen and (max-width: 767px) {
  .sec-massage {
    margin-top: calc(315/750*100vw);
    padding-top: calc(120/750*100vw);
    padding-bottom: calc(160/750*100vw);
  }
  .sec-massage .tximg01 img {
    font-size: calc(52/750*100vw);
  }
  .sec-massage .bg-star {
    background-position: 99.7% 0;
  }
}

.sec-event {
  background-color: var(--color-bg1);
  margin-top: calc(210 / 1400 * 100vw) !important;
  padding-top: calc(150/1400*100vw);
  padding-bottom: calc(160/1400*100vw);
}
.sec-event .bg-shape.js-scroll-ani {
  transition: all .3s ease;
  transform: translateY(0%);
}
.sec-event .bg-shape.js-scroll-ani.is-animated {
  transform: translateY(-46%);
}
.sec-event .lead {
  font-size: calc(18/16*1rem);
  font-weight: normal;
}
.sec-event .img {
  margin: 0 auto calc(50/16*1rem);
}
.sec-event .img img {
  border-radius: calc(20/1400*100vw);
}
.sec-event .ti {
  font-size: calc(26/16*1em);
  font-weight: 900;
  text-align: center;
}
.sec-event .logo {
  max-width: calc(653/16*1em);
  margin: calc(20/16*1rem) auto calc(60/16*1rem);
}
.sec-event hr {
  border-color: #c0ba86;
}
.sec-event .list-event {
  font-weight: 500;
  margin: calc(80/16*1rem) auto calc(60/16*1rem);
}
.sec-event .list-event dt {
  border-radius: 9999em;
  font-size: calc(15/16*1rem);
  background: var(--color-gold);
  color: #fff;
  width: 6rem;
  margin-right: 1rem;
  float: left;
  text-align: center;
  line-height: 1.6;
  padding: .2em 0 .3em;
}
.sec-event .list-event dd {
  display: table;
  margin-bottom: calc(26/16*1rem);
}
.sec-event .list-event dd .date {
  font-size: calc(24/16*1em);
  font-weight: 800;
  color: var(--color-gold);
  display: inline-block;
  vertical-align: baseline;
  line-height: .8em;
  transform: translateY(-.2em)
}
.sec-event .list-event dd .date .fs-l {
  font-size: calc(48/24*1em);
}
.sec-event .list-event dd .date .fs-s {
  font-size: calc(20/24*1em);
}
.sec-event .sec-event01 {
  max-width: calc(880/16*1rem);
  margin: calc(80/16*1rem) auto 0;
}
.sec-event .sec-event02 {
  max-width: calc(450/16*1rem);
  border-radius: calc(10/16*1rem);
  background: #fff;
  margin: calc(80/16*1rem) auto 0;
  padding: calc(15/1400*100vw) calc(34/1400*100vw);
}
.sec-event .btn {
  font-size: calc(18 / 16 * 1rem);
  max-width: calc(450/16*1rem);
  margin: calc(60/16*1rem) auto 0;
}
.sec-event .btn a {
  border-color: var(--color-red);
  background: var(--color-red);
  color: #fff;
}
.sec-event .btn a .ic-arrow {
  background-image: url("../images/icon_arrow01_white.svg");
}
.sec-event .btn a .ic-blank {
  background-image: url("../images/icon_blank01_white.svg");
}
.sec-event .none {
  font-size: calc(18 / 16 * 1rem);
  background: var(--color-gold);
  color: #fff;
  width: calc(450 / 16 * 1rem);
  line-height: 1.6;
  margin: calc(60/16*1rem) auto 0;
  padding: 1.5em 1em;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  position: relative;
}
@media screen and (max-width: 767px) {
  .sec-event {
    margin-top: calc(80/750*100vw) !important;
    padding-top: calc(160/750*100vw);
    padding-bottom: calc(200/750*100vw);
  }
  .sec-event .lead {
    font-size: calc(30/750*100vw);
  }
  .sec-event .img {
    margin: 0 auto calc(50/750*100vw);
  }
  .sec-event .img img {
    border-radius: calc(15/750*100vw);
  }
  .sec-event .ti {
    font-size: calc(24/750*100vw);
  }
  .sec-event .logo {
    max-width: calc(555/750*100vw);
    margin: calc(26/750*100vw) auto 0;
  }
  .sec-event .list-event {
    margin: calc(120/750*100vw) auto calc(80/750*100vw);
  }
  .sec-event .list-event dt {
    float: none;
    margin-bottom: .5em;
  }
  .sec-event .list-event dd {
    display: block;
  }
  .sec-event .list-event dd .date {
    display: block;
    font-size: calc(36/30*1em);
    line-height: normal;
    text-align: center;
  }
  .sec-event .sec-event01 {
    font-size: calc(30/750*100vw);
    max-width: none;
    margin: calc(80/750*100vw) auto 0;
  }
  .sec-event .sec-event01 .note {
    margin-top: .5em;
    font-size: calc(28/750*100vw);
  }
  .sec-event .sec-event02 {
    font-size: calc(30/750*100vw);
    max-width: none;
    border-radius: calc(10/16*1rem);
    margin: calc(80/750*100vw) auto 0;
    padding: calc(15/750*100vw) calc(34/750*100vw);
  }
  .sec-event .btn {
    font-size: calc(32 / 750 * 100vw);
    max-width: none;
    margin: calc(60/750*100vw) auto 0;
  }
  .sec-event .none {
    font-size: calc(30 / 750 * 100vw);
    width: calc(650 / 750 * 100vw);
    margin: calc(60/750*100vw) auto 0;
  }
}

/* page-business */
.sec-vision {
  background-color: #d8e8f2;
  margin: calc(120/1400*100vw) calc(-100/1400*100vw) 0;
  position: relative;
}
.sec-vision .bg-shape {
  background-image: url("../images/bg_shape01_blue.svg");
}
.sec-vision .bg-shape.js-scroll-ani {
  transition: all .3s ease;
  transform: translateY(0%);
}
.sec-vision .bg-shape.js-scroll-ani.is-animated {
  transform: translateY(-46%);
}
.sec-vision .text .lead {
  font-size: calc(34 / 16 * 1em);
  font-weight: 600;
  color: #404040;
  padding: calc(70 / 30 * 1em) 0 0;
}
.sec-vision .tximg01 {
  height: calc(100/1400*100vw);
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  padding-right: calc(24/1400*100vw);
  padding-bottom: calc(15/1400*100vw);
}
.sec-vision .tximg01 img {
  font-size: calc(58/16*1rem);
  line-height: 1;
  width: auto;
  height: 1em;
}
.list-hotel .img {
  position: relative;
}
.list-hotel .img img {
  border-radius: calc(30/1400*100vw);
}
.list-hotel .img .note {
  text-align: right;
  position: absolute;
  width: 100%;
}
.list-hotel .text .logo {
  text-align: center;
  margin: calc(20/18*1rem) 0 calc(40/18*1rem);
}
.list-hotel .text .logo img {
  max-width: 100%;
  width: auto;
}
.list-hotel .text .logo  img.logo-dah {
  width: calc(248/18*1rem);
}
.list-hotel .text .logo  img.logo-dhm {
  width: calc(224/18*1rem);
}
.list-hotel .text .logo  img.logo-tdh {
  width: calc(326/18*1rem);
}
.list-hotel .text .logo  img.logo-tsh {
  width: calc(204/18*1rem);
}
.list-hotel .text .logo  img.logo-fsh {
  width: calc(374/18*1rem);
}
.sec-hotel {
  margin-top: calc(160/1400*100vw) !important;
}
.sec-other {
  background-color: var(--color-bg1);
  padding-top: calc(160/1400*100vw);
  padding-bottom: calc(160/1400*100vw);
}
.sec-other .map {
  text-align: center;
  margin: -1em calc(58/1400*100vw) calc(125/1400*100vw);
}
@media screen and (min-width: 768px) {
  .sec-vision .inner {
    display: flex;
    justify-content: space-between;
  }
  .sec-vision .img {
    width: calc(750/1400*100vw);
    width: min(100% - calc(480/18*1em), 750/1400*100vw);
    margin-top: calc(-60/1400*100vw);
    margin-left: calc(-76/1400*100vw);
  }
  .sec-vision .img img {
    border-top-right-radius: calc(30/16*1rem);
    border-bottom-right-radius: calc(30/16*1rem);
  }
  .sec-vision .text {
    width: calc(518/1400*100vw);
    min-width: calc(500/18*1em);
    margin-bottom: 1em;
  }
  .list-hotels1 .list-hotel {
    display: flex;
    justify-content: space-between;
    flex-flow: row-reverse;
    flex-wrap: wrap;
    margin-top: calc(100/1400*100vw);
    align-items: flex-start;
  }
  .list-hotels1 .list-hotel .text,
  .list-hotels1 .list-hotel .img {
    width: calc(508/1048*100%);
  }
  .list-hotels1 .list-hotel .img {
    position: sticky;
    top: 0;
  }
  .list-hotels2 {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-top: calc(100/1400*100vw);
  }
  .list-hotels2 .list-hotel {
    width: calc(508/1048*100%);
  }
  .list-hotels2 .list-hotel .text {
    margin-top: 2em;
  }
}
@media screen and (max-width: 767px) {
  .sec-vision {
    margin: calc(80/750*100vw) 0 calc(130/750*100vw);
    padding: calc(70/750*100vw) 0 0;
  }
  .sec-vision .img {
    margin-left: calc(-50/750*100vw);
  }
  .sec-vision .img img {
    border-top-right-radius: calc(50/750*100vw);
    border-bottom-right-radius: calc(50/750*100vw);
  }
  .sec-vision .text .lead {
    font-size: calc(44 / 750 * 100vw);
    padding: calc(65 / 44 * 1em) 0 0;
  }
  .sec-vision .text .lead + p {
    margin-top: 1.5em;
  }
  .sec-vision .tximg01 {
    height: calc(90/750*100vw);
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
    margin-top: calc(140/750*100vw);
    padding-right: calc(10/750*100vw);
    padding-bottom: calc(12/750*100vw);
  }
  .sec-vision .tximg01 img {
    font-size: calc(67/750*100vw);
  }
  .list-hotel {
    margin-top: calc(120/750*100vw)
  }
  .list-hotel .img img {
    border-radius: calc(30/750*100vw);
  }
  .list-hotel .img .note {
    position: relative;
    font-size: calc(20/28*1rem);
  }
  .list-hotel .text {
    margin-top: 1em
  }
  .list-hotel .text .ti05 {
    font-size: calc(30/28*1rem);
  }
  .list-hotel .text .logo  img.logo-dah {
    width: calc(397/28*1rem);
  }
  .list-hotel .text .logo  img.logo-dhm {
    width: calc(358/28*1rem);
  }
  .list-hotel .text .logo  img.logo-tdh {
    width: calc(521/28*1rem);
  }
  .list-hotel .text .logo  img.logo-tsh {
    width: calc(326/28*1rem);
  }
  .list-hotel .text .logo  img.logo-fsh {
    width: calc(567/28*1rem);
  }
  .list-hotel .text .btn {
    margin-top: 1.5em;
  }
  .sec-hotel {
    margin-top: calc(130/750*100vw) !important;
  }
  .sec-other {
    padding-top: calc(130/750*100vw);
    padding-bottom: calc(200/750*100vw);
  }
  .sec-other .map {
    margin: calc(80/750*100vw) calc(-50/750*100vw) calc(180/750*100vw);
  }
}

.sec-story {
  background: #faf8ef;
  margin-top: 0;
  padding-top: calc(86/1400*100vw);
  padding-bottom: calc(120/1400*100vw);
}
.sec-story .cast-lead {
  display: table;
  position: relative;
  margin: 0 auto calc(65/1400*100vw);
}
.sec-story .cast-lead::before {
  content: "";
  width: calc(52/16*1rem);
  height: calc(71/16*1rem);
  background: url("../images/bg_star02.svg") 50% 50% no-repeat;
  background-size: contain;
  pointer-events: none;
  position: absolute;
  top: calc(-45/16*1rem);
  left: calc(-72/16*1rem);
}
.sec-story .cast-lead::after {
  content: "";
  width: calc(44/16*1rem);
  height: calc(70/16*1rem);
  background: url("../images/bg_star02b.svg") 50% 50% no-repeat;
  background-size: contain;
  pointer-events: none;
  position: absolute;
  bottom: calc(-25/16*1rem);
  right: calc(-70/16*1rem);
}
.sec-story .cast-lead img {
  font-size: calc(90/16*1rem);
  line-height: 1;
  width: auto;
  height: 1em;
}
.sec-story .cast-work {
  width: calc(852/1400*100vw);
  border: calc(18/16*1rem) solid #c7dddd;
  border-radius: calc(20/16*1rem);
  background: #fff;
  color: #8d6930;
  position: relative;
  margin: 0 auto calc(120/1400*100vw);
  padding: calc(16/1400*100vw) calc(78/1400*100vw) calc(30/1400*100vw);
}
.sec-story .cast-work::before {
  content: "";
  width: calc(100% + 16/16*1rem);
  height: calc(100% + 16/16*1rem);
  /*corner-shape: scoop;
  border: 1px solid var(--color-gold);
  border-radius: calc(30/16*1rem);*/
  border-image: url("../images/bg_border01.png") 50 /
  50px round;
  display: block;
  position: absolute;
  z-index: 1;
  pointer-events: none;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
}
.sec-story .cast-work .ti05 {
  font-weight: 600;
  text-align: center;
  line-height: 1.875;
  margin: 0 0 calc(20/16*1em);
}
.sec-story .cast-work .-notebook {
  font-size: calc(15/16*1rem);
  background-size: 100% calc(40/15*1em);
  background-position: 0 2px;
  line-height: calc(40/15*1);
  padding: 2px 0 0;
}
.sec-story .cast-work .links {
  font-size: calc(15/16*1rem);
  font-weight: 600;
  display: table;
  margin: auto 0 0 auto;
  padding-top: 1.7em;
  position: relative;
}
.sec-story .cast-work .links::before {
  content: "";
  display: block;
  position: absolute;
  font-size: calc(19/15*1em);
  width: 1em;
  height: 1em;
  background: url("../images/icon_star01_gold.svg") 0 0 no-repeat;
  background-size: contain;
  left: -1.3em;
  transform: translateY(.4em);
}
.sec-story .cast-work .text-link01 {
  color: inherit;
  border-color: #8d6930;
}
.sec-story .cast-text {
  margin-top: calc(190/1400*100vw);;
}
.sec-story .cast-work + .cast-text {
  margin-top: 0;
}
.sec-story .cast-text .ti09 {
  background-image: url("../images/icon_star01_base2.svg"), url("../images/icon_star01_base2.svg");
  background-repeat: no-repeat;
  background-position: 0 0, 100% 100%;
  background-size: 1.1em auto;
  position: relative;
  margin-bottom: .5em;
  padding: 1.5em .5em;
}
.sec-story .cast-text .ti09::before,
.sec-story .cast-text .ti09::after {
  content: "";
  width: calc(100% - 1.2em);
  border-top: 2px solid #adc1be;
  height: 0;
  display: block;
  position: absolute;
}
.sec-story .cast-text .ti09::before {
  right: 0;
  top: .5em;
}
.sec-story .cast-text .ti09::after {
  left: 0;
  bottom: .5em;
}
.sec-story .img02 {
  margin: calc(210/1400*100vw) calc(-176/1400*100vw) 0;
}
.sec-story .btn {
  margin: calc(140/1400*100vw) 0 0;
}
.sec-story .btn a {
  margin: 0 auto;
}
.sec-story .cast-text .img img {
  border-radius: calc(20/1400*100vw);
  transform: translate(calc(-26/1400*100vw), calc(-26/1400*100vw));
}
.sec-story .cast-text .img figure {
  border-radius: calc(20/1400*100vw);
  background-color: #b9d4d4;
  position: relative;
  z-index: 1;
  transform: translate(calc(26/1400*100vw), calc(26/1400*100vw));
}
.sec-story .cast-text .img figure::before {
  content: "";
  border-radius: calc(22/1400*100vw);
  width: 100%;
  height: 100%;
  background: url("../images/bg_overlay.png") 50% 5% repeat-x;
  background-size: calc(1117/1400*100vw) auto;
	mix-blend-mode: overlay;
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  z-index: -1;
}
.sec-story .cast-text:nth-last-child(2n) .img img {
  transform: translate(calc(26/1400*100vw), calc(-26/1400*100vw));
}
.sec-story .cast-text:nth-last-child(2n) .img figure {
  transform: translate(calc(-26/1400*100vw), calc(26/1400*100vw));
}
.page-interview.type-bs .sec-story .cast-work {
  border-color: #a9c3d9;
}
.page-interview.type-bs .sec-story .cast-text .ti09 {
  background-image: url(../images/icon_star01_bs2.svg), url(../images/icon_star01_bs2.svg);
}
.page-interview.type-bs .sec-story .cast-text .img figure {
  background-color: #b7cddf;
}
.page-interview.type-bs .sec-story .cast-text .ti09::before,
.page-interview.type-bs .sec-story .cast-text .ti09::after {
  border-color: #a6bccb;
}
@media screen and (min-width: 768px) {
  .sec-story .cast-text {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
  }
  .sec-story .cast-text .img {
    top: 0;
    position: sticky;
    width: calc(724/1048*100%);
    margin-right: calc(-136/1048*100%);
  }
  .sec-story .cast-text .text {
    width: calc(418/1048*100%);
  }
  .sec-story .cast-text:nth-last-child(2n) {
    flex-flow: row-reverse;
  }
  .sec-story .cast-text:nth-last-child(2n) .img {
    margin-left: calc(-136/1048*100%);
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .sec-story {
    padding-top: calc(122/750*100vw);
    padding-bottom: calc(120/750*100vw);
  }
  .sec-story .cast-lead {
    margin: 0 auto calc(116/750*100vw);
  }
  .sec-story .cast-lead::before {
    width: calc(58/750*100vw);
    height: calc(80/750*100vw);
    top: calc(-56/750*100vw);
    left: calc(-76/750*100vw);
  }
  .sec-story .cast-lead::after {
    width: calc(50/750*100vw);
    height: calc(79/750*100vw);
    bottom: calc(-32/750*100vw);
    right: calc(-73/750*100vw);
  }
  .sec-story .cast-lead img {
    font-size: calc(104/750*100vw);
  }
  .sec-story .cast-work {
    width: auto;
    border-width: calc(30/750*100vw);
    border-radius: calc(30/750*100vw);
    margin: 0 calc(-17/750*100vw) calc(158/750*100vw);
    padding: calc(36/750*100vw) calc(44/750*100vw) calc(56/750*100vw);
  }
  .sec-story .cast-work::before {
    width: calc(100% + 16/16*1rem);
    height: calc(100% + 16/16*1rem);
   /* border-radius: calc(40/750*100vw);*/
    border-image-width: calc(60 / 750 * 100vw);
  }
  .sec-story .cast-work .ti05 {
  }
  .sec-story .cast-work .-notebook {
    font-size: calc(26/28*1rem);
    background-size: 100% calc(72/750*100vw);
    line-height: calc(72/26*1);
  }
  .sec-story .cast-work .links {
    font-size: calc(26/28*1rem);
  }
  .sec-story .cast-text {
    margin-top: calc(190/750*100vw);
  }
  .sec-story .cast-text .ti09 {
    padding: 1.5em .7em;
  }
  .sec-story .cast-work + .cast-text {
    margin-top: 0;
  }
  .sec-story .img02 {
    margin: calc(255/750*100vw) calc(-50/750*100vw) 0;
  }
  .sec-story .btn {
    margin: calc(200/750*100vw) 0 0;
  }
  .sec-story .cast-text .text {
    font-size: calc(30/28*1rem);
    margin-bottom: calc(85/750*100vw);
  }
  .sec-story .cast-text .img img {
    border-radius: calc(40/750*100vw);
    transform: translate(calc(-40/750*100vw), calc(-40/750*100vw));
  }
  .sec-story .cast-text .img figure {
    border-radius: calc(40/750*100vw);
    transform: translate(calc(20/750*100vw), calc(20/750*100vw));
  }
  .sec-story .cast-text .img figure::before {
    border-radius: calc(42/750*100vw);
    background-size: calc(1400/750*100vw) auto;
  }
  .sec-story .cast-text:nth-last-child(2n) .img img {
    transform: translate(calc(40/750*100vw), calc(-40/750*100vw));
  }
  .sec-story .cast-text:nth-last-child(2n) .img figure {
    transform: translate(calc(-20/750*100vw), calc(20/750*100vw));
  }
}

/* top */
.sec-news {
  max-width: calc(736/16*1rem);
  margin: 0 auto;
}
.sec-news .ti01 {
  font-weight: 500;
  margin: 0 0 0 2.5em;
  font-size: calc(16/16*1rem);
  margin-bottom: -.7em;
}
.sec-news .ti01 .tx-en {
  padding-right: .2em;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: -.4em;
}
.sec-news .news-lists {
  border-radius: calc(20/16*1rem);
  background: #d8e8f2;
  padding: calc(45/1400*100vw) calc(88/1400*100vw);
  position: relative;
}
.sec-news .swiper-news > .news-list:not(:first-child) {
  display: none;
}
.sec-news .swiper-news .swiper-button-prev, .sec-news .swiper-news .swiper-button-next {
  font-size: calc(18/16*1rem);
  width: 1em;
  height: 1.4em;
  top: 50%;
  margin: 0;
  transform: translateY(-50%);
}
.sec-news .swiper-news .swiper-button-prev:after, .sec-news .swiper-news .swiper-button-next:after {
  display: block;
  background: url("../images/icon_arrow01_white.svg") 50% 50% no-repeat;
  background-size: contain;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: -9999em;
}
.sec-news .swiper-news .swiper-button-prev:after {
  transform: rotate(180deg);
}
.sec-news .news-list {
  font-size: calc(14/16*1rem);
}
.sec-news .news-list .date {
  font-weight: 700;
  width: 7em;
  display: inline-block;
  float: left;
}
.sec-news .news-list .text {
  display: table;
}
.sec-main {
  position: relative;
}
.sec-main .bg-bubble {
  position: relative;
  z-index: 0;
  pointer-events: none;
}
.sec-main .bg-bubble span {
  background: rgba(242,230,163,.80);
  border-radius: 50%;
  filter: blur(calc(80/1400*100vw));
  display: block;
  position: absolute;
}
.sec-main .bg-bubble span:nth-of-type(1) {
  width: calc(635/1400*100vw);
  height: calc(538/1400*100vw);
  top: calc(195/1400*100vw);
  left: calc(-200/1400*100vw);
  transform: rotate(-2.5deg);
}
.sec-main .bg-bubble span:nth-of-type(2) {
  width: calc(276/1400*100vw);
  height: calc(227/1400*100vw);
  top: calc(434/1400*100vw);
  left: calc(602/1400*100vw);
  transform: rotate(-2.5deg);
}
.sec-main .bg-bubble span:nth-of-type(3) {
  width: calc(615/1400*100vw);
  height: calc(615/1400*100vw);
  top: calc(55/1400*100vw);
  left: calc(855/1400*100vw);
  transform: rotate(-2.5deg);
}
.sec-main .bg-bubble span:nth-of-type(4) {
  display: none;
}
.sec-main .mv1 {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  overflow: hidden;
  z-index: 1;
  display: block;
}
.sec-main .mv1 img {
  object-fit: cover;
  min-height: 100vh;
}
.sec-main .mv1 .mv-slide .slick-slide.zoom img {
  animation: zoomUp 8s linear 0s normal both;
}
.sec-main .mv1 .swiper-mv1 .swiper-slide[class*=-active] img,
.sec-main .mv1 .swiper-mv1 .swiper-slide-prev img {
  animation: zoomUp 8s linear normal both;
}
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.12);
  }
}
.sec-main h1 {
  visibility: hidden;
  position: absolute;
}
.sec-main .mv-lead {
  font-size: calc(38/1400*100vw);
  font-family: var(--font-Mincho);
  font-weight: 700;
  position: absolute;
  bottom: calc(40/1400*100vw);
  left: calc(90/1400*100vw);
  color: #fff;
}
.sec-main .mv-lead .tximg01 {
  transform: translateX(-1em);
  display: block;
}
.sec-main .mv-lead .tximg01 img {
  font-size: calc(136/1400*100vw);
  line-height: 1;
  width: auto;
  height: 1em;
  filter: drop-shadow(0 0 .015em #ffffff);
}
.sec-main .mv-text {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  height: 100svh;
  display: block;
  z-index: 2;
}
.sec-main .mv-text.mv-text1 {
  position: absolute;
}
.sec-main .mv-text.mv-text2 {
  height: 500vh;
  height: 500svh;
  top: 0;
  left: 0;
  margin: 0 0 100vh;
  margin: 0 0 100svh;
}
.sec-main .mv-lead2 {
  font-size: min(36/768*100vh, 36/1400*100vw);
  font-weight: 500;
  color: #fff;
  line-height: calc(90/36);
  left: calc(160/1400*100vw);
  bottom: calc(55/36*1em);
  position: absolute;
}
.sec-main .mv-lead2 .text-link02 {
  font-size: calc(20/1400*100vw);
  font-weight: 400;
  color: #fff;
  text-decoration: none;
}
.sec-main .mv-lead2 .text-link02::after {
  font-size: calc(20/1400*100vw);
  font-weight: 400;
  color: #fff;
  text-decoration: none;
}
.sec-main .mv-lead2 .text-link02::before {
  content: "";
  display: inline-block;
  font-size: 1.35em;
  width: 1em;
  height: 1em;
  background: url("../images/icon_star01_gold.svg") 0 0 no-repeat;
  background-size: contain;
  vertical-align: middle;
  margin-right: .2em;
}
.sec-main .mv2 {
  position: relative;
  margin: 0 0 calc(160/1400*100vw);
}
.sec-main .mv2 .tximg01 {
  position: absolute;
  top: calc(-78/1400*100vw);
  right: calc(12/1400*100vw);
}
.sec-main .mv2 .tximg01 img {
  font-size: calc(136/1400*100vw);
  line-height: 1;
  width: auto;
  height: 1em;
}
.sec-main .mv2 .swiper-mv2 {
  width: calc(1826/1400*100vw);
  height: calc(513/1400*100vw);
}
.sec-main .mv2 .swiper-mv2 .swiper-wrapper {
  transition-timing-function: linear;
}
.sec-main .mv2 .mv2-slide {
  position: relative;
  width: calc(1826/1400*100vw);
  height: calc(513/1400*100vw);
  display: block;
}
.sec-main .mv2 .mv2-slide video {
  width: 100%;
  vertical-align: top;
  transform: scale(1.01);
}
.sec-main .mv2 .mv2-slide > div {
  position: absolute;
  border-radius: calc(15/1400*100vw);
  overflow: hidden;
}
.sec-main .mv2 .mv2-slide > div.mv2-img01 {
  width: calc(300/1826*100%);
  left: calc(36/1826*100%);
  top: 0;
}
.sec-main .mv2 .mv2-slide > div.mv2-img02 {
  width: calc(278/1826*100%);
  left: calc(116/1826*100%);
  top: calc(280/513*100%);
  z-index: 1;
}
.sec-main .mv2 .mv2-slide > div.mv2-img03 {
  width: calc(244/1826*100%);
  left: calc(376/1826*100%);
  top: calc(123/513*100%);
}
.sec-main .mv2 .mv2-slide > div.mv2-img04 {
  width: calc(293/1826*100%);
  left: calc(628/1826*100%);
  top: calc(295/513*100%);
}
.sec-main .mv2 .mv2-slide > div.mv2-img05 {
  width: calc(262/1826*100%);
  left: calc(682/1826*100%);
  top: calc(47/513*100%);
}
.sec-main .mv2 .mv2-slide > div.mv2-img06 {
  width: calc(266/1826*100%);
  left: calc(974/1826*100%);
  top: calc(155/513*100%);
  z-index: 1;
}
.sec-main .mv2 .mv2-slide > div.mv2-img07 {
  width: calc(302/1826*100%);
  left: calc(1219/1826*100%);
  top: calc(35/513*100%);
}
.sec-main .mv2 .mv2-slide > div.mv2-img08 {
  width: calc(260/1826*100%);
  left: calc(1266/1826*100%);
  top: calc(308/513*100%);
}
.sec-main .mv2 .mv2-slide > div.mv2-img09 {
  width: calc(266/1826*100%);
  left: calc(1560/1826*100%);
  top: calc(195/513*100%);
}
.bg-gradient {
  width: 100%;
  height: calc(526/1400*100vw);
  display: block;
  margin-bottom: -1em;
}
.sec-main .bg-gradient {
  background: linear-gradient(to bottom, transparent, #ffffff 90%);
  position: relative;
  z-index: 3;
}
.sec-main .bg {
  overflow: hidden;
  background: #ffffff;
  padding: calc(255/1400*100vw) 0 calc(230/1400*100vw);
  position: relative;
  z-index: 3;
}
.sec-top {
  margin: 0;
  padding-top: 1px;
  padding-bottom: calc(160/1400*100vw);
}
.sec-top .inner {
    padding: 0 calc(40 / 1400 * 100vw);
}
.sec-top .ti01 {
  font-weight: 500;
}
.sec-top .ti01 .tx-en {
  font-size: calc(78/18*1em);
}
.sec-top#jobtype {
  padding: 0;
}
.sec-top#jobtype .bg-gradient {
  background: linear-gradient(to bottom, transparent, #f7f3e4 90%);
}
.sec-top#jobtype .bg {
  background: #f7f3e4;
  padding: 1px calc(100/1400*100vw) calc(160/1400*100vw);
  overflow: hidden;
}
.sec-top#jobtype .mv-movie {
  margin: 0 0 100vh;
  height: 100vh;
  position: sticky;
  top: 0;
  z-index: -1;
  display: block;
}
.movie-bg {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  margin: 0 0 100vh;
  height: 100vh;
  z-index: -1;
  pointer-events: none;
  display: block;
  padding: 0 calc(160/1400*100vw);
}
.movie-bg .movie-inner {
  height: 100%;
  display: block;
  position: relative;
}
.movie-bg video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.sec-top#jobtype .lead {
  width: calc(415/24*1em);
  display: table;
  font-weight: 500;
  font-size: calc(24/1400*100vw);
  color: #4c4c4c;
  position: relative;
  line-height: 1;
  margin: .5em -1em 0 auto;
  padding: 0;
  text-align: center;
}
.sec-top#jobtype .lead::after {
  content: "";
  background: url("../images/bg_speech01_jobtype.svg") 50% 0 no-repeat;
  width: 100%;
  height: calc(62/24*1em);
  display: block;
  position: relative;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.sec-top#interview {
  margin-top: calc(90/1400*100vw);
  padding-bottom: calc(360 / 1400 * 100vw);
}
.sec-top#interview .cast-lists {
  width: calc(992/1400*100vw);
  height: calc(700/1400*100vw);
  margin: calc(25/1400*100vw) calc(-140/1400*100vw) 0 auto;
  position: relative;
  overflow: hidden;
}
.sec-top#interview .swiper-cast {
  width: calc(992/1400*100vw);
  position: relative;
}
.sec-top#interview .swiper {
  overflow: visible;
}
.sec-top#interview .swiper .swiper-slide {
  width: calc(500/1400*100vw);
  position: relative;
	transition: .6s transform ease, .6s margin ease, .3s opacity linear;
	transform: scale(.49);
  transform-origin: center 65%;
	margin-right: -24%;
}
.sec-top#interview .swiper .swiper-slide figure {
  margin-left: 0;
	transition: .6s all ease;
}
.sec-top#interview .swiper .swiper-slide[class*=-active] {
	transform: scale(1);
}
.sec-top#interview .swiper .swiper-slide[class*=-active] figure {
  margin-left: 17.2%;
}
.sec-top#interview .swiper .swiper-slide-active {
	margin-right: -9%;
}
.sec-top#interview .swiper .swiper-slide-prev {
	opacity: 0 !important;
}
.sec-top#interview .swiper-slide .text01,
.sec-top#interview .swiper-slide .text02 {
  visibility: hidden;
  opacity: 0;
	transition: .2s .7s opacity ease;
}
.sec-top#interview .swiper-slide .text02 {
	transition: .2s .5s opacity ease;
}
.sec-top#interview .cast-list .text01 > span::before {
  transform: scaleX(0);
  transform-origin: left;
	transition: .2s transform linear;
}
.sec-top#interview .swiper-slide .text01 > span > span {
  overflow: hidden;
	transition: .2s all ease;
  transform: translateY(100%);
}
.sec-top#interview .swiper-slide.swiper-slide-active .text01 > span:nth-child(1) > span {
  transition-delay: 1.1s;
}
.sec-top#interview .swiper-slide.swiper-slide-active .text01 > span:nth-child(2) > span {
  transition-delay: 1.2s;
}
.sec-top#interview .swiper-slide.swiper-slide-active .text01 > span:nth-child(3) > span {
  transition-delay: 1.3s;
}
.sec-top#interview .cast-list.swiper-slide-active .text01 > span:nth-child(1)::before {
  transition-delay: .7s;
}
.sec-top#interview .cast-list.swiper-slide-active .text01 > span:nth-child(2)::before {
  transition-delay: .8s;
}
.sec-top#interview .cast-list.swiper-slide-active .text01 > span:nth-child(3)::before {
  transition-delay: .9s;
}
.sec-top#interview .swiper-slide.swiper-slide-active .text01 > span::before {
  transform: scaleX(1);
}
.sec-top#interview .swiper-slide.swiper-slide-active .text01,
.sec-top#interview .swiper-slide.swiper-slide-active .text02 {
  opacity: 1;
  visibility: visible;
}
.sec-top#interview .swiper-slide.swiper-slide-active .text01 > span > span {
  transform: translateY(0%);
}
.sec-top#interview .cast-lists .cast-list .text01 {
  font-size: calc(30/1400*100vw);
  position: absolute;
  left: 0;
  transform: translateY(calc(-100% - 1.3em));
    font-feature-settings: "palt";
}
.sec-top#interview .cast-lists .cast-list .text02 {
  font-size: calc(14 / 1400 * 100vw);
  margin: .8em 0 0 18%;
  position: absolute;
}
.sec-top#interview .cast-lists .cast-list .text02 .tx-label {
  font-size: calc(14 / 1400 * 100vw);
  margin: 0 0 .5em;
}
.sec-top#interview .cast-lists .cast-list figure {
  border-radius: 0;
}
.sec-top#interview .cast-list a:hover figure img {
  transform: none !important;
}

.sec-top#interview .swiper-button {
  width: calc(145/1400*100vw);
  height: calc(90/1400*100vw);
  position: absolute;
  display: block;
  right: calc(270/1400*100vw);
  top: calc(100/1400*100vw);
  z-index: 5;
}
.sec-top#interview .swiper-button-prev, .sec-top#interview .swiper-button-next {
  font-size: calc(64/1400*100vw);
  width: 1em;
  height: 1em;
  top: 0;
  margin: 0;
}
.sec-top#interview .swiper-button-prev:after, .sec-top#interview .swiper-button-next:after {
  border: 1px solid var(--color-red);
  border-radius: 50%;
  display: block;
  background: url("../images/icon_arrow01_red.svg") 50% 50% no-repeat;
  background-size: 17% auto;
  width: 100%;
  height: 100%;
  overflow: hidden;
  text-indent: -9999em;
}
.sec-top#interview .swiper-button-prev {
  left: 0;
}
.sec-top#interview .swiper-button-prev:after {
  transform: rotate(180deg);
}
.sec-top#interview .swiper-button-next {
  right: 0;
}
.sec-top#interview .swiper-pagination {
  font-size: 0;
  bottom: 0;
}
.sec-top#interview .swiper-pagination-bullet {
  font-size: calc(8/1400*100vw);
  background: #b3b3b3;
  width: 1em;
  height: 1em;
  margin: 0 calc(6/8*1em);
  transition: .3s transform;
}
.sec-top#interview .swiper-pagination-bullet-active {
    opacity: 1;
    background: var(--color-red);
  transform: scale(1.75);
}


.tximg01 {
  pointer-events: none;
}
.sec-top#interview .tximg01 {
  position: absolute;
  left: calc(14/1400*100vw);
  transform: translateY(calc(250/312*100% - 100%));
  z-index: -1;
}
.sec-top#interview .tximg01 img {
  font-size: calc(312/1400*100vw);
  line-height: 1;
  width: auto;
  height: 1em;
}
.sec-top#interview .bg {
  background: #f1e4b6;
  background: linear-gradient(-30deg, #f7edcc 30%, #ecdca6);
  width: calc(635/1400*100vw);
  height: calc(670/1400*100vw);
  display: block;
  position: absolute;
  right: 0;
  top: calc(80/1400*100vw);
  z-index: -1;
}
.sec-top#interview .slick-arrow {
  width: calc(64/1400*100vw);
  height: calc(64/1400*100vw);
  border: 1px solid var(--color-red);
  border-radius: 50%;
  top: calc(92/1400*100vw);
  transform: none;
  background: url("../images/icon_arrow01_red.svg") 50% 50% no-repeat !important;
  background-size: 16% auto;
}
.sec-top#interview .slick-arrow:before {
  display: none;
}
.sec-top#interview .slick-arrow.slick-prev {
  left: calc(590/1400*100vw);
  transform: rotate(180deg);
}
.sec-top#interview .slick-arrow.slick-next {
  right: calc(270/1400*100vw);
}
.sec-top#interview .slick-arrow:hover {
  opacity: .7;
}
.sec-top#interview .slick-dots {
  display: table;
  left: calc(660/1400*100vw);
  top: calc(170/1400*100vw);
  bottom: auto;
  transform: translateX(-50%)
}
.sec-top#interview .slick-dots li {
  width: calc(8/1400*100vw);
  height: calc(8/1400*100vw);
  border-radius: 50%;
  overflow: hidden;
  background: #b3b3b3;
  margin: 0 calc(6/1400*100vw);
}
.sec-top#interview .link-banner {
  margin-top: calc(160/1400*100vw);
}
.sec-top#interview .slick-dots li button:before {
  display: none;
}
.sec-top#interview .slick-dots li.slick-active {
  background: var(--color-red);
  transform: scale(1.75)
}

.sec-top#interview .slick-slide {
  -webkit-transition: 0.3s ease-in-out;
  transition: 0.3s ease-in-out;
  transform: scale( .75 );
}
.sec-top#interview .is--active {
  transform: scale( 1 );
}
.sec-top#environment {
  /*overflow: hidden;*/
  position: relative;
  padding-top: 1px;
  z-index: 0;
}
.sec-top#environment .bg::after {
  content: "";
  background: #d8e8f2;
  width: 100%;
  height: 86%;
  left: 0%;
  bottom: 0%;
  position: absolute;
  display: block;
  z-index: -2;
  transform: scale(0);
  opacity: 0;
  transform-origin: center top;
  transition: all .5s 1.2s ease-in;
}
.sec-top#environment .bg .bg-shape {
  background: #d8e8f2;
  mask: url("../images/bg_shape01_blue.svg") 50% 0% / 100% auto no-repeat;
  width: 100%;
  height: 0%;
  padding-top: calc(281/320*100%);
  display: block;
  position: absolute;
  left: 0%;
  top: 0;
  z-index: -1;
  transform: scale(0);
  transform-origin: center 34%;
  transition: all 1.5s .2s ease-in;
}
.sec-top#environment .bg .bg-shape::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/bg_overlay.png") 50% 26% repeat-x;
  background-size: 50% auto;
	mix-blend-mode: overlay;
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 2;
  opacity: .7;
  opacity: 0;
  transition: opacity .2s 1.5s ease-in;
}
.sec-top#environment .tximg01 {
  position: absolute;
  bottom: calc(2/1400*100vw);
  right: calc(14/1400*100vw);
  z-index: -1;
}
.sec-top#environment .tximg01 img {
  font-size: calc(104/16*1rem);
  line-height: 1;
  width: auto;
  height: 1em;
}
.sec-top#environment .ti01 {
  margin-top: calc(130/1400*100vw);
}
.sec-top#environment .lead {
  width: calc(469/24*1em);
  display: table;
  font-weight: 500;
  font-size: calc(24/1400*100vw);
  color: #4c4c4c;
  position: relative;
  text-align: center;
  line-height: 1;
  margin: .5em -1em 0 auto;
  padding: 0;
}
.sec-top#environment .lead .logo {
  width: auto;
  height: calc(26/24*1em);
  vertical-align: baseline;
  margin: 0 .2em;
  display: inline-block;
}
.sec-top#environment .lead::after {
  content: "";
  background: url("../images/bg_speech01.svg") 50% 0 no-repeat;
  background-size: contain;
  width: 100%;
  height: calc(74/24*1em);
  display: block;
  position: relative;
  left: 0;
  bottom: 0;
  z-index: 1;
}
.sec-top#environment .voice-lists {
  width: calc(1048/1400*100vw);
  margin: calc(30/1400*100vw) auto calc(80/1400*100vw);
}
.sec-top#environment .list-index {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin: calc(30/1400*100vw) 0 calc(80/1400*100vw);
}
.sec-top#environment .list-index li {
  width: calc(269/1120*100%);
  position: relative;
}
.sec-top#environment .list-index li:nth-of-type(2n) {
  margin-top: calc(50/1120*100%);
}
.sec-top#environment .list-index li .text {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  left: 0;
  top: 0;
}
.sec-top#environment .list-index li .text img {
  transform: scale(1.0446);
}
.sec-top#career {
  background-color: #fff;
  position: relative;
  z-index: 1;
}
.sec-top#career .bg-star {
  background-image: url("../images/bg_star03_green.svg");
  top: 100%;
}
.sec-top#career .bg {
  background: #cde6cb;
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  z-index: -1;
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.sec-top#career .list-index {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin: calc(75/1400*100vw) 0 0;
}
.sec-top#career .list-index li {
  width: calc(544/1120*100%);
}
.sec-top#career .list-index a {
  display: block;
  color: #fff;
  position: relative;
}
.sec-top#career .list-index .img {
  overflow: hidden;
  border-radius: calc(40/1400*100vw);
}
.sec-top#career .list-index .img img {
  transition: all 0.3s ease;
}
.sec-top#career .list-index .text {
  width: 100%;
  height: 100%;
  font-size: calc(30/1400*100vw);
  font-weight: 600;
  position: absolute;
  top: 0;
  left: 0;
  padding: calc(20/1400*100vw) calc(40/1400*100vw);
  line-height: 1.3;
}
.sec-top#career .list-index .text .tx-en {
  font-size: calc(14/30*1em);
  font-weight: 400;
}
.sec-top#career .list-index .text .ic-arrow {
  font-size: calc(64/30*1em);
  background-image: url("../images/icon_arrow01_red.svg");
  background-size: 16% auto;
	background-color: #fff;
  background-position: 52% 50%;
  top: auto;
  left: auto;
  right: calc(15/1400*100vw);
  bottom: calc(15/1400*100vw);
  transform: none;
}
.sec-top#career .list-index a:hover .img img {
  transform: scale(1.1);
}
.sec-top#career .list-index a:hover .text .ic-arrow {
  filter: brightness(1.2);
}
.sec-top#about {
  background-color: #fff;
  position: relative;
  padding-top: calc(300/1400*100vw);
}
.sec-top#about .ti01 {
  margin: auto;
}
.sec-top#about .inner {
  padding-left: calc(128/1400*100vw);
}
.sec-top#about .sec-box {
  min-width: 830px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-radius: calc(40/18*1rem);
  background: #ffffff;
  margin: 0 calc(96/1400*100vw) 0 calc(116/1400*100vw);
  margin: 0 auto;
  padding: calc(82/1400*100vw) calc(52/1400*100vw) calc(82/1400*100vw) 0;
  position: relative;
}
.sec-top#about .bg,
.sec-top#about .bg2 {
  background: #9b1a1a;
  background: linear-gradient(#9b1a1a, #b0473c);
  width: calc(360/1400*100vw);
  height: calc(350/1400*100vw);
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  transform: translate(calc(-90/350*100%), calc(-43/360*100%));
  opacity: .8;
  z-index: -1;
}
.sec-top#about .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/bg_overlay.png") 50% 50% repeat-x;
  background-size: calc(1400/1400*100vw) auto;
	mix-blend-mode: overlay;
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 2;
  opacity: .2;
}
.sec-top#about .bg2 {
  transform: translate(calc(-73/350*100%), calc(-26/360*100%));
  z-index: -2;
}
.sec-top .btns .btn-link03 {
  width: calc(362 / 16 * 1rem);
  height: calc(76 / 16 * 1rem);
  margin: auto;
}
.sec-top .btns li + li  {
  margin-top: calc(20 / 16 * 1rem);
}

@media screen and (min-width: 767px) and (max-width: 1040px) {
  .sec-top#about .sec-box {
    min-width: 0;
    flex-direction: column;
    padding: 5em 2em 0;
  }
  .sec-top#about .ti01 {
    margin-bottom: 3em;
  }
  .sec-top#about .ti01 .tx-en {
    margin-bottom: -.2em;
  }
}
@media screen and (max-width: 767px) {
  .sec-news {
    max-width: none;
    margin: 0 auto;
  }
  .sec-news .ti01 {
    font-size: calc(24/750*100vw);
    margin-left: 1.5em;
  }
  .sec-news .news-lists {
    border-radius: calc(40/750*100vw);
    padding: calc(50/750*100vw) calc(70/750*100vw);
  }
  .sec-news .swiper-news .swiper-button-prev {
    left: calc(-40/750*100vw);
  }
  .sec-news .swiper-news .swiper-button-next {
    right: calc(-40/750*100vw);
  }
  .sec-news .swiper-news .swiper-button-prev:after, .sec-news .swiper-news .swiper-button-next:after {
    font-size: calc(31/750*100vw);
    background-image: url("../images/icon_arrow01_blue.svg");
  }
  .sec-news .news-list {
    font-size: calc(26/750*100vw);
  }
  .sec-news .news-list .date {
    width: auto;
    display: block;
    float: none;
  }
  .sec-news .news-list .text {
    display: block;
    font-feature-settings: "palt";
    letter-spacing: 0.02em;
  }
  .sec-main .bg-bubble span {
    filter: blur(calc(80/750*100vw));
  }
  .sec-main .bg-bubble span:nth-of-type(1) {
    width: calc(521/750*100vw);
    height: calc(766/750*100vw);
    top: calc(185/750*100vw);
    left: calc(-276/750*100vw);
    transform: rotate(3.1deg);
  }
  .sec-main .bg-bubble span:nth-of-type(2) {
    width: calc(536/750*100vw);
    height: calc(352/750*100vw);
    top: calc(696/750*100vw);
    left: calc(109/750*100vw);
    transform: rotate(70.5deg);
  }
  .sec-main .mv-lead {
    font-size: calc(40/750*100vw);
    bottom: calc(90/750*100vw);
    left: calc(35/750*100vw);
  }
  .sec-main .mv-lead .tximg01 {
    transform: translateX(-.5em);
    display: block;
  }
  .sec-main .mv-lead .tximg01 img {
    font-size: calc(119/750*100vw);
  }
  .sec-main .mv-text.mv-text2 {
    height: 300vh;
    height: 300svh;
  }
  .sec-main .mv-lead2 {
    font-size: min(36/1300*100vh, 36/750*100vw);
    left: calc(50/750*100vw);
    bottom: calc(100/36*1em);
  }
  .sec-main .mv-lead2 .text-link02 {
    font-size: calc(20/750*100vw);
    font-weight: 400;
    color: #fff;
    text-decoration: none;
  }
  .sec-main .mv2 {
    position: relative;
    margin: 0 0 calc(250/750*100vw);
  }
  .sec-main .mv2 .tximg01 {
    top: calc(-88/750*100vw);
    right: calc(4/750*100vw);
  }
  .sec-main .mv2 .tximg01 img {
    font-size: calc(128/750*100vw);
    }
  .sec-main .mv2 .swiper-mv2 {
    width: calc(1826/750*100vw*1.8);
    height: calc(513/750*100vw*1.8);
  }
  .sec-main .mv2 .mv2-slide {
    width: calc(1826/750*100vw*1.8);
    height: calc(513/750*100vw*1.8);
  }
  .sec-main .mv2 .mv2-slide > div {
    border-radius: calc(20/750*100vw);
  }
  .bg-gradient {
    width: 100%;
    height: calc(526/750*100vw);
    display: block;
  }
  .sec-main .bg {
    padding: calc(108/750*100vw) 0 calc(260/750*100vw);
  }
  .sec-top {
    margin: 0;
    padding-top: 1px;
    padding-bottom: calc(160/750*100vw);
    padding: 0;
  }
  .sec-top .inner {
      padding: 0 calc(50 / 750 * 100vw);
  }
  .sec-top .ti01 {
    margin: calc(260/750*100vw) 0 calc(80/750*100vw) calc(12/750*100vw);
  }
  .sec-top .ti01 .tx-en {
    font-size: calc(80/28*1em);
    margin-bottom: -.2em;
  }
  .sec-top#jobtype {
    padding: 0;
  }
  .sec-top#jobtype .bg {
    padding: 1px 0 calc(230/750*100vw);
  }
  .movie-bg {
    padding: 0 calc(50/750*100vw);
  }
  .sec-top#jobtype .lead {
    font-size: calc(27/750*100vw);
  }
  .sec-top#interview {
    margin-top: calc(360/750*100vw);
    padding-bottom: 0;
  }
  .sec-top#interview .cast-lists {
    width: auto;
    height: calc(1070/750*100vw);
    margin: calc(120/750*100vw) calc(-50/750*100vw) 0;
  }
  .sec-top#interview .swiper-cast {
    width: auto;
  }
  .sec-top#interview .cast-lists .cast-list {
    width: calc(660/750*100vw);
    margin-left: 0;
  }
  .sec-top#interview .cast-lists .cast-list .text01 {
    font-size: calc(38 / 750 * 100vw);
    left: calc(40/750*100vw)
  }
  .sec-top#interview .cast-lists .cast-list .text02 {
    font-size: calc(28/750*100vw);
  }
  .sec-top#interview .cast-lists .cast-list .text02 .tx-label {
    font-size: calc(26/750*100vw);
  }
  .sec-top#interview .swiper-slide[class*=-active] figure {
    margin-left: 13.5%;
  }
  .sec-top#interview .swiper-slide-active {
    margin-right: -18%;
  }
  .sec-top#interview .swiper-slide-active:not(.swiper-slide-duplicate) + .swiper-slide,
  .sec-top#interview .swiper-slide-active.swiper-slide-duplicate + .swiper-slide-duplicate,
  .sec-top#interview .swiper-slide-active:not(.swiper-slide-duplicate) + .swiper-slide + .swiper-slide,
  .sec-top#interview .swiper-slide-active:not(.swiper-slide-duplicate) + .swiper-slide + .swiper-slide + .swiper-slide {
    margin-right: -28%;
  }
  .sec-top#interview .swiper-button {
    width: 100%;
    height: auto;
    right: 0;
    top: calc(950/750*100vw);
  }
  .sec-top#interview .swiper-button .swiper-button-prev,
  .sec-top#interview .swiper-button .swiper-button-next {
    display: none;
  }
  .sec-top#interview .swiper-pagination-bullet {
    font-size: calc(16/750*100vw);
  }
  .sec-top#interview .tximg01 {
    left: calc(10/750*100vw);
    transform: translateY(calc(110/349*100% - 100%));
  }
  .sec-top#interview .tximg01 img {
    font-size: calc(349/750*100vw);
  }
  .sec-top#interview .bg {
    width: calc(365/750*100vw);
    height: calc(988/750*100vw);
    top: calc(-145/750*100vw);
  }
  .sec-top#interview .slick-arrow {
    width: calc(64/750*100vw);
    height: calc(64/750*100vw);
    top: calc(92/750*100vw);
    background-size: 16% auto;
  }
  .sec-top#interview .slick-arrow:before {
    display: none;
  }
  .sec-top#interview .slick-arrow.slick-prev {
    left: calc(590/750*100vw);
    transform: rotate(180deg);
  }
  .sec-top#interview .slick-arrow.slick-next {
    right: calc(270/750*100vw);
  }
  .sec-top#interview .slick-dots {
    left: calc(660/750*100vw);
    top: calc(170/750*100vw);
  }
  .sec-top#interview .slick-dots li {
    width: calc(8/750*100vw);
    height: calc(8/750*100vw);
    margin: 0 calc(6/750*100vw);
  }
  .sec-top#interview .link-banner {
    margin-top: calc(280/750*100vw);
  }
  .sec-top#environment {
    margin-top: calc(230/750*100vw);
    padding-bottom: calc(320/750*100vw);
  }
  .sec-top#environment .tximg01 {
    bottom: 0;
    right: 0;
  }
  .sec-top#environment .tximg01 img {
    font-size: calc(310/750*100vw);
  }
  .sec-top#environment .ti01 {
    margin-top: calc(225/750*100vw);
  }
  .sec-top#environment .lead {
    font-size: calc(24/750*100vw);
  }
  .sec-top#environment .voice-lists {
    width: auto;
    margin: calc(28/750*100vw) 0 calc(120/750*100vw);
  }
  .sec-top#environment .list-index {
    flex-wrap: wrap;
    margin: calc(28/750*100vw) 0 calc(120/750*100vw);
  }
  .sec-top#environment .list-index li {
    width: calc(308/750*100vw);
  }
  .sec-top#environment .list-index li:nth-of-type(2n) {
    margin-top: calc(45/750*100vw);
  }
  .sec-top#environment .list-index li .text {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    left: 0;
    top: 0;
  }
  .sec-top#environment .list-index li .text img {
    transform: scale(1.0446);
  }
  .sec-top#career {
    padding-top: 1px;
    padding-bottom: calc(170/750*100vw);
  }
  .sec-top#career .list-index {
    flex-flow: column;
    margin: 0;
  }
  .sec-top#career .list-index li {
    width: 100%;
    margin: 0 0 calc(60/750*100vw);
  }
  .sec-top#career .list-index a {
    display: block;
    color: #fff;
    position: relative;
  }
  .sec-top#career .list-index .img {
    overflow: hidden;
    border-radius: calc(40/750*100vw);
  }
  .sec-top#career .list-index .img img {
    transition: all 0.3s ease;
  }
  .sec-top#career .list-index .text {
    width: 100%;
    height: 100%;
    font-size: calc(36/750*100vw);
    font-weight: 600;
    position: absolute;
    top: 0;
    left: 0;
    padding: calc(20/750*100vw) calc(40/750*100vw);
    line-height: 1.3;
  }
  .sec-top#career .list-index .text .tx-en {
    font-size: calc(20/36*1em);
    font-weight: 400;
    margin-bottom: .3em;
    display: inline-block;
  }
  .sec-top#career .list-index .text .ic-arrow {
    font-size: calc(90/36*1em);
    right: calc(20/750*100vw);
    bottom: calc(20/750*100vw);
  }
  .sec-top#about {
    padding-top: calc(455/750*100vw);
  }
  .sec-top#about .ti01 {
    margin: 0 auto calc(100/750*100vw);
  }
  .sec-top#about .inner {
    padding-left: calc(50/750*100vw);
  }
  .sec-top#about .sec-box {
    min-width: 0;
    border-radius: calc(40/750*100vw);
    flex-direction: column;
    margin: 0 0;
    padding: calc(120/750*100vw) calc(75/750*100vw) calc(120/750*100vw);
  }
  .sec-top#about .bg,
  .sec-top#about .bg2 {
    width: calc(533/750*100vw);
    height: calc(484/750*100vw);
    transform: translate(calc(-114/750*100vw), calc(-95/750*100vw));
  }
  .sec-top#about .bg::before {
  }
  .sec-top#about .bg2 {
    transform: translate(calc(-80/750*100vw), calc(-58/750*100vw));
  }
  .sec-top .btns .btn-link03 {
    width: calc(500 / 750 * 100vw);
    height: calc(120 / 750 * 100vw);
    margin: auto;
  }
  .sec-top .btns li + li  {
    margin-top: calc(40 / 750 * 100vw);
  }
}


/* page-environment */
.page-environment .img01 {
  height: calc(722/1400*100vw);
  display: block;
  position: relative;
  margin: calc(160/1400*100vw) 0;
}
#voice {
  padding-top: calc(150/1400*100vw);
  padding-bottom: calc(160/1400*100vw);
}
#voice .bg {
  border-radius: 50% 50% 0 0 / 20em 20em 0 0;
  background: #cde2ee;
  width: 118%;
  height: 100%;
  display: block;
  position: absolute;
  left: 50%;
  top: 0;
  z-index: -1;
  transform: translateX(-50%);
  overflow: hidden;
}
#voice .bg::before {
  content: "";
  width: 100%;
  height: 100%;
  background: url("../images/bg_overlay.png") 50% 0 repeat-x;
  background-size: calc(1400/1400*100vw) auto;
	mix-blend-mode: overlay;
  display: block;
  left: 0;
  top: 0;
  position: absolute;
  z-index: 2;
  opacity: .7;
}
#voice .ti {
  text-align: center;
}
#voice .ti .sub {
  height: 2em;
  display: table;
  font-size: calc(30/16*1rem);
  font-weight: 700;
  color: #4c4c4c;
  text-align: center;
  margin: 0 auto 1em;
  padding: 0 2em;
  position: relative;
  line-height: 1.4;
}
#voice .ti .sub::before,
#voice .ti .sub::after {
  content: "";
  width: calc(44/30*1em);
  height: calc(57/30*1em);
  background: url("../images/bg_speech02.svg") 0 0 no-repeat;
  background-size: cover;
  display: inline-block;
  position: absolute;
  z-index: 2;
}
#voice .ti .sub::before {
  left: 0;
}
#voice .ti .sub::after {
  transform: scale(-1,1);
  right: 0
}
#voice .ti .ti02 {
  font-size: calc(46/16*1rem);
  margin-bottom: 1em;
}
#voice .ti .ti02 .logo {
  width: auto;
  height: calc(56/46*1em);
  vertical-align: baseline;
  margin-right: .2em;
  display: inline-block;
}
#voice .ti .ti02 .fs-s {
  width: auto;
  font-size: calc(40/46*1em);
}
.voice-lists {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: calc(90/1400*100vw) 0 0;
}
.voice-lists .voice-list {
  width: calc(508/1048*100%);
  margin-bottom: calc(32/1048*100%);
}
.voice-lists .voice-list .modal-img {
  width: calc(388/508*100%);
  padding-top: 12%;
}
#voice .tximg01 {
  position: absolute;
  bottom: calc(2/1400*100vw);
  right: calc(14/1400*100vw);
  z-index: -1;
}
#voice .tximg01 img {
  font-size: calc(104/16*1rem);
  line-height: 1;
  width: auto;
  height: 1em;
}
#benefits {
  padding-bottom: calc(40/1400*100vw);
}
#benefits .benefits-lists {
  display: flex;
  justify-content: space-between;
}
#benefits .benefits-lists .benefits-list {
  border: 2px solid #e7b4b0;
  border-radius: calc(25/16*1rem);
  background: #fff;
  width: calc(508/1048*100%);
  padding: calc(30/1400*100vw);
}
#benefits .benefits-lists .benefits-list .ti {
  font-size: calc(24/16*1rem);
  font-weight: 600;
  text-align: center;
  margin: 0 0 1em;
}
#benefits .benefits-lists .benefits-list .ti .icon {
  display: block;
  margin: 0 auto 1em;
}
#benefits .benefits-lists .benefits-list .ti .icon img {
  width: auto;
  height: calc(100/24*1em);
}
#benefits .benefits-lists .benefits-list .list {
  font-weight: 500;
  display: table;
  margin: 0 auto;
  line-height: 1.73;
}
#benefits .benefits-lists .benefits-list .list > li:not(.other) {
  padding-left: 1em;
  text-indent: -1em;
}
#benefits .benefits-lists .benefits-list .list > li:not(.other)::before {
  content: "●";
  color: var(--color-gold);
}
#benefits .benefits-lists .benefits-list .list > li.other {
  text-align: right;
}
#benefits .benefits-lists .benefits-list .list > li + li {
  margin-top: .5em;
}
#benefits .benefits-lists .benefits-list.-green {
  border-color: #a9c69e;
}
#culture {
  background: #fbf1dd;
  padding-top: calc(160/1400*100vw);
  padding-bottom: calc(160/1400*100vw);
}
#culture .swiper-swipe-table {
  margin-top: calc(90/1400*100vw);
}
 #culture .culture-lists {
  display: flex;
  justify-content: space-between;
}
#culture .culture-lists .culture-list {
  border: 1px solid #b9aecb;
  border-radius: calc(20/16*1rem);
  background: #fff;
  width: calc(340/1048*100%);
  padding: calc(45/1400*100vw) calc(30/1400*100vw) calc(35/1400*100vw);
}
#culture .culture-lists .culture-list.-bg3 {
  background-image: url("../images/culture_bg03.svg");
  background-size: calc(279/340*100%) auto;
  background-repeat: no-repeat;
  background-position: left 50% bottom calc(50/16*1em);
}
#culture .culture-lists .culture-list .ti {
  border-top: 2px solid #b9aecb;
  border-bottom: 2px solid #b9aecb;
  height: calc(119/20*1em);
  font-size: calc(20/16*1em);
  font-weight: 600;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 1em;
  position: relative;
  line-height: 1.6;
}
#culture .culture-lists .culture-list .ti .icon {
  width: 100%;
  display: block;
  position: absolute;
  left: 0;
  top: -1.6em;
  line-height: 1;
  background: url("../images/icon_star02.png") 100% 100% no-repeat;
  background-size: auto calc(17/20*1em);
  text-align: left;
}
#culture .culture-lists .culture-list .ti .icon img {
  width: auto;
  height: calc(13/20*1em);
}
#culture .culture-lists .culture-list .text {
  min-height: 19em;
}
#culture .culture-lists .culture-list .img img {
  border-radius: calc(15/16*1rem);
}
#culture .culture-lists .culture-list .img img + img {
  margin-top: calc(20/16*1rem);
}
#culture .culture-lists .culture-list .text-comment1 {
  font-weight: 500;
  height: calc(108/16*1em);
  background: #fff url("../images/culture_bg01.svg") 50% 50% no-repeat;
  background-size: contain;
  color: #a29c5d;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.625;
  margin: .8em 0 1.2em;
  position: relative;
  text-align: center;
}
#culture .culture-lists .culture-list .text-comment2 {
  font-weight: 500;
  height: calc(34/16*1em);
  background: url("../images/culture_bg02.svg") 50% 50% no-repeat;
  background-size: contain;
  color: #a29c5d;
  display: flex;
  justify-content: center;
  align-items: center;
  line-height: 1.625;
  margin: 0 0 .8em;
}
#culture .culture-lists .culture-list .box-comment {
  background: #e8f1f7;
  color: #8d6930;
  border: 1px solid #c0ba86;
  position: relative;
  margin-top: calc(26/16*1rem);
  padding: 1.8em;
}
#culture .culture-lists .culture-list .box-comment .ti05 {
  text-align: center;
  position: relative;
  margin: 0 0 .8em;
  padding: 0 0 .6em;
}
#culture .culture-lists .culture-list .box-comment .ti05::before {
  content: "";
  width: calc(41/16*1em);
  height: calc(24/16*1em);
  background: url("../images/icon_king01.svg") 50% 50% no-repeat;
  background-size: contain;
  pointer-events: none;
  display: block;
  margin: -1em auto .4em;
}
#culture .culture-lists .culture-list .box-comment .ti05::after {
  content: "";
  width: calc(56/16*1em);
  border-top: 2px solid #c0ba86;
  left: 50%;
  bottom: 0;
  pointer-events: none;
  transform: translateX(-50%);
  display: block;
  position: absolute;
}
#culture .culture-lists .culture-list .box-comment p {
  font-size: calc(15/16*1em);
}
#culture .culture-lists .culture-list .box-comment::before {
  content: "";
  width: calc(100% - 12px);
  height: calc(100% - 12px);
  border: 3px solid #c0ba86;
  position: absolute;
  left: 50%;
  top: 50%;
  pointer-events: none;
  transform: translate(-50%, -50%);
  display: block;
}
#culture .note {
  text-align: right;
  margin-top: calc(20/1400*100vw);
  margin-top: calc(20/16*1em);
}
@media screen and (max-width: 767px) {
  .page-environment .sec-title01 .column .ti01 .tx-en {
     letter-spacing: -0.06em;
  }
  .page-environment .img01 {
    height: calc(1245/750*100vw);
    margin: calc(160/750*100vw) 0;
  }
  #voice {
    padding-top: calc(180/750*100vw);
    padding-bottom: calc(230/750*100vw);
  }
  #voice .bg {
    width: 180%;
  }
  #voice .ti .ti02 {
    font-size: calc(50.4/28*1em);
  }
  .voice-lists {
    flex-direction: column;
    margin: calc(100/750*100vw) 0 0;
  }
  .voice-lists .voice-list {
    width: auto;
    margin-bottom: calc(40/750*100vw);
  }
  .voice-lists .voice-list .modal-img {
    width: calc(600/650*100%);
    padding-top: 15%;
  }
  #voice .tximg01 {
    bottom: 0;
    right: 0;
  }
  #voice .tximg01 img {
    font-size: calc(310/750*100vw);
  }
  #benefits {
    margin-top: calc(160/750*100vw);
    padding-bottom: 0;
  }
  #benefits .benefits-lists {
    flex-direction: column;
  }
  #benefits .benefits-lists .benefits-list {
    border-radius: calc(25/750*100vw);
    width: auto;
    padding: calc(30/750*100vw);
  }
  #benefits .benefits-lists .benefits-list + .benefits-list {
    margin-top: calc(80/750*100vw);
  }
  #benefits .benefits-lists .benefits-list .ti {
    font-size: calc(32/750*100vw);
  }
  #benefits .benefits-lists .benefits-list .ti .icon img {
    height: calc(128/32*1em);
  }
  #benefits .benefits-lists .benefits-list .list {
    font-size: calc(30/750*100vw);
    max-width: 14.5em;
  }
  #culture {
    background: #fbf1dd;
    padding-top: calc(160/750*100vw);
    padding-bottom: calc(160/750*100vw);
  }
  #culture .swiper-swipe-table {
    margin-top: calc(90/750*100vw);
  }
  #culture .culture-lists .culture-list {
    border-radius: calc(25/750*100vw);
    width: calc(610/750*100vw);
    padding: calc(85/750*100vw) calc(50/750*100vw) calc(60/750*100vw);
  }
  #culture .culture-lists .culture-list .text {
    min-height: 19em;
    font-size: calc(30/750*100vw);
  }
  #culture .culture-lists .culture-list .ti {
    font-size: calc(34/750*100vw);
  }
  #culture .culture-lists .culture-list .img img {
    border-radius: calc(15/750*100vw);
  }
  #culture .culture-lists .culture-list .img img + img {
    margin-top: calc(35/750*100vw);
  }
  #culture .culture-lists .culture-list .text-comment1 {
    height: calc(194/750*100vw);
  }
  #culture .culture-lists .culture-list .text-comment2 {
    height: calc(34/16*1em);
  }
  #culture .culture-lists .culture-list .box-comment {
    padding: calc(75/750*100vw) calc(55/750*100vw) calc(60/750*100vw);
  }
  #culture .culture-lists .culture-list .box-comment .ti05 {
    font-size: calc(30/750*100vw);
  }
  #culture .culture-lists .culture-list .box-comment p {
    font-size: calc(28/750*100vw);
  }
  #culture .note {
    text-align: right;
    margin-top: calc(20/750*100vw);
  }
}


/* carrer */
.carrer-img01 {
  position: relative;
  margin: calc(120/1400*100vw) 0 0;
}
.swiper-swipe::before {
  content: "";
  border-radius: calc(20/180*1em);
  display: block;
  position: absolute;
  font-size: calc(180/28*1rem);
  width: 1em;
  height: 1em;
  background: rgba(0,0,0,.60) url("../images/icon_hand01.svg") 50% 50% no-repeat;
  background-size: 46% auto;
  left: 50%;
  top: 1.7em;
  transform: translateX(-50%);
  z-index: 5;
  pointer-events: none;
  transition: opacity 0.3s;
}
.swipe-on.swiper-swipe::before {
  opacity: 0;
}
.swiper-swipe {
  position: relative;
}
.swiper-swipe > .swiper {
  margin-left: calc(-176/1400*100vw);
  margin-right: calc(-176/1400*100vw);
}
.swiper-swipe > .swiper > .swiper-wrapper > .swiper-slide {
  max-width: calc(1048/1400*100%);
  min-width: 1048px;
  margin: 0 auto;
}
.swiper-swipe .swiper-scrollbar {
  width: 100%;
	height: 5px;
	background: transparent;
	margin: 0 auto 0;
  opacity: 0;
  transition: 0.3s opacity 0.3s;
  position: absolute;
  z-index: 5;
  display: block;
  bottom: 0;
}
.swiper-swipe .swiper-scrollbar .swiper-scrollbar-drag {
	background: rgba(0,0,0,.40);
}
.swiper-swipe:hover .swiper-scrollbar {
  opacity: 1;
}
.swiper-swipe-img .swiper-swipe > .swiper > .swiper-wrapper > .swiper-slide {
  max-width: calc(795/1400*100%);
  min-width: 795px;
}
.carrer-img01 figcaption.ti {
  position: absolute;
  width: calc(324/1400*100vw);
  min-width: 324px;
  top: calc(-185/1400*100vw);
  right: calc(40/1400*100vw);
}
.carrer-img01 figcaption.note {
  position: absolute;
  right: 0;
  bottom: 0;
}
.carrer-img01 .img {
  position: relative;
}
.carrer-img01 .img a {
  border-radius: 9999em;
  position: absolute;
  display: block;
  width: calc(392/1113*100%);
  height: calc(42/900*100%);
  left: calc(62/1113*100%);
  overflow: hidden;
  text-indent: -9999em;
}
.carrer-img01 .img a.link-hm {
  top: calc(323/900*100%);
}
.carrer-img01 .img a.link-bs {
  top: calc(827/900*100%);
}
  
.carrer-lists {
  display: flex;
  justify-content: space-between;
  margin: calc(30/1400*100vw) 0 0;
}
.carrer-lists .carrer-list {
  border-radius: calc(20/16*1em);
  background: #fae5d1;
  width: calc(340/1048*100%);
  padding: calc(45/16*1em) calc(30/16*1em) calc(60/16*1em);
}
.carrer-lists .carrer-list .ti {
  border-top: 2px solid #e39b54;
  border-bottom: 2px solid #e39b54;
  height: calc(119/20*1em);
  font-size: calc(20/16*1em);
  font-weight: 600;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 0 1em;
  position: relative;
  line-height: 1.6;
}
.carrer-lists .carrer-list .ti .icon {
  display: block;
  position: absolute;
  left: 0;
  top: -1.4em;
  line-height: 1;
  text-align: left;
}
.carrer-lists .carrer-list .ti .icon img {
  width: auto;
  height: calc(19/20*1em);
}
.carrer-lists .carrer-list .text {
  min-height: 8em;
}
.carrer-lists .carrer-list .img img {
  border-radius: calc(15/16*1em);
}
.carrer-lists .carrer-list .img img + img {
  margin-top: calc(20/16*1em);
}
.carrer-lists .carrer-list .text-ex {
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-direction: column;
  height: calc(490/16*1em);
  text-align: center;
  margin: calc(32/16*1em) 0 0;
}
.carrer-lists .carrer-list .text-ex > li {
  position: relative;
}
.carrer-lists .carrer-list .text-ex li.ic-next {
  background: var(--color-hm);
	width: calc(24/16*1em);
	height: calc(14/16*1em);
	clip-path: polygon(0 0, 100% 0, 50% 100%);
  display: block;
}
.carrer-lists .carrer-list .text-ex li.ic-next2 {
	width: calc(8/16*1em);
	height: calc(36/16*1em);
  display: block;
  background: url(../images/icon_dot02_hm.svg) 0 0 no-repeat;
  background-size: contain;
}
.carrer-lists .carrer-list .text-ex .tx-label {
  width: calc(226/11*1em);
  border-radius: 9999em;
  font-size: calc(11/16*1em);
  background: #fff;
  color: inherit;
  white-space: nowrap;
}
.carrer-lists .carrer-list .text-ex p:not(.tx-label) {
  font-weight: 700;
  line-height: 1.625;
}
.carrer-lists .carrer-list .text-ex .tx-sub {
  font-size: calc(15/16*1em);
  font-weight: 600;
}
.carrer-lists .carrer-list.-bs {
  background-color: #d4e1ec;
}
.carrer-lists .carrer-list.-bs .ti {
  border-color: var(--color-bs);
}
.carrer-lists .carrer-list.-bs .text-ex li.ic-next {
  background-color: var(--color-bs);
}
.carrer-lists .carrer-list.-bs .text-ex li.ic-next2 {
  background-image: url(../images/icon_dot02_bs.svg);
}
#carrer_path .note {
  text-align: right;
  margin-top: calc(20/16*1em);
}
#training {
  background: #fbf1dd;
  padding-top: calc(160/1400*100vw);
  padding-bottom: calc(160/1400*100vw);
}
.training-lists {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin: calc(35/1400*100vw) 0 calc(-32/1400*100vw);
}
.training-lists .training-list {
  min-height: calc(130/16*1em);
  border: 1px solid var(--color-gold);
  border-radius: calc(10/16*1rem);
  background: #fff;
  width: calc(508/1048*100%);
  margin: 0 0 calc(32/1400*100vw);
  padding: calc(30/1400*100vw) calc(40/1400*100vw);
}
.training-lists .training-list.al-center {
  display: flex;
  justify-content: center;
  flex-direction: column;
}
.training-lists.al-ramdam1 {
  display: inherit;
  padding-bottom: 1px;
}
.training-lists.al-ramdam1::after {
  content: "";
  clear: both;
  display: block;
  height: 0;
  overflow: hidden;
}
.training-lists.al-ramdam1 .training-list:nth-child(1) {
    float: left;
}
.training-lists.al-ramdam1 .training-list:nth-of-type(2) {
    float: right;
}
.training-lists.al-ramdam1 .training-list:nth-of-type(3) {
    float: left;
}
.training-lists .training-list .ti09 {
  position: relative;
  padding-left: calc(30/22*1em);
  line-height: calc(28/22);
  letter-spacing: -0.04em;
}
.training-lists .training-list .ti09 .fs-s {
  font-size: calc(18/22*1em);
}
.training-lists .training-list .ti09::before {
  content: "";
  display: block;
  position: absolute;
  width: calc(26/22*1em);
  height: calc(26/22*1em);
  background: url("../images/icon_star01.svg") 0 0 no-repeat;
  background-size: contain;
  left: 0;
  transform: translateY(.1em);
}
.training-lists .training-list .ti09 + p {
  margin-top: .8em;
}
.training-lists .training-list .img {
  margin: calc(25/16*1em) 0 calc(20/16*1em);
}
.training-lists .training-list .img img {
  border-radius: calc(15/16*1em);
}
.training-lists .training-list .img img + img {
  margin-top: calc(20/16*1em);
}

@media screen and (min-width: 1047px) {
  .swiper-swipe::before {
    display: none;
  }
  .carrer-img01 {
    max-width: calc(795/1400*100vw);
    min-width: 795px;
    margin: 0 auto;
  }
}
@media screen and (min-width: 767px) and (max-width: 1047px) {
  .swiper-swipe > .swiper {
    padding-left: calc(176/1400*100vw);
    padding-right: calc(176/1400*100vw);
  }
  .carrer-img01 {
    margin-top: calc(-50/1400*100vw);
  }
  .carrer-img01 figcaption.ti {
    position: relative;
    width: 324px;
    right: auto;
    top: auto;
    margin: 0 0 0 auto;
  }
  .carrer-img01 figcaption.note {
    position: relative;
    text-align: right;
    margin-top: calc(40/750*100vw);
  }
}
@media screen and (max-width: 767px) {
  .swiper-swipe-img .swiper-swipe > .swiper > .swiper-wrapper > .swiper-slide {
    max-width: none;
    min-width: calc(1113/750*100vw);
  }
  .swiper-swipe {
    position: relative;
  }
  .swiper-swipe > .swiper {
    margin-left: calc(-50/750*100vw);
    margin-right: calc(-50/750*100vw);
    padding-left: calc(50/750*100vw);
    padding-right: calc(50/750*100vw);
  }
  
  .swiper-swipe > .swiper > .swiper-wrapper > .swiper-slide {
    max-width: none;
    min-width: calc(650*3/750*100vw);
    margin: 0 auto;
  }
  .carrer-img01 {
    width: 100%;
    margin: 0 0 0;
  }
  .carrer-img01 .img {
    width: calc(1113/750*100vw);
  }
  .carrer-img01 figcaption.ti {
    position: relative;
    width: calc(440/750*100vw);
    margin: calc(-40/750*100vw) calc(-30/750*100vw) calc(25/750*100vw) auto;
    right: auto;
    top: auto;
  }
  .carrer-img01 figcaption.note {
    position: relative;
    text-align: right;
    margin-top: calc(40/750*100vw);
  }
  .swiper-swipe-table .swiper-slide {
     padding: 0 calc(20/750*100vw);
  }
  .carrer-lists .carrer-list .ti {
    height: calc(119/20*1em);
    font-size: calc(20/16*1em);
  }
  .carrer-lists .carrer-list .text {
    min-height: 8em;
  }
  .carrer-lists .carrer-list .img img {
    border-radius: calc(15/16*1em);
  }
  .carrer-lists .carrer-list .img img + img {
    margin-top: calc(20/16*1em);
  }
  .carrer-lists .carrer-list .text-ex {
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-direction: column;
    height: calc(490/16*1em);
    text-align: center;
    margin: calc(32/16*1em) 0 0;
  }
  .carrer-lists .carrer-list .text-ex > li {
    position: relative;
  }
  .carrer-lists .carrer-list .text-ex li.ic-next {
    background: var(--color-hm);
    width: calc(24/16*1em);
    height: calc(14/16*1em);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    display: block;
  }
  .carrer-lists .carrer-list .text-ex li.ic-next2 {
    width: calc(8/16*1em);
    height: calc(36/16*1em);
    display: block;
    background: url(../images/icon_dot02_hm.svg) 0 0 no-repeat;
    background-size: contain;
  }
  .carrer-lists .carrer-list .text-ex .tx-label {
    width: calc(226/11*1em);
    border-radius: 9999em;
    font-size: calc(11/16*1em);
    background: #fff;
    color: inherit;
  }
  .carrer-lists .carrer-list .text-ex p:not(.tx-label) {
    font-weight: 700;
    line-height: 1.625;
  }
  .carrer-lists .carrer-list .text-ex .tx-sub {
    font-size: calc(15/16*1em);
    font-weight: 600;
  }
  .carrer-lists .carrer-list.-bs {
    background-color: #d4e1ec;
  }
  .carrer-lists .carrer-list.-bs .ti {
    border-color: var(--color-bs);
  }
  .carrer-lists .carrer-list.-bs .text-ex li.ic-next {
    background-color: var(--color-bs);
  }
  .carrer-lists .carrer-list.-bs .text-ex li.ic-next2 {
    background-image: url(../images/icon_dot02_bs.svg);
  }
  #carrer_path .note {
    text-align: right;
    margin-top: calc(20/16*1em);
  }
  #training {
    padding-top: calc(130/750*100vw);
    padding-bottom: calc(160/750*100vw);
  }
  .training-lists {
    margin: calc(35/750*100vw) 0 calc(-32/750*100vw);
  }
  .training-lists .training-list {
    font-size: calc(26/750*100vw);
    min-height: calc(140/750*100vw);
    border-radius: calc(15/750*100vw);
    width: 100%;
    margin: 0 0 calc(30/750*100vw);
    padding: calc(40/750*100vw) calc(50/750*100vw);
  }
  .training-lists .training-list.al-center {
    display: flex;
    justify-content: center;
    flex-direction: column;
  }
  .training-lists.al-ramdam1 .training-list {
    float: inherit !important;
  }
  .training-lists .training-list .ti09 {
    font-size: calc(32/750*100vw);
  }
  .training-lists .training-list .ti09 .fs-s {
    font-size: calc(30/750*100vw);
  }
  .training-lists .training-list .img {
    margin: calc(40/750*100vw) 0 calc(30/750*100vw);
  }
  .training-lists .training-list .img img {
    border-radius: calc(20/750*100vw);
  }
  .training-lists .training-list .img img + img {
    margin-top: calc(30/750*100vw);
  }
}





/* モーダル */
.js-modal-img {
  display: block;
  position: relative;
  cursor: pointer;
}
.js-modal-img::before {
  content: "";
  width: calc(39/1400*100vw);
  height: calc(44/1400*100vw);
  background: url("../images/icon_modal01.svg");
  background-size: contain;
  display: block;
  right: calc(24/1400*100vw);
  top: calc(24/1400*100vw);
  position: absolute;
  z-index: 2;
}
.modal-img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
	height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 30;
  transform: translate(-50%, -50%)
}
.js-modal-img:not(.is-active) modal-img {
  pointer-events: none;
	display: none;
}
.js-modal-img.is-active .modal-img {
  opacity: 1;
  pointer-events: auto;
}
#modal_overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
	height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 25;
}
body:not(.js-overlay-active) #modal_overlay {
  pointer-events: none;
	display: none;
}
body.js-overlay-active #modal_overlay {
  opacity: 1;
  pointer-events: auto;
}
.modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
	height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: opacity 0.3s;
  pointer-events: none;
  opacity: 0;
  z-index: 25;
	background: rgba(255,255,255,.50);
}
.modal:not(.is-active) .modal-panel {
  pointer-events: none;
	display: none;
}
.modal.is-active {
  opacity: 1;
  pointer-events: auto;
}
.modal__overlay {
  position: absolute;
  width: 100%;
  height: 100%;
}
.modal__content {
  position: relative;
  background-color: #fff;
  width: 100%;
  max-width: 900px;
  padding: 20px;
}
.modal__content .modal__ttl {
	font-size: 22px;
  position: absolute;
	margin-top: -40px;
	color: #fff;
	letter-spacing: .07em;
	line-height: 1;
}
.modal__content .modal__ttl img {
	width: auto;
	height: 1.09em;
	vertical-align: middle;
}
.modal__close-btn {
  position: absolute;
  top: -40px;
  right: 0;
  width: 30px;
  width: calc(1110px * 30 / 1400);
  height: 30px;
  height: calc(1110px * 30 / 1400);
	background: none;
  cursor: pointer;
  z-index: 10;
  text-indent: -9999em;
  outline: none;
  border: 0;
}
.modal__close-btn span {
	width: 100%;
	height: 2px;
	left: 50%;
	top: 50%;
	display: block;
	position: absolute;
	transform: translate(-50%, -50%);
}
.modal__close-btn span::before,
.modal__close-btn span::after {
	content: "";
	width: 100%;
	height: 100%;
	display: block;
	background: #fff;
	position: absolute;
	left: 0;
	top: 0;
}
.modal__close-btn span::before {
	transform: rotate(-150deg);
}
.modal__close-btn span::after {
	transform: rotate(330deg);
}
.modal-panel {
	width: calc(100% - 40px);
	max-width: 940px;    
	position: relative;
}
@media (max-width:787px) {
  .js-modal-img::before {
    width: calc(49/750*100vw);
    height: calc(54/750*100vw);
    right: calc(26/750*100vw);
    top: calc(26/750*100vw);
  }
	#modal-movie {
		padding: 0;
	}
	#modal-movie .modal-panel {
        width: 100%;
	}
	#modal-movie .modal__close-btn {
        right: 15px;
        top: 15px;
        position: fixed;
	}
	.modal-img {
	}
}


#main-opening {
	background: #fff 50% 50%;
	background-size: cover;
	position: fixed;
	width: 100%;
	height: 100%;
	min-height: 100vh;
	min-height: 100lvh;
	top: 0;
	left: 0;
	z-index: 100000;
	display: none;
}
#main-opening .logo{
	position: absolute;
  width: calc(320/1400*100vw);
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 1s opacity 1s ease;
  z-index: 5
}
body.openOpening #main-opening .logo {
  opacity: 1;
}
body.openOpening {
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
	overflow: hidden;
	overflow-y:scroll;
	height: 100%;
}
body.openOpening #container {
    height: 100vh;
	min-height: 100vh;
	min-height: 100lvh;
	-webkit-overflow-scrolling: hidden;
	-ms-overflow: hidden;
	overflow: hidden;
}
@media (max-width:787px) {
  #main-opening .logo{
    width: calc(398/750*100vw);
  }
}



#explosionCanvas {
  position: absolute;
  top: 50%;
  left: 50%;
  pointer-events: none;
  z-index: 0;
  transform: translate(-50%, -50%)
}
#explodeBtn {
  z-index: 10;
  padding: 12px 24px;
  border: none;
  border-radius: 8px;
  background: #ffeb3b;
  color: #111;
  font-size: 18px;
  cursor: pointer;
}


.bg-bubble-js {
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  z-index: 2;
  pointer-events: none;
}
.bg-bubble-js .center,
.bg-bubble-js .star {
  position: relative;
  width: 0;
  height: 0;
  left: 50%;
  top: 50%;
}
.bg-bubble-js .dot {
    position: absolute;
    width: 10px;
    height: 10px;
    left: 0;
    top: 0;
    opacity: 0;
    transition: all 3s linear;
}
.bg-bubble-js .center .dot {
    border-radius: 50%;
    background-color: #f9f1b1;
}
.bg-bubble-js .star .dot {
    background-image: url("../images/bg_shape01_blue.svg");
    background-size: contain;
    background-repeat: no-repeat;
}
#bubble-mv.bg-bubble-js .center .dot {
    background-color: #fff;
}
#bubble-mv.bg-bubble-js .center1 {
  top: 73%;
  left: 8%;
}
#bubble-mv.bg-bubble-js .center2 {
  top: 85%;
  left: 50%;
}
#bubble-ft.bg-bubble-js {
   height: calc(500 / 1400 * 100vw);
  z-index: 0;
}
#bubble-ft.bg-bubble-js .star .dot {
    background-image: url("../images/bg_shape01_gold.svg");
}
#bubble-ft.bg-bubble-js .center2 {
  top: 45%;
  left: 80%;
}
#bubble-ft.bg-bubble-js .center3 {
  top: 43%;
  left: 10%;
}

.wrapper {
    position: absolute;
    width: 0;
    height: 0
}

#randomStages {
    display: flex;
    flex-wrap: wrap;
    gap: 4px
}

@media screen and (max-width: 767px) {
  .bg-bubble-js .dot {
      width: calc(15 / 750 * 100vw);
      height: calc(15 / 750 * 100vw);
  }
  #bubble-mv.bg-bubble-js .center1 {
    top: 78%;
  }
  #bubble-mv.bg-bubble-js .center2 {
    left: 80%;
  }
  #bubble-ft.bg-bubble-js {
     height: calc(500 / 750 * 100vw);
  }
  #bubble-ft.bg-bubble-js .center2 {
    top: 47%;
    left: 89%;
  }
}



/* .top-mv */
.top-mv {
	position: relative;
	width: 100%;
	overflow: hidden;
}
.top-mv .mv-items {
	width: 100%;
    display: flex;
	justify-content: flex-start;
	flex-wrap: nowrap;
}
.top-mv .mv-items .slider-loop {
    display: flex;
    flex-shrink: 0;
	justify-content: flex-start;
    align-items: center;
	flex-wrap: nowrap;
}
.top-mv .mv-items .slick-list {
	overflow: visible;
}
.top-mv .js-loopslider {
	height: calc(555/1400*100vw);
}
.top-mv .js-loopslider .loopslider_wrap {
	display: flex;
	transform: translateZ(0);
}
@media screen and (max-width: 767px) {
  .top-mv .js-loopslider {
    height: calc(1154/750*100vw);
  }
}

.sec-main .js-scroll-ani:not(.is-animated){
  pointer-events: none;
}
.sec-main .mv-text1.js-scroll-ani .bg-bubble-js {
  transition: opacity 2.5s linear;
  opacity: 0;
  position: fixed;
}
.sec-main .mv-text1.js-scroll-ani.is-animated .bg-bubble-js {
  opacity: 1;
  transition-delay: 2s;
}
.sec-main .mv-text1.js-scroll-ani .mv-lead,
.sec-main .mv-text2.js-scroll-ani .mv-lead2 {
  filter: blur(50px);
  opacity: 0;
  transform: scale(0.9);
  position: fixed;
  transition: opacity 2s .2s linear, filter 1.5s ease-in, transform 2.3s ease;
  transition-delay: 0s;
}
.sec-main .mv-text1.js-scroll-ani.is-animated .mv-lead,
.sec-main .mv-text2.js-scroll-ani.is-animated .mv-lead2 {
  filter: blur(0);
  opacity: 1;
  transform: scale(1);
  transition: opacity 2s .2s linear, filter 1.5s ease-in, transform 2.3s ease;
  transition-delay: 0s;
}

.mv-comment-group.is-visible .mv-comment-item {
  filter: blur(0);
  opacity: 1;
  transition: opacity 400ms linear, filter 700ms linear, transform 2000ms var(--ease-out-amuse);
  transition-delay: 0s;
  transform: scale(1);
}
.mv-comment-group.is-visible .mv-comment-item img {
  transition: transform 10000ms linear;
  transition-delay: 0s;
  transform: scale(1);
}
.mv-comment-group.is-hidden .mv-comment-item {
  filter: blur(50px);
  opacity: 0;
  transition: opacity 2800ms 400ms linear, filter 2600ms cubic-bezier(0.47, 0, 0.745, 0.715), transform 3200ms cubic-bezier(0.44, 0.08, 0, 1);
  transform: scale(0.9);
}


.sec-top#career.js-scroll-ani .bg {
  transition: all .5s .5s ease;
  transform: scale(0,1);
  transform-origin: right;
}
.sec-top#career.js-scroll-ani .bg-star {
  transition: all .5s 1.2s ease;
  opacity: 0;
}
.sec-top#career.js-scroll-ani.is-animated .bg-star {
  opacity: 1;
}
.sec-top#career.js-scroll-ani.is-animated .bg {
  transform: scale(1,1);
}
.sec-top#environment.js-scroll-ani.is-animated .bg .bg-shape {
  transform: scale(4.2);
}
.sec-top#environment.js-scroll-ani.is-animated .bg .bg-shape::before {
  opacity: 1;
}
.sec-top#environment.js-scroll-ani.is-animated .bg::after {
  transform: scale(1);
  opacity: 1;
}

 /* animation */
.js-scroll-ani[data-type^="scroll--"] {
    opacity: 0;
    animation: .8s ease-in-out forwards;
}

.scroll--lr {
  transform: translateX(-10%);
}
.scroll--lr.is-animated {
  animation-name: anime_scroll_lr;
}
 
.scroll--rl {
  transform: translateX(10%);
}
.scroll--rl.is-animated {
  animation-name: anime_scroll_rl;
}

.scroll--lrb {
  transform: translateX(-10%) translateY(2rem);
}
.scroll--lrb.is-animated {
  animation-name: anime_scroll_lrb;
}
 
.scroll--rlb {
  transform: translateX(10%) translateY(2rem);
}
.scroll--rlb.is-animated {
  animation-name: anime_scroll_rlb;
}

.scroll--lrt {
  transform: translateX(-10%) translateY(-2rem);
}
.scroll--lrt.is-animated {
  animation-name: anime_scroll_lrt;
}
 
.scroll--rlt {
  transform: translateX(10%) translateY(-2rem);
}
.scroll--rlt.is-animated {
  animation-name: anime_scroll_rlt;
}
 
.scroll--up {
  transform: translateY(2rem);
}
.scroll--up.is-animated {
  animation-name: anime_scroll_up;
}
 
.scroll--down {
  transform: translate(0, -2rem);
}
.scroll--down.is-animated {
  animation-name: anime_scroll_down;
}
 
.scroll--scaleUp {
  transform: scale(.8);
}
.scroll--scaleUp.is-animated {
  animation-name: anime_scaleUp;
}


.view .sec-title01 .ti01,
.view .sec-title01 .lead,
.view .sec-title01 .img,
.view .sec-title01 .page-nav {
    opacity: 0;
    transform: translateY(1rem);
    animation: anime_scroll_up 1s ease-in-out forwards
}
.view .sec-title01 .ti01::before {
  opacity: 0;
  transform: scale(0);
  animation: icon_anime_on1 .3s 1s ease-in-out forwards
}
.view .sec-title01 .lead {
  animation-delay: .3s;
}
.view .sec-title01 .img {
  animation-delay: .5s;
}
.view .sec-title01 .page-nav {
  animation-delay: .4s;
  animation: anime_scroll_down 1s ease-in-out forwards
}
.animationFv {
    opacity: 0;
    transform: translateY(1rem);
    animation: anime_scroll_up 1.5s ease-in-out forwards
}
@keyframes anime_scroll_up {
    25% {
        transform: translateY(2rem);
        opacity: 0
    }

    100% {
        transform: translateY(0);
        opacity: 1
    }
}
@keyframes anime_scroll_down {
    25% {
        transform: translateY(-2rem);
        opacity: 0
    }

    100% {
        transform: translateY(0);
        opacity: 1
    }
}
@keyframes anime_scroll_lr {
    25% {
        transform: translateX(-10%);
        opacity: 0
    }

    100% {
        transform: translateX(0);
        opacity: 1
    }
}
@keyframes anime_scroll_rl {
    25% {
        transform: translateX(10%);
        opacity: 0
    }

    100% {
        transform: translateX(0);
        opacity: 1
    }
}
@keyframes anime_scroll_lrb {
    25% {
        transform: translateX(-10%) translateY(2rem);
        opacity: 0
    }

    100% {
        transform: translateX(0) translateY(0);
        opacity: 1
    }
}
@keyframes anime_scroll_rlb {
    25% {
        transform: translateX(10%) translateY(2rem);
        opacity: 0
    }

    100% {
        transform: translateX(0) translateY(0);
        opacity: 1
    }
}
@keyframes anime_scroll_lrt {
    25% {
        transform: translateX(-10%) translateY(-2rem);
        opacity: 0
    }

    100% {
        transform: translateX(0) translateY(0);
        opacity: 1
    }
}
@keyframes anime_scroll_rlt {
    25% {
        transform: translateX(10%) translateY(-2rem);
        opacity: 0
    }

    100% {
        transform: translateX(0) translateY(0);
        opacity: 1
    }
}
@keyframes anime_scaleUp {
    25% {
        transform: scale(.5);
        opacity: 0
    }

    100% {
        transform: scale(1);
        opacity: 1
    }
}
@keyframes icon_anime_on1 {
    25% {
  opacity: 0;
  transform: scale(0);
    }

    100% {
  opacity: 1;
  transform: scale(1);
    }
}