@charset "UTF-8";
/*! destyle.css v3.0.0 | MIT License | https://github.com/nicolas-cusan/destyle.min.css */
*, ::before, ::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

html {
  line-height: 1.15;
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: transparent;
}

body {
  margin: 0;
}

main {
  display: block;
}

p, table, blockquote, address, pre, iframe, form, figure, dl {
  margin: 0;
}

h1, h2, h3, h4, h5, h6 {
  font-size: inherit;
  font-weight: inherit;
  margin: 0;
}

ul, ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

dt {
  font-weight: 700;
}

dd {
  margin-left: 0;
}

hr {
  box-sizing: content-box;
  height: 0;
  overflow: visible;
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

pre {
  font-family: monospace, monospace;
  font-size: inherit;
}

address {
  font-style: inherit;
}

a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
}

b, strong {
  font-weight: bolder;
}

code, kbd, samp {
  font-family: monospace, monospace;
  font-size: inherit;
}

small {
  font-size: 80%;
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

svg, img, embed, object, iframe {
  vertical-align: bottom;
}

button, input, optgroup, select, textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  border-radius: 0;
  text-align: inherit;
  text-transform: inherit;
}

[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

button, [type=button], [type=reset], [type=submit] {
  cursor: pointer;
}

button:disabled, [type=button]:disabled, [type=reset]:disabled, [type=submit]:disabled {
  cursor: default;
}

:-moz-focusring {
  outline: auto;
}

select:disabled {
  opacity: inherit;
}

option {
  padding: 0;
}

fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

legend {
  padding: 0;
}

progress {
  vertical-align: baseline;
}

textarea {
  overflow: auto;
}

[type=number]::-webkit-inner-spin-button, [type=number]::-webkit-outer-spin-button {
  height: auto;
}

[type=search] {
  outline-offset: -2px;
}

[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}

label[for] {
  cursor: pointer;
}

details {
  display: block;
}

summary {
  display: list-item;
}

[contenteditable]:focus {
  outline: auto;
}

table {
  border-color: inherit;
}

caption {
  text-align: left;
}

td, th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: 700;
}

.hide {
  display: none;
}

.block {
  display: block;
}

@media screen and (max-width: 1270px) {
  .pc-hide {
    display: none !important;
  }
  .pc-block {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .tab-hide {
    display: none !important;
  }
  .tab-block {
    display: block !important;
  }
}
@media screen and (max-width: 480px) {
  .sp-hide {
    display: none !important;
  }
  .sp-block {
    display: block !important;
  }
}
.inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1270px) {
  .inner {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner {
    padding: 0 16px;
  }
}

.inner2 {
  max-width: 1560px;
  margin: 0 auto;
}
@media screen and (max-width: 1560px) {
  .inner2 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1270px) {
  .inner2 {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner2 {
    padding: 0 16px;
  }
}

.inner3 {
  max-width: 1560px;
  padding-right: 180px;
  margin-left: auto;
  margin-right: 0;
}
@media screen and (max-width: 1560px) {
  .inner3 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1270px) {
  .inner3 {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner3 {
    padding: 0 16px;
  }
}

.inner4 {
  max-width: 1560px;
  margin: 0 auto;
  padding-right: 180px;
}
@media screen and (max-width: 1560px) {
  .inner4 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1270px) {
  .inner4 {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner4 {
    padding: 0 16px;
  }
}

.mb50 {
  margin-bottom: 3rem;
}

.child_ttl {
  padding-bottom: 50px;
}
@media screen and (max-width: 1270px) {
  .child_ttl {
    padding-bottom: 35px;
  }
}
.child_ttl h3 {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  color: #999CA5;
  font-size: 1.5em;
  padding-bottom: 10px;
}
@media screen and (max-width: 1270px) {
  .child_ttl h3 {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 480px) {
  .child_ttl h3 {
    font-size: 1em;
  }
}
.child_ttl .en {
  text-transform: capitalize;
  font-size: 5em;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
@media screen and (max-width: 1270px) {
  .child_ttl .en {
    font-size: 3.5em;
  }
}
@media screen and (max-width: 480px) {
  .child_ttl .en {
    font-size: 2em;
  }
}
.child_ttl .en span {
  color: #3A5475;
}

.btn * {
  transition: 1s;
  box-sizing: border-box;
}

[class^=container] {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  width: 250px;
  height: 50px;
  margin: 50px 0 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  [class^=container] {
    margin: 35px auto 0;
  }
}

[class^=container] .outline {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  stroke: #fff;
  stroke-width: 2px;
  fill: transparent;
}

[class^=container] .text {
  position: relative;
  top: -30px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: capitalize;
  text-align: center;
}

[class^=container]:hover .outline {
  stroke: #3A5475;
}

[class^=container]:hover .text {
  color: #3A5475;
}

.container2 .outline {
  stroke-dasharray: 50 250;
  stroke-dashoffset: -575;
}

.container2:hover .outline {
  stroke-dasharray: 50 100;
  stroke-dashoffset: -75;
}

#waveCanvas {
  position: fixed;
  bottom: 0;
  left: -48.698vw;
  width: 200%;
  transform: rotate(-40deg);
  z-index: 1;
}

#waveCanvas2 {
  position: fixed;
  bottom: 0;
  left: -59.896vw;
  width: 200%;
  transform: rotate(-40deg);
  z-index: 1;
}

.zoomInText {
  position: relative;
}

.zoomInText span.mask {
  position: relative;
  transition: 0.3s ease-in-out;
  display: block;
  line-height: 0;
  overflow: hidden;
}

.zoomInText:hover span.mask::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #3A5475;
  opacity: 0.2;
}

.zoomInText img {
  transform: scale(1);
  filter: blur(0);
  transition: 0.3s ease-in-out;
}

.zoomInText:hover img {
  transform: scale(1.1);
  filter: blur(15px);
}

.zoomInText span.cap {
  opacity: 0;
  transition: 0.5s ease-in-out;
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  line-height: 1.5;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  padding-bottom: 5px;
  font-size: 24px;
}
@media screen and (max-width: 480px) {
  .zoomInText span.cap {
    font-size: 1em;
  }
}
.zoomInText span.cap::before {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0);
  transition: 0.5s ease-in-out;
  transform-origin: left;
}

.zoomInText:hover span.cap {
  opacity: 1;
}
.zoomInText:hover span.cap:before {
  transform: scale(1);
}

.hide-area {
  display: none;
}

.modaal-close:before,
.modaal-close:after {
  border-radius: 0;
}

.modaal-close {
  border-radius: 0;
}

.modaal-close:focus::before,
.modaal-close:focus::after,
.modaal-close:hover::before,
.modaal-close:hover::after {
  background-color: #3A5475;
}

.modaal-content-container {
  padding: 30px 16px;
}
.modaal-content-container .flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex {
    flex-direction: column;
  }
}
.modaal-content-container .flex .member_detail_img {
  width: 35%;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_img {
    width: auto;
  }
}
.modaal-content-container .flex .member_detail_txt {
  width: calc(65% - 50px);
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt {
    width: auto;
    margin-top: 30px;
  }
}
.modaal-content-container .flex .member_detail_txt .name {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 24px;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .name {
    font-size: 1.3em;
  }
}
.modaal-content-container .flex .member_detail_txt .en_name {
  font-size: 14px;
  font-weight: 700;
  padding-top: 5px;
  text-transform: capitalize;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .en_name {
    font-size: 12px;
  }
}
.modaal-content-container .flex .member_detail_txt .affiliation_area {
  margin-top: 20px;
  margin-bottom: 35px;
  font-size: 14px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .affiliation_area {
    margin-bottom: 20px;
  }
}
.modaal-content-container .flex .member_detail_txt .affiliation_area .specialty_area {
  margin-top: 5px;
  display: flex;
}
.modaal-content-container .flex .member_detail_txt .affiliation_area .specialty_area li {
  padding-left: 5px;
  padding-top: 5px;
}
.modaal-content-container .flex .member_detail_txt .affiliation_area .specialty_area li:first-child {
  padding-top: 0;
}
.modaal-content-container .flex .member_detail_txt .creed {
  font-size: 18px;
  font-weight: 700;
  padding-bottom: 15px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .creed {
    font-size: 16px;
    padding-bottom: 8px;
  }
}
.modaal-content-container .flex .member_detail_txt .txt {
  line-height: 1.5em;
  font-size: 14px;
}

#js-mouse {
  pointer-events: none;
  position: fixed;
  top: -15px;
  left: -15px;
  width: 15px;
  height: 15px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  transform: translate(0, 0) scale(1.1);
  transition: all 0.3s ease-out;
  z-index: 9999;
  opacity: 0;
  border: rgba(255, 255, 255, 0.2) solid 0.5px;
}
@media screen and (max-width: 840px) {
  #js-mouse {
    display: none;
  }
}
#js-mouse::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
  height: 25px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease-out;
}

#js-mouse.js-hover::before {
  transform: translate(-50%, -50%) scale(2);
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes textAnime {
  100% {
    transform: translateY(0px);
  }
}
@keyframes cmn-induction {
  0% {
    transform: translateY(-101%);
  }
  70% {
    transform: translateY(101%);
  }
  100% {
    transform: translateY(101%);
  }
}
@keyframes tenmetsu {
  0% {
    opacity: 1;
    filter: brightness(200%);
  }
  100% {
    opacity: 0.5;
    filter: brightness(100%);
  }
}
.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time15 {
  animation-delay: 1.5s;
}

.delay-time20 {
  animation-delay: 2s;
}

.delay-time25 {
  animation-delay: 2.5s;
}

.delay-time30 {
  animation-delay: 3s;
}

.randomAnime {
  visibility: hidden;
}

.catch_anime {
  animation-name: catchAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes catchAnime {
  0% {
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.smooth {
  animation-name: smoothAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  transform-origin: left;
  opacity: 0;
}

@keyframes smoothAnime {
  from {
    transform: translate3d(0, 25%, 0) skewY(3deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}
.smoothTrigger {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.flipLeft {
  animation-name: flipLeftAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  perspective-origin: left center;
  opacity: 0;
}

@keyframes flipLeftAnime {
  from {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
    opacity: 0;
  }
  to {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
html {
  scroll-behavior: smooth;
}

body {
  font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
  color: #332E32;
  font-weight: 500;
  font-size: 16px;
}
@media screen and (max-width: 480px) {
  body {
    font-size: 14px;
  }
}

main {
  overflow-x: clip;
}

img {
  width: 100%;
}

/*Contact Form 7*/
.wpcf7-mail-sent-ok {
  display: none !important;
}

.wpcf7-spinner {
  display: none !important;
}

.wpcf7-spinner {
  position: absolute !important;
  top: 50%;
}

.contact_btn {
  position: relative;
}

.wpcf7-form input[type=checkbox] {
  width: 1em !important;
  margin-left: 0.1em !important;
  margin-right: 0.1em !important;
}

.wpcf7-form input[type=radio] {
  width: 1em !important;
  margin: 0 0.1em !important;
}

.wpcf7-list-item {
  display: inline-block !important;
  margin-left: 0em !important;
  margin-right: 0em !important;
}

.wpcf7-list-item-label {
  margin-left: 10px;
}

.wpcf7-list-item-label::after {
  content: "";
  margin-left: 1em;
}

.wpcf7-not-valid {
  margin-bottom: 1em;
}

.wpcf7-not-valid-tip {
  position: absolute;
  text-align: left;
  line-height: 1;
  width: 100%;
  left: 0;
  top: 120%;
}

.wpcf7-form.invalid .wpcf7-text + .wpcf7-not-valid-tip {
  top: 250%;
}

.wpcf7-form.invalid .wpcf7-textarea + .wpcf7-not-valid-tip {
  top: 50%;
}

.wpcf7-form.invalid .wpcf7-acceptance + .wpcf7-not-valid-tip {
  top: 90%;
  width: 370px;
}

.wpcf7-form.invalid .wpcf7-validates-as-email + .wpcf7-not-valid-tip {
  width: 350px;
}

.CheckboxInput {
  padding-left: 0 !important;
}

/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before, .slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

/*!
	Modaal - accessible modals - v0.4.4
	by Humaan, for all humans.
	http://humaan.com
 */
.modaal-noscroll {
  overflow: hidden;
}

.modaal-accessible-hide {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}

.modaal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 999;
  opacity: 0;
}

.modaal-wrapper {
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow: auto;
  opacity: 1;
  box-sizing: border-box;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-in-out;
}
.modaal-wrapper * {
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-backface-visibility: hidden;
}
.modaal-wrapper .modaal-close {
  border: none;
  background: transparent;
  padding: 0;
  -webkit-appearance: none;
}
.modaal-wrapper.modaal-start_none {
  display: none;
  opacity: 1;
}
.modaal-wrapper.modaal-start_fade {
  opacity: 0;
}
.modaal-wrapper *[tabindex="0"] {
  outline: none !important;
}
.modaal-wrapper.modaal-fullscreen {
  overflow: hidden;
}

.modaal-outer-wrapper {
  display: table;
  position: relative;
  width: 100%;
  height: 100%;
}
.modaal-fullscreen .modaal-outer-wrapper {
  display: block;
}

.modaal-inner-wrapper {
  display: table-cell;
  width: 100%;
  height: 100%;
  position: relative;
  vertical-align: middle;
  text-align: center;
  padding: 80px 25px;
}
.modaal-fullscreen .modaal-inner-wrapper {
  padding: 0;
  display: block;
  vertical-align: top;
}

.modaal-container {
  position: relative;
  display: inline-block;
  width: 100%;
  margin: auto;
  text-align: left;
  color: #000;
  max-width: 1000px;
  border-radius: 0px;
  background: #fff;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
  cursor: auto;
}
.modaal-container.is_loading {
  height: 100px;
  width: 100px;
  overflow: hidden;
}
.modaal-fullscreen .modaal-container {
  max-width: none;
  height: 100%;
  overflow: auto;
}

.modaal-close {
  position: fixed;
  right: 20px;
  top: 20px;
  color: #fff;
  cursor: pointer;
  opacity: 1;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-close:focus, .modaal-close:hover {
  outline: none;
  background: #fff;
}
.modaal-close:focus:before, .modaal-close:focus:after, .modaal-close:hover:before, .modaal-close:hover:after {
  background: #b93d0c;
}
.modaal-close span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-close:before, .modaal-close:after {
  display: block;
  content: " ";
  position: absolute;
  top: 14px;
  left: 23px;
  width: 4px;
  height: 22px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-close:before {
  transform: rotate(-45deg);
}
.modaal-close:after {
  transform: rotate(45deg);
}
.modaal-fullscreen .modaal-close {
  background: #afb7bc;
  right: 10px;
  top: 10px;
}

.modaal-content-container {
  padding: 30px;
}

.modaal-confirm-wrap {
  padding: 30px 0 0;
  text-align: center;
  font-size: 0;
}

.modaal-confirm-btn {
  font-size: 14px;
  display: inline-block;
  margin: 0 10px;
  vertical-align: middle;
  cursor: pointer;
  border: none;
  background: transparent;
}
.modaal-confirm-btn.modaal-ok {
  padding: 10px 15px;
  color: #fff;
  background: #555;
  border-radius: 3px;
  transition: background 0.2s ease-in-out;
}
.modaal-confirm-btn.modaal-ok:hover {
  background: rgb(46.75, 46.75, 46.75);
}
.modaal-confirm-btn.modaal-cancel {
  text-decoration: underline;
}
.modaal-confirm-btn.modaal-cancel:hover {
  text-decoration: none;
  color: rgb(46.75, 46.75, 46.75);
}

@keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.modaal-instagram .modaal-container {
  width: auto;
  background: transparent;
  box-shadow: none !important;
}
.modaal-instagram .modaal-content-container {
  padding: 0;
  background: transparent;
}
.modaal-instagram .modaal-content-container > blockquote {
  width: 1px !important;
  height: 1px !important;
  opacity: 0 !important;
}
.modaal-instagram iframe {
  opacity: 0;
  margin: -6px !important;
  border-radius: 0 !important;
  width: 1000px !important;
  max-width: 800px !important;
  box-shadow: none !important;
  animation: instaReveal 1s linear forwards;
}

.modaal-image .modaal-inner-wrapper {
  padding-left: 140px;
  padding-right: 140px;
}
.modaal-image .modaal-container {
  width: auto;
  max-width: 100%;
}

.modaal-gallery-wrap {
  position: relative;
  color: #fff;
}

.modaal-gallery-item {
  display: none;
}
.modaal-gallery-item img {
  display: block;
}
.modaal-gallery-item.is_active {
  display: block;
}

.modaal-gallery-label {
  position: absolute;
  left: 0;
  width: 100%;
  margin: 20px 0 0;
  font-size: 18px;
  text-align: center;
  color: #fff;
}
.modaal-gallery-label:focus {
  outline: none;
}

.modaal-gallery-control {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  opacity: 1;
  cursor: pointer;
  color: #fff;
  width: 50px;
  height: 50px;
  background: rgba(0, 0, 0, 0);
  border: none;
  border-radius: 100%;
  transition: all 0.2s ease-in-out;
}
.modaal-gallery-control.is_hidden {
  opacity: 0;
  cursor: default;
}
.modaal-gallery-control:focus, .modaal-gallery-control:hover {
  outline: none;
  background: #fff;
}
.modaal-gallery-control:focus:before, .modaal-gallery-control:focus:after, .modaal-gallery-control:hover:before, .modaal-gallery-control:hover:after {
  background: #afb7bc;
}
.modaal-gallery-control span {
  position: absolute !important;
  clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
  clip: rect(1px, 1px, 1px, 1px);
  padding: 0 !important;
  border: 0 !important;
  height: 1px !important;
  width: 1px !important;
  overflow: hidden;
}
.modaal-gallery-control:before, .modaal-gallery-control:after {
  display: block;
  content: " ";
  position: absolute;
  top: 16px;
  left: 25px;
  width: 4px;
  height: 18px;
  border-radius: 4px;
  background: #fff;
  transition: background 0.2s ease-in-out;
}
.modaal-gallery-control:before {
  margin: -5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-control:after {
  margin: 5px 0 0;
  transform: rotate(45deg);
}

.modaal-gallery-next-inner {
  left: 100%;
  margin-left: 40px;
}
.modaal-gallery-next-outer {
  right: 45px;
}

.modaal-gallery-prev:before, .modaal-gallery-prev:after {
  left: 22px;
}
.modaal-gallery-prev:before {
  margin: 5px 0 0;
  transform: rotate(-45deg);
}
.modaal-gallery-prev:after {
  margin: -5px 0 0;
  transform: rotate(45deg);
}
.modaal-gallery-prev-inner {
  right: 100%;
  margin-right: 40px;
}
.modaal-gallery-prev-outer {
  left: 45px;
}

.modaal-video-wrap {
  margin: auto 50px;
  position: relative;
}

.modaal-video-container {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  background: #000;
  max-width: 1300px;
  margin-left: auto;
  margin-right: auto;
}
.modaal-video-container iframe,
.modaal-video-container object,
.modaal-video-container embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.modaal-iframe .modaal-content {
  width: 100%;
  height: 100%;
}

.modaal-iframe-elem {
  width: 100%;
  height: 100%;
  display: block;
}

@media only screen and (min-width: 1400px) {
  .modaal-video-container {
    padding-bottom: 0;
    height: 731px;
  }
}
@media only screen and (max-width: 1140px) {
  .modaal-image .modaal-inner-wrapper {
    padding-left: 25px;
    padding-right: 25px;
  }
  .modaal-gallery-control {
    top: auto;
    bottom: 20px;
    transform: none;
    background: rgba(0, 0, 0, 0.7);
  }
  .modaal-gallery-control:before, .modaal-gallery-control:after {
    background: #fff;
  }
  .modaal-gallery-next {
    left: auto;
    right: 20px;
  }
  .modaal-gallery-prev {
    left: 20px;
    right: auto;
  }
}
@media screen and (max-width: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
}
@media screen and (max-height: 1100px) {
  .modaal-instagram iframe {
    width: 700px !important;
  }
}
@media screen and (max-height: 1000px) {
  .modaal-inner-wrapper {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  .modaal-instagram iframe {
    width: 600px !important;
  }
}
@media screen and (max-height: 900px) {
  .modaal-instagram iframe {
    width: 500px !important;
  }
  .modaal-video-container {
    max-width: 900px;
    max-height: 510px;
  }
}
@media only screen and (max-width: 600px) {
  .modaal-instagram iframe {
    width: 280px !important;
  }
}
@media only screen and (max-height: 820px) {
  .modaal-gallery-label {
    display: none;
  }
}
.modaal-loading-spinner {
  background: none;
  position: absolute;
  width: 200px;
  height: 200px;
  top: 50%;
  left: 50%;
  margin: -100px 0 0 -100px;
  transform: scale(0.25);
}
@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    transform: scale(1.5);
  }
  100% {
    opacity: 0.1;
    transform: scale(1);
  }
}
.modaal-loading-spinner > div {
  width: 24px;
  height: 24px;
  margin-left: 4px;
  margin-top: 4px;
  position: absolute;
}

.modaal-loading-spinner > div > div {
  width: 100%;
  height: 100%;
  border-radius: 15px;
  background: #fff;
}

.modaal-loading-spinner > div:nth-of-type(1) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0s;
}

.modaal-loading-spinner > div:nth-of-type(2) > div, .modaal-loading-spinner > div:nth-of-type(3) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(1) {
  transform: translate(84px, 84px) rotate(45deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(2) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.12s;
}

.modaal-loading-spinner > div:nth-of-type(2) {
  transform: translate(84px, 84px) rotate(90deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(3) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.25s;
}

.modaal-loading-spinner > div:nth-of-type(4) > div, .modaal-loading-spinner > div:nth-of-type(5) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(3) {
  transform: translate(84px, 84px) rotate(135deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(4) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.37s;
}

.modaal-loading-spinner > div:nth-of-type(4) {
  transform: translate(84px, 84px) rotate(180deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(5) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.5s;
}

.modaal-loading-spinner > div:nth-of-type(6) > div, .modaal-loading-spinner > div:nth-of-type(7) > div {
  -ms-animation: modaal-loading-spinner 1s linear infinite;
  -moz-animation: modaal-loading-spinner 1s linear infinite;
  -webkit-animation: modaal-loading-spinner 1s linear infinite;
  -o-animation: modaal-loading-spinner 1s linear infinite;
}

.modaal-loading-spinner > div:nth-of-type(5) {
  transform: translate(84px, 84px) rotate(225deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(6) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.62s;
}

.modaal-loading-spinner > div:nth-of-type(6) {
  transform: translate(84px, 84px) rotate(270deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(7) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.75s;
}

.modaal-loading-spinner > div:nth-of-type(7) {
  transform: translate(84px, 84px) rotate(315deg) translate(70px, 0);
}

.modaal-loading-spinner > div:nth-of-type(8) > div {
  animation: modaal-loading-spinner 1s linear infinite;
  animation-delay: 0.87s;
}

.modaal-loading-spinner > div:nth-of-type(8) {
  transform: translate(84px, 84px) rotate(360deg) translate(70px, 0);
}

/*!
 * animate.css -http://daneden.me/animate
 * Version - 3.7.0
 * Licensed under the MIT license - http://opensource.org/licenses/MIT
 *
 * Copyright (c) 2018 Daniel Eden
 */
@keyframes bounce {
  from, 20%, 53%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0);
  }
  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0);
  }
  90% {
    transform: translate3d(0, -4px, 0);
  }
}
.bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}
@keyframes flash {
  from, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }
  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.pulse {
  animation-name: pulse;
}
@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }
  30% {
    transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    transform: scale3d(1.05, 0.95, 1);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.rubberBand {
  animation-name: rubberBand;
}
@keyframes shake {
  from, to {
    transform: translate3d(0, 0, 0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translate3d(-10px, 0, 0);
  }
  20%, 40%, 60%, 80% {
    transform: translate3d(10px, 0, 0);
  }
}
.shake {
  animation-name: shake;
}
@keyframes headShake {
  0% {
    transform: translateX(0);
  }
  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }
  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }
  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }
  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }
  50% {
    transform: translateX(0);
  }
}
.headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}
@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }
  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }
  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }
  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }
  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}
.swing {
  transform-origin: top center;
  animation-name: swing;
}
@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }
  10%, 20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }
  30%, 50%, 70%, 90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }
  40%, 60%, 80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }
  to {
    transform: scale3d(1, 1, 1);
  }
}
.tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }
  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }
  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }
  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }
  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }
  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.wobble {
  animation-name: wobble;
}
@keyframes jello {
  from, 11.1%, to {
    transform: translate3d(0, 0, 0);
  }
  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }
  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }
  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }
  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }
  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }
  77.7% {
    transform: skewX(0.390625deg) skewY(0.390625deg);
  }
  88.8% {
    transform: skewX(-0.1953125deg) skewY(-0.1953125deg);
  }
}
.jello {
  animation-name: jello;
  transform-origin: center;
}
@keyframes heartBeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
.heartBeat {
  animation-name: heartBeat;
  animation-duration: 1.3s;
  animation-timing-function: ease-in-out;
}
@keyframes bounceIn {
  from, 20%, 40%, 60%, 80%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }
  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }
  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }
  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}
.bounceIn {
  animation-duration: 0.75s;
  animation-name: bounceIn;
}
@keyframes bounceInDown {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0);
  }
  75% {
    transform: translate3d(0, -10px, 0);
  }
  90% {
    transform: translate3d(0, 5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInDown {
  animation-name: bounceInDown;
}
@keyframes bounceInLeft {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0);
  }
  75% {
    transform: translate3d(-10px, 0, 0);
  }
  90% {
    transform: translate3d(5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInLeft {
  animation-name: bounceInLeft;
}
@keyframes bounceInRight {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0);
  }
  75% {
    transform: translate3d(10px, 0, 0);
  }
  90% {
    transform: translate3d(-5px, 0, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInRight {
  animation-name: bounceInRight;
}
@keyframes bounceInUp {
  from, 60%, 75%, 90%, to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }
  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0);
  }
  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  75% {
    transform: translate3d(0, 10px, 0);
  }
  90% {
    transform: translate3d(0, -5px, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.bounceInUp {
  animation-name: bounceInUp;
}
@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }
  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}
.bounceOut {
  animation-duration: 0.75s;
  animation-name: bounceOut;
}
@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.bounceOutDown {
  animation-name: bounceOutDown;
}
@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.bounceOutLeft {
  animation-name: bounceOutLeft;
}
@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.bounceOutRight {
  animation-name: bounceOutRight;
}
@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0);
  }
  40%, 45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0);
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.bounceOutUp {
  animation-name: bounceOutUp;
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.fadeIn {
  animation-name: fadeIn;
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDown {
  animation-name: fadeInDown;
}
@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInDownBig {
  animation-name: fadeInDownBig;
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeft {
  animation-name: fadeInLeft;
}
@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInLeftBig {
  animation-name: fadeInLeftBig;
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRight {
  animation-name: fadeInRight;
}
@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInRightBig {
  animation-name: fadeInRightBig;
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUp {
  animation-name: fadeInUp;
}
@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.fadeInUpBig {
  animation-name: fadeInUpBig;
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
.fadeOut {
  animation-name: fadeOut;
}
@keyframes fadeOutDown {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}
.fadeOutDown {
  animation-name: fadeOutDown;
}
@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}
.fadeOutDownBig {
  animation-name: fadeOutDownBig;
}
@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}
.fadeOutLeft {
  animation-name: fadeOutLeft;
}
@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}
.fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}
@keyframes fadeOutRight {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}
.fadeOutRight {
  animation-name: fadeOutRight;
}
@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}
.fadeOutRightBig {
  animation-name: fadeOutRightBig;
}
@keyframes fadeOutUp {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}
.fadeOutUp {
  animation-name: fadeOutUp;
}
@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}
.fadeOutUpBig {
  animation-name: fadeOutUpBig;
}
@keyframes flip {
  from {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }
  40% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }
  50% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px) rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }
  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
  to {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0) rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
}
.animated.flip {
  backface-visibility: visible;
  animation-name: flip;
}
@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInX {
  backface-visibility: visible !important;
  animation-name: flipInX;
}
@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }
  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }
  to {
    transform: perspective(400px);
  }
}
.flipInY {
  backface-visibility: visible !important;
  animation-name: flipInY;
}
@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}
.flipOutX {
  animation-duration: 0.75s;
  animation-name: flipOutX;
  backface-visibility: visible !important;
}
@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }
  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }
  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}
.flipOutY {
  animation-duration: 0.75s;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}
@keyframes lightSpeedIn {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
  60% {
    transform: skewX(20deg);
    opacity: 1;
  }
  80% {
    transform: skewX(-5deg);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.lightSpeedIn {
  animation-name: lightSpeedIn;
  animation-timing-function: ease-out;
}
@keyframes lightSpeedOut {
  from {
    opacity: 1;
  }
  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}
.lightSpeedOut {
  animation-name: lightSpeedOut;
  animation-timing-function: ease-in;
}
@keyframes rotateIn {
  from {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }
  to {
    transform-origin: center;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateIn {
  animation-name: rotateIn;
}
@keyframes rotateInDownLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownLeft {
  animation-name: rotateInDownLeft;
}
@keyframes rotateInDownRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInDownRight {
  animation-name: rotateInDownRight;
}
@keyframes rotateInUpLeft {
  from {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
  to {
    transform-origin: left bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpLeft {
  animation-name: rotateInUpLeft;
}
@keyframes rotateInUpRight {
  from {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }
  to {
    transform-origin: right bottom;
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.rotateInUpRight {
  animation-name: rotateInUpRight;
}
@keyframes rotateOut {
  from {
    transform-origin: center;
    opacity: 1;
  }
  to {
    transform-origin: center;
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}
.rotateOut {
  animation-name: rotateOut;
}
@keyframes rotateOutDownLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}
.rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
}
@keyframes rotateOutDownRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutDownRight {
  animation-name: rotateOutDownRight;
}
@keyframes rotateOutUpLeft {
  from {
    transform-origin: left bottom;
    opacity: 1;
  }
  to {
    transform-origin: left bottom;
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}
.rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
}
@keyframes rotateOutUpRight {
  from {
    transform-origin: right bottom;
    opacity: 1;
  }
  to {
    transform-origin: right bottom;
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}
.rotateOutUpRight {
  animation-name: rotateOutUpRight;
}
@keyframes hinge {
  0% {
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  20%, 60% {
    transform: rotate3d(0, 0, 1, 80deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
  }
  40%, 80% {
    transform: rotate3d(0, 0, 1, 60deg);
    transform-origin: top left;
    animation-timing-function: ease-in-out;
    opacity: 1;
  }
  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}
.hinge {
  animation-duration: 2s;
  animation-name: hinge;
}
@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }
  50% {
    transform: rotate(-10deg);
  }
  70% {
    transform: rotate(3deg);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.jackInTheBox {
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }
  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}
.rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */
@keyframes rollOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}
.rollOut {
  animation-name: rollOut;
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  50% {
    opacity: 1;
  }
}
.zoomIn {
  animation-name: zoomIn;
}
@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInDown {
  animation-name: zoomInDown;
}
@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInLeft {
  animation-name: zoomInLeft;
}
@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInRight {
  animation-name: zoomInRight;
}
@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomInUp {
  animation-name: zoomInUp;
}
@keyframes zoomOut {
  from {
    opacity: 1;
  }
  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
  to {
    opacity: 0;
  }
}
.zoomOut {
  animation-name: zoomOut;
}
@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutDown {
  animation-name: zoomOutDown;
}
@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
    transform-origin: left center;
  }
}
.zoomOutLeft {
  animation-name: zoomOutLeft;
}
@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }
  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
    transform-origin: right center;
  }
}
.zoomOutRight {
  animation-name: zoomOutRight;
}
@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }
  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    transform-origin: center bottom;
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}
.zoomOutUp {
  animation-name: zoomOutUp;
}
@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInDown {
  animation-name: slideInDown;
}
@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInLeft {
  animation-name: slideInLeft;
}
@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInRight {
  animation-name: slideInRight;
}
@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}
.slideInUp {
  animation-name: slideInUp;
}
@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}
.slideOutDown {
  animation-name: slideOutDown;
}
@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}
.slideOutLeft {
  animation-name: slideOutLeft;
}
@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}
.slideOutRight {
  animation-name: slideOutRight;
}
@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }
  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}
.slideOutUp {
  animation-name: slideOutUp;
}

.animated {
  animation-duration: 1s;
  animation-fill-mode: both;
}

.animated.infinite {
  animation-iteration-count: infinite;
}

.animated.delay-1s {
  animation-delay: 1s;
}

.animated.delay-2s {
  animation-delay: 2s;
}

.animated.delay-3s {
  animation-delay: 3s;
}

.animated.delay-4s {
  animation-delay: 4s;
}

.animated.delay-5s {
  animation-delay: 5s;
}

.animated.fast {
  animation-duration: 800ms;
}

.animated.faster {
  animation-duration: 500ms;
}

.animated.slow {
  animation-duration: 2s;
}

.animated.slower {
  animation-duration: 3s;
}

@media (prefers-reduced-motion) {
  .animated {
    animation: unset !important;
    transition: none !important;
  }
}
.hide {
  display: none;
}

.block {
  display: block;
}

@media screen and (max-width: 1270px) {
  .pc-hide {
    display: none !important;
  }
  .pc-block {
    display: block;
  }
}
@media screen and (max-width: 768px) {
  .tab-hide {
    display: none !important;
  }
  .tab-block {
    display: block !important;
  }
}
@media screen and (max-width: 480px) {
  .sp-hide {
    display: none !important;
  }
  .sp-block {
    display: block !important;
  }
}
.inner {
  position: relative;
  max-width: 1200px;
  margin: 0 auto;
}
@media screen and (max-width: 1270px) {
  .inner {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner {
    padding: 0 16px;
  }
}

.inner2 {
  max-width: 1560px;
  margin: 0 auto;
}
@media screen and (max-width: 1560px) {
  .inner2 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1270px) {
  .inner2 {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner2 {
    padding: 0 16px;
  }
}

.inner3 {
  max-width: 1560px;
  padding-right: 180px;
  margin-left: auto;
  margin-right: 0;
}
@media screen and (max-width: 1560px) {
  .inner3 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1270px) {
  .inner3 {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner3 {
    padding: 0 16px;
  }
}

.inner4 {
  max-width: 1560px;
  margin: 0 auto;
  padding-right: 180px;
}
@media screen and (max-width: 1560px) {
  .inner4 {
    padding: 0 40px;
  }
}
@media screen and (max-width: 1270px) {
  .inner4 {
    padding: 0 33px;
  }
}
@media screen and (max-width: 480px) {
  .inner4 {
    padding: 0 16px;
  }
}

.mb50 {
  margin-bottom: 3rem;
}

.child_ttl {
  padding-bottom: 50px;
}
@media screen and (max-width: 1270px) {
  .child_ttl {
    padding-bottom: 35px;
  }
}
.child_ttl h3 {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  color: #999CA5;
  font-size: 1.5em;
  padding-bottom: 10px;
}
@media screen and (max-width: 1270px) {
  .child_ttl h3 {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 480px) {
  .child_ttl h3 {
    font-size: 1em;
  }
}
.child_ttl .en {
  text-transform: capitalize;
  font-size: 5em;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
@media screen and (max-width: 1270px) {
  .child_ttl .en {
    font-size: 3.5em;
  }
}
@media screen and (max-width: 480px) {
  .child_ttl .en {
    font-size: 2em;
  }
}
.child_ttl .en span {
  color: #3A5475;
}

.btn * {
  transition: 1s;
  box-sizing: border-box;
}

[class^=container] {
  display: block;
  position: relative;
  color: #fff;
  text-decoration: none;
  width: 250px;
  height: 50px;
  margin: 50px 0 0 auto;
  overflow: hidden;
}
@media screen and (max-width: 480px) {
  [class^=container] {
    margin: 35px auto 0;
  }
}

[class^=container] .outline {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  stroke: #fff;
  stroke-width: 2px;
  fill: transparent;
}

[class^=container] .text {
  position: relative;
  top: -30px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  line-height: 1;
  letter-spacing: 1px;
  text-transform: capitalize;
  text-align: center;
}

[class^=container]:hover .outline {
  stroke: #3A5475;
}

[class^=container]:hover .text {
  color: #3A5475;
}

.container2 .outline {
  stroke-dasharray: 50 250;
  stroke-dashoffset: -575;
}

.container2:hover .outline {
  stroke-dasharray: 50 100;
  stroke-dashoffset: -75;
}

#waveCanvas {
  position: fixed;
  bottom: 0;
  left: -48.698vw;
  width: 200%;
  transform: rotate(-40deg);
  z-index: 1;
}

#waveCanvas2 {
  position: fixed;
  bottom: 0;
  left: -59.896vw;
  width: 200%;
  transform: rotate(-40deg);
  z-index: 1;
}

.zoomInText {
  position: relative;
}

.zoomInText span.mask {
  position: relative;
  transition: 0.3s ease-in-out;
  display: block;
  line-height: 0;
  overflow: hidden;
}

.zoomInText:hover span.mask::before {
  content: "";
  position: absolute;
  z-index: 2;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #3A5475;
  opacity: 0.2;
}

.zoomInText img {
  transform: scale(1);
  filter: blur(0);
  transition: 0.3s ease-in-out;
}

.zoomInText:hover img {
  transform: scale(1.1);
  filter: blur(15px);
}

.zoomInText span.cap {
  opacity: 0;
  transition: 0.5s ease-in-out;
  position: absolute;
  z-index: 3;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  line-height: 1.5;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  padding-bottom: 5px;
  font-size: 24px;
}
@media screen and (max-width: 480px) {
  .zoomInText span.cap {
    font-size: 1em;
  }
}
.zoomInText span.cap::before {
  content: "";
  background-color: #fff;
  width: 100%;
  height: 1px;
  position: absolute;
  bottom: 0;
  left: 0;
  transform: scale(0);
  transition: 0.5s ease-in-out;
  transform-origin: left;
}

.zoomInText:hover span.cap {
  opacity: 1;
}
.zoomInText:hover span.cap:before {
  transform: scale(1);
}

.hide-area {
  display: none;
}

.modaal-close:before,
.modaal-close:after {
  border-radius: 0;
}

.modaal-close {
  border-radius: 0;
}

.modaal-close:focus::before,
.modaal-close:focus::after,
.modaal-close:hover::before,
.modaal-close:hover::after {
  background-color: #3A5475;
}

.modaal-content-container {
  padding: 30px 16px;
}
.modaal-content-container .flex {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex {
    flex-direction: column;
  }
}
.modaal-content-container .flex .member_detail_img {
  width: 35%;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_img {
    width: auto;
  }
}
.modaal-content-container .flex .member_detail_txt {
  width: calc(65% - 50px);
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt {
    width: auto;
    margin-top: 30px;
  }
}
.modaal-content-container .flex .member_detail_txt .name {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-weight: 700;
  font-size: 24px;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .name {
    font-size: 1.3em;
  }
}
.modaal-content-container .flex .member_detail_txt .en_name {
  font-size: 14px;
  font-weight: 700;
  padding-top: 5px;
  text-transform: capitalize;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .en_name {
    font-size: 12px;
  }
}
.modaal-content-container .flex .member_detail_txt .affiliation_area {
  margin-top: 20px;
  margin-bottom: 35px;
  font-size: 14px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .affiliation_area {
    margin-bottom: 20px;
  }
}
.modaal-content-container .flex .member_detail_txt .affiliation_area .specialty_area {
  margin-top: 5px;
  display: flex;
}
.modaal-content-container .flex .member_detail_txt .affiliation_area .specialty_area li {
  padding-left: 5px;
  padding-top: 5px;
}
.modaal-content-container .flex .member_detail_txt .affiliation_area .specialty_area li:first-child {
  padding-top: 0;
}
.modaal-content-container .flex .member_detail_txt .creed {
  font-size: 18px;
  font-weight: 700;
  padding-bottom: 15px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .modaal-content-container .flex .member_detail_txt .creed {
    font-size: 16px;
    padding-bottom: 8px;
  }
}
.modaal-content-container .flex .member_detail_txt .txt {
  line-height: 1.5em;
  font-size: 14px;
}

#js-mouse {
  pointer-events: none;
  position: fixed;
  top: -15px;
  left: -15px;
  width: 15px;
  height: 15px;
  background-color: rgba(0, 0, 0, 0.5);
  border-radius: 50%;
  transform: translate(0, 0) scale(1.1);
  transition: all 0.3s ease-out;
  z-index: 9999;
  opacity: 0;
  border: rgba(255, 255, 255, 0.2) solid 0.5px;
}
@media screen and (max-width: 840px) {
  #js-mouse {
    display: none;
  }
}
#js-mouse::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 25px;
  height: 25px;
  border: 1px solid rgba(0, 0, 0, 0.3);
  border-radius: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s ease-out;
}

#js-mouse.js-hover::before {
  transform: translate(-50%, -50%) scale(2);
}

@keyframes spin {
  0% {
    transform: rotate(0);
  }
  100% {
    transform: rotate(-360deg);
  }
}
@keyframes textAnime {
  100% {
    transform: translateY(0px);
  }
}
@keyframes cmn-induction {
  0% {
    transform: translateY(-101%);
  }
  70% {
    transform: translateY(101%);
  }
  100% {
    transform: translateY(101%);
  }
}
@keyframes tenmetsu {
  0% {
    opacity: 1;
    filter: brightness(200%);
  }
  100% {
    opacity: 0.5;
    filter: brightness(100%);
  }
}
.delay-time05 {
  animation-delay: 0.5s;
}

.delay-time1 {
  animation-delay: 1s;
}

.delay-time15 {
  animation-delay: 1.5s;
}

.delay-time20 {
  animation-delay: 2s;
}

.delay-time25 {
  animation-delay: 2.5s;
}

.delay-time30 {
  animation-delay: 3s;
}

.randomAnime {
  visibility: hidden;
}

.catch_anime {
  animation-name: catchAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}

@keyframes catchAnime {
  0% {
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
.smooth {
  animation-name: smoothAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  transform-origin: left;
  opacity: 0;
}

@keyframes smoothAnime {
  from {
    transform: translate3d(0, 25%, 0) skewY(3deg);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0) skewY(0);
    opacity: 1;
  }
}
.smoothTrigger {
  opacity: 0;
}

.fadeUp {
  animation-name: fadeUpAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeUpAnime {
  from {
    opacity: 0;
    transform: translateY(50px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.fadeIn {
  animation-name: fadeInAnime;
  animation-duration: 1.5s;
  animation-fill-mode: forwards;
  opacity: 0;
}

@keyframes fadeInAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.flipLeft {
  animation-name: flipLeftAnime;
  animation-duration: 1s;
  animation-fill-mode: forwards;
  perspective-origin: left center;
  opacity: 0;
}

@keyframes flipLeftAnime {
  from {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(30deg);
    opacity: 0;
  }
  to {
    transform: perspective(600px) translate3d(0, 0, 0) rotateY(0deg);
    opacity: 1;
  }
}
.header {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 27px 33px;
  z-index: 999;
}
@media screen and (max-width: 480px) {
  .header {
    padding: 16px;
  }
}
.header_body {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.header_body .panel_logo_active {
  display: block;
}
.header_body__logo {
  width: 110px;
  mix-blend-mode: normal;
}
@media screen and (max-width: 480px) {
  .header_body__logo {
    width: 65px;
  }
}
.header #drawer {
  position: fixed;
  z-index: 99;
  top: 0;
  right: -150%;
  width: 100%;
  height: 100vh;
  transition: all 0.7s;
  background-image: linear-gradient(0deg, rgb(58, 84, 117), rgb(58, 84, 110) 50%, rgb(52, 75, 89));
}
.header #drawer.panelactive {
  right: 0;
}
.header #drawer.panelactive .drawer_menu {
  transition: opacity 1s cubic-bezier(0.43, 0.2, 0.02, 1) 0.8s !important;
  opacity: 1 !important;
}
.header #drawer .drawer_wrap {
  width: auto;
  height: 100%;
  position: relative;
  overflow-y: clip;
}
.header #drawer .drawer_wrap::before {
  content: "";
  position: absolute;
  opacity: 0.5;
  bottom: -10.417vw;
  left: 0;
  width: 100%;
  height: 925px;
  background: url(../img/drawer_bg.png) no-repeat;
  background-size: cover;
  background-position: center;
  z-index: 1;
}
.header #drawer .drawer_wrap .drawer_inner {
  height: 100%;
  position: relative;
}
.header #drawer .drawer_wrap .drawer_inner .drawer_logo {
  position: absolute;
  top: 0;
  left: 0;
  width: 110px;
  margin-top: 27px;
  margin-left: 33px;
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner .drawer_logo {
    width: 65px;
    margin-top: 16px;
    margin-left: 16px;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 2;
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu {
  margin-top: 7.813vw;
  display: flex;
  width: 100%;
  justify-content: center;
  padding: 0 10.417vw;
  transition: opacity 0.3s cubic-bezier(0.43, 0.2, 0.02, 1);
  opacity: 0;
}
@media screen and (max-width: 1270px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu {
    padding: 0 32px;
  }
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu {
    padding: 110px 16px 50px;
    justify-content: flex-start;
    flex-direction: column;
    position: fixed;
    z-index: 999;
    width: 100%;
    height: 100vh;
    overflow: auto;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item {
  width: calc(33.333% - 75px);
  margin-left: 150px;
  display: flex;
  flex-direction: column;
  gap: 5em;
}
@media screen and (max-width: 1270px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item {
    width: calc(33.333% - 25px);
    margin-left: 50px;
  }
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item {
    margin-left: 0;
    width: auto;
    gap: 0;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item:first-child {
  margin-left: 0;
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item__ttl {
  text-transform: capitalize;
  color: #fff;
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: #fff solid 1px;
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item__ttl {
    display: none;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item__ttl .en {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  font-size: 2em;
  padding-bottom: 5px;
}
@media screen and (max-width: 1270px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item__ttl .en {
    font-size: 1.5em;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item__ttl .ja {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 1270px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item__ttl .ja {
    font-size: 0.8em;
  }
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .acoordion_list {
    width: 96%;
    max-width: 900px;
    margin: 0 auto;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .acoordion_list .accordion_item__ttl {
  display: none;
  text-transform: capitalize;
  color: #fff;
  padding-bottom: 15px;
  margin-bottom: 30px;
  border-bottom: #999CA5 solid 1px;
  position: relative;
  cursor: pointer;
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .acoordion_list .accordion_item__ttl::before {
  content: "+";
  position: absolute;
  right: 0;
  font-size: 2em;
  transition: all 0.4s;
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .acoordion_list .accordion_item__ttl.close::before {
  transform: rotate(45deg);
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .acoordion_list .accordion_item__ttl {
    display: flex;
    align-items: center;
  }
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .acoordion_list .accordion_item__ttl .en {
    font-family: "arsenica-variable", sans-serif;
    font-variation-settings: "opsz" 100, "wght" 400;
    font-size: 2em;
  }
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .acoordion_list .accordion_item__ttl .ja {
    font-family: YuMincho, "Hiragino Mincho ProN", serif;
    padding-left: 10px;
    color: #999CA5;
    font-size: 0.75em;
  }
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .child_list {
    display: none;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .child_list li {
  margin-bottom: 30px;
  position: relative;
}
@media screen and (max-width: 480px) {
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .child_list li {
    margin-bottom: 20px;
    margin-left: 10px;
    padding-left: 20px;
  }
  .header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .child_list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 10px;
    height: 1px;
    background-color: #999CA5;
  }
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .child_list li a {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  color: #999CA5;
  transition: all 0.4s;
}
.header #drawer .drawer_wrap .drawer_inner__flex .drawer_menu .drawer_item .child_list li a:hover {
  color: #fff;
}

.toggle {
  width: 105px;
  height: 105px;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1000;
  margin-top: 27px;
  margin-right: 33px;
  mix-blend-mode: difference;
}
@media screen and (max-width: 480px) {
  .toggle {
    width: 65px;
    height: 65px;
    margin-top: 16px;
    margin-right: 16px;
  }
}
.toggle.active {
  mix-blend-mode: normal;
}
.toggle.active:hover span {
  transform: skew(0, 0) !important;
  opacity: 1 !important;
}
.toggle.active span:nth-of-type(1) {
  width: 100% !important;
  transform: rotate(140deg) skew(0, 0) !important;
  top: 0 !important;
  right: 0 !important;
}
.toggle.active span:nth-of-type(2) {
  opacity: 0 !important;
}
.toggle.active span:nth-of-type(3) {
  width: 100% !important;
  transform: rotate(-140deg) skew(0, 0) !important;
  top: 0 !important;
}
.toggle .toggle_line {
  position: absolute;
  z-index: 2;
  top: 53%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 33px;
  height: 10px;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  .toggle .toggle_line {
    width: 24px;
    top: 57%;
  }
}
.toggle .toggle_line:hover span {
  opacity: 0.8;
  transform: skew(70deg, -30deg);
}
.toggle .toggle_line span {
  position: absolute;
  width: 100%;
  height: 2px;
  background-color: #fff;
  transition: transform 0.7s cubic-bezier(0.43, 0.2, 0.02, 1), opacity 0.7s cubic-bezier(0.43, 0.2, 0.02, 1);
}
@media screen and (max-width: 480px) {
  .toggle .toggle_line span {
    height: 1px;
  }
}
.toggle .toggle_line span:nth-of-type(1) {
  top: -5px;
  width: 60%;
}
.toggle .toggle_line span:nth-of-type(3) {
  top: 5px;
  right: 0;
  width: 60%;
}
.toggle .toggle_bg {
  animation: spin 30s infinite linear;
}

.mv {
  width: 100%;
  height: 100vh;
  overflow: hidden;
  position: relative;
  background-color: #332E32;
}
.mv::before {
  content: "";
  background-color: #332E32;
  width: 100%;
  height: 100%;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
.mv video {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateX(-50%) translateY(-50%);
  min-width: 100%;
  min-height: 100%;
}
.mv .induction {
  position: absolute;
  left: 33px;
  bottom: 0;
  z-index: 2;
  color: #fff;
  writing-mode: vertical-rl;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  display: flex;
}
.mv .induction .induction_txt {
  letter-spacing: 0.3em;
  transition: letter-spacing 0.8s cubic-bezier(0.43, 0.2, 0.02, 1);
  font-size: 12px;
  margin-bottom: 16px;
  position: relative;
  left: -2px;
}
@media screen and (max-width: 480px) {
  .mv .induction .induction_txt {
    font-size: 10px;
  }
}
.mv .induction:hover .induction_txt {
  letter-spacing: 0.4em;
}
.mv .induction .induction_bar {
  position: relative;
  display: block;
  width: 1px;
  height: 96px;
  margin: 0 auto;
  overflow: hidden;
}
.mv .induction .induction_bar::before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #fff;
  animation: cmn-induction 3s cubic-bezier(0.43, 0.2, 0.02, 1) 1s infinite;
}
.mv .error {
  position: absolute;
  z-index: 2;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  text-align: center;
}
@media screen and (max-width: 480px) {
  .mv .error {
    width: 100%;
    padding: 0 16px;
  }
}
.mv .error h2 {
  font-size: 2.5em;
  margin-bottom: 1em;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  text-transform: capitalize;
}
@media screen and (max-width: 480px) {
  .mv .error h2 {
    font-size: 2em;
  }
}
.mv .error_txt {
  font-size: 1.1em;
  line-height: 2em;
}
@media screen and (max-width: 480px) {
  .mv .error_txt {
    font-size: 1em;
  }
}
.mv .error a {
  display: inline-block;
  background-color: #3A5475;
  transition: all 0.4s;
  text-transform: capitalize;
  margin-top: 40px;
  width: 200px;
  font-size: 1.5em;
  padding: 0.75em;
  border-top-right-radius: 10px;
  border-bottom-left-radius: 10px;
}
@media screen and (max-width: 480px) {
  .mv .error a {
    font-size: 1.1em;
  }
}
.mv .error a:hover {
  opacity: 0.8;
}

#about {
  background-color: #332E32;
  position: relative;
  overflow: hidden;
}
#about::before {
  content: "";
  display: inline-block;
  background: url(../img/top_about_bg.png) no-repeat top center;
  background-size: cover;
  width: 100%;
  height: 100%;
  max-height: 870px;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  animation-name: tenmetsu;
  animation-duration: 5s;
  animation-direction: alternate;
  animation-iteration-count: infinite;
}
@media screen and (max-width: 1270px) {
  #about::before {
    height: 500px;
  }
}
@media screen and (max-width: 480px) {
  #about::before {
    height: 250px;
  }
}

.top_about_top {
  padding-top: 150px;
  padding-bottom: 50px;
}
@media screen and (max-width: 1270px) {
  .top_about_top {
    padding-top: 80px;
  }
}
@media screen and (max-width: 480px) {
  .top_about_top {
    padding-top: 50px;
  }
}
.top_about_top h2 {
  color: #fff;
  font-size: 6.9em;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  position: relative;
  z-index: 3;
  line-height: 0.87em;
}
@media screen and (max-width: 1270px) {
  .top_about_top h2 {
    font-size: 80px;
  }
}
@media screen and (max-width: 480px) {
  .top_about_top h2 {
    font-size: 40px;
  }
}
.top_about_top h2 span {
  display: block;
  text-align: center;
}
.top_about_top .top_about_top_img {
  position: relative;
  z-index: 2;
  margin-top: -7.1em;
}
@media screen and (max-width: 1270px) {
  .top_about_top .top_about_top_img {
    margin-top: -7.317vw;
  }
}

.top_about_btm {
  color: #fff;
  padding-bottom: 30px;
}

.top_flex {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
@media screen and (max-width: 768px) {
  .top_flex {
    flex-direction: column;
  }
}
.top_flex .txt {
  margin-left: 25%;
  line-height: 1.5em;
}
@media screen and (max-width: 1270px) {
  .top_flex .txt {
    margin-left: 3.659vw;
  }
}
@media screen and (max-width: 768px) {
  .top_flex .txt {
    margin-left: 0;
    margin-top: 50px;
  }
}
@media screen and (max-width: 480px) {
  .top_flex .txt {
    margin-top: 30px;
  }
}
.top_flex .txt h3 {
  text-transform: capitalize;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  font-size: 2em;
}
@media screen and (max-width: 480px) {
  .top_flex .txt h3 {
    font-size: 1.5em;
  }
}
.top_flex .txt p {
  padding-top: 30px;
}
@media screen and (max-width: 480px) {
  .top_flex .txt p {
    padding-top: 15px;
  }
}

.sub_ttl_area {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  display: flex;
  align-items: end;
}
.sub_ttl_area .sub_ttl {
  display: inline-block;
  text-transform: capitalize;
  font-size: 5em;
  margin-right: 30px;
}
@media screen and (max-width: 1270px) {
  .sub_ttl_area .sub_ttl {
    font-size: 4em;
  }
}
@media screen and (max-width: 480px) {
  .sub_ttl_area .sub_ttl {
    font-size: 3em;
    margin-right: 20px;
  }
}
.sub_ttl_area .num {
  font-size: 2em;
  padding-bottom: 15px;
}
@media screen and (max-width: 1270px) {
  .sub_ttl_area .num {
    font-size: 1.2em;
  }
}

#business {
  position: relative;
  background-color: #999CA5;
}
#business::before {
  content: "";
  background: url(../img/top_bussiness_bg.png) repeat;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}
#business .inner {
  position: relative;
  z-index: 2;
}
#business .top_business_top {
  padding: 100px 0 0;
}
@media screen and (max-width: 480px) {
  #business .top_business_top {
    padding: 50px 0 0;
  }
}
#business .top_flex {
  flex-direction: row-reverse;
  color: #fff;
}
@media screen and (max-width: 768px) {
  #business .top_flex {
    flex-direction: column;
  }
}
#business .top_flex .sub_ttl {
  text-align: right;
}
@media screen and (max-width: 768px) {
  #business .top_flex .sub_ttl {
    text-align: left;
  }
}
#business .top_flex .sub_ttl span {
  color: #3A5475;
}
#business .top_flex .txt {
  margin-right: 7.5%;
  margin-left: 0;
}
@media screen and (max-width: 1270px) {
  #business .top_flex .txt {
    margin-right: 30px;
  }
}
#business .top_flex .txt h3 {
  line-height: 1em;
  text-transform: none;
}
#business .top_business_btm {
  padding: 80px 0 180px;
}
@media screen and (max-width: 1270px) {
  #business .top_business_btm {
    padding: 50px 0 100px;
  }
}
@media screen and (max-width: 480px) {
  #business .top_business_btm {
    padding: 30px 0 50px;
  }
}
#business .top_business_btm .flex {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
  color: #fff;
  text-align: center;
}
#business .top_business_btm .flex li {
  width: calc(33.333% - 1.823vw);
  display: flex;
  height: 350px;
  align-items: center;
  position: relative;
  transition: 0.7s;
  transform: translateY(20px);
  opacity: 0;
}
@media screen and (max-width: 1270px) {
  #business .top_business_btm .flex li {
    width: calc(50% - 1.823vw);
  }
}
@media screen and (max-width: 480px) {
  #business .top_business_btm .flex li {
    margin-top: 30px;
    width: 100%;
  }
}
#business .top_business_btm .flex li:nth-of-type(1) {
  animation-delay: 1s;
}
#business .top_business_btm .flex li:nth-of-type(2) {
  animation-delay: 1.3s;
}
#business .top_business_btm .flex li:nth-of-type(3) {
  animation-delay: 1.6s;
}
#business .top_business_btm .flex li:nth-of-type(4) {
  animation-delay: 1.9s;
}
#business .top_business_btm .flex li:nth-of-type(5) {
  animation-delay: 2.2s;
}
#business .top_business_btm .flex li::before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: url(../img/top_business_circle.svg) no-repeat;
  background-position: center;
  background-size: contain;
  z-index: 1;
  animation: spin 30s infinite linear;
}
#business .top_business_btm .flex li .txt_box {
  width: 280px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 768px) {
  #business .top_business_btm .flex li .txt_box {
    width: 32.552vw;
  }
}
@media screen and (max-width: 480px) {
  #business .top_business_btm .flex li .txt_box {
    width: 71.795vw;
  }
}
#business .top_business_btm .flex li .txt_box .business_ttl {
  text-transform: capitalize;
  padding-bottom: 30px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
#business .top_business_btm .flex li .txt_box .business_ttl h3 {
  font-size: 24px;
  padding-bottom: 5px;
}
@media screen and (max-width: 1270px) {
  #business .top_business_btm .flex li .txt_box .business_ttl h3 {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 480px) {
  #business .top_business_btm .flex li .txt_box .business_ttl h3 {
    font-size: 1.5em;
  }
}
#business .top_business_btm .flex li .txt_box .business_ttl p {
  font-size: 12px;
}
@media screen and (max-width: 480px) {
  #business .top_business_btm .flex li .txt_box .business_ttl p {
    font-size: 0.75em;
  }
}
#business .top_business_btm .flex li .txt_box .desc {
  line-height: 1.5em;
  padding-bottom: 30px;
}
#business .top_business_btm .flex li .txt_box a {
  text-transform: capitalize;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  padding-bottom: 5px;
  position: relative;
  transition: 0.7s;
}
#business .top_business_btm .flex li .txt_box a:hover {
  text-shadow: 0 0 7px #fff, 0 0 10px #fff, 0 0 20px #fff, 0 0 40px #fff, 0 0 80px #fff;
}
#business .top_business_btm .flex li .txt_box a:hover::before {
  transform: scale(1);
}
#business .top_business_btm .flex li .txt_box a::before {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
  transform-origin: center;
  transform: scale(0);
  transition: all 0.4s;
}

#member {
  background-color: #fff;
  padding: 100px 0;
}
@media screen and (max-width: 480px) {
  #member {
    padding: 50px 0;
  }
}
#member .top_member_top {
  padding-bottom: 50px;
}
@media screen and (max-width: 480px) {
  #member .top_member_top {
    padding-bottom: 30px;
  }
}
#member .top_member_top .sub_ttl span {
  color: #3A5475;
}
#member .top_member_top .txt_area {
  margin-top: 35px;
}
@media screen and (max-width: 480px) {
  #member .top_member_top .txt_area {
    margin-top: 15px;
  }
}
#member .top_member_top .txt_area .flex {
  display: flex;
  align-items: end;
}
#member .top_member_top .txt_area .flex .txt_content .en {
  font-size: 32px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  padding-bottom: 10px;
}
@media screen and (max-width: 480px) {
  #member .top_member_top .txt_area .flex .txt_content .en {
    font-size: 1.5em;
  }
}
#member .top_member_top .txt_area .flex .txt_content p {
  font-size: 18px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  #member .top_member_top .txt_area .flex .txt_content p {
    font-size: 1em;
  }
}
#member .top_member_top .txt_area .flex .container2 {
  color: #332E32;
}
#member .top_member_top .txt_area .flex .container2 .outline {
  stroke: #332E32;
}
#member .top_member_btm .slider .slider_item {
  margin-left: 30px;
}
@media screen and (max-width: 480px) {
  #member .top_member_btm .slider .slider_item {
    margin-left: 10px;
  }
}
#member .top_member_btm .slider .slider_item img {
  width: 100%;
  height: 600px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1560px) {
  #member .top_member_btm .slider .slider_item img {
    height: 450px;
  }
}
@media screen and (max-width: 480px) {
  #member .top_member_btm .slider .slider_item img {
    height: 250px;
  }
}
#member .top_member_btm .slider .slider_item .name {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  text-transform: capitalize;
  text-align: center;
  font-weight: 900;
  margin-top: 15px;
}

#news {
  background-color: #332E32;
  padding: 100px 0;
}
@media screen and (max-width: 480px) {
  #news {
    padding: 50px 0;
  }
}
#news .ttl_area {
  display: flex;
  align-items: center;
}
@media screen and (max-width: 1270px) {
  #news .ttl_area {
    align-items: end;
  }
}
@media screen and (max-width: 480px) {
  #news .ttl_area {
    flex-direction: column;
    align-items: flex-start;
  }
}
#news .ttl_area .topic_area {
  display: flex;
  text-transform: capitalize;
  margin-left: 150px;
}
@media screen and (max-width: 1270px) {
  #news .ttl_area .topic_area {
    margin-left: 50px;
  }
}
@media screen and (max-width: 480px) {
  #news .ttl_area .topic_area {
    margin-left: 0;
    margin-top: 15px;
  }
}
#news .ttl_area .topic_area li {
  width: 200px;
  padding-bottom: 10px;
}
@media screen and (max-width: 1270px) {
  #news .ttl_area .topic_area li {
    width: auto;
    padding-left: 20px;
  }
  #news .ttl_area .topic_area li:first-child {
    padding-left: 0;
  }
}
#news .ttl_area .topic_area li .category {
  color: #D5D5D5;
  font-size: 32px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  position: relative;
}
@media screen and (max-width: 1270px) {
  #news .ttl_area .topic_area li .category {
    font-size: 1.5em;
  }
}
#news .ttl_area .topic_area li .category::before {
  content: "";
  background-color: #D5D5D5;
  transform-origin: left;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  transform: scale(0);
  transition: all 0.4s;
}
#news .ttl_area .topic_area li .category:hover::before {
  transform: scale(1);
}
#news .ttl_area .topic_area li .category.current {
  color: #fff;
}
#news .ttl_area .topic_area li .category.current::before {
  transform: scale(1);
}
#news .ttl_area .sub_ttl {
  color: #fff;
}
#news .ttl_area .sub_ttl span {
  color: #3A5475;
}
#news .ttl_area .num {
  color: #fff;
}
#news .topic_content {
  margin-top: 70px;
  display: flex;
}
@media screen and (max-width: 480px) {
  #news .topic_content {
    margin-top: 30px;
    flex-direction: column;
  }
}
#news .topic_content .slide_img {
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  overflow: hidden;
  width: 500px;
}
@media screen and (max-width: 1270px) {
  #news .topic_content .slide_img {
    width: 350px;
  }
}
@media screen and (max-width: 480px) {
  #news .topic_content .slide_img {
    width: auto;
  }
}
#news .topic_content .slide_img__item {
  grid-column: 1/-1;
  grid-row: 1/-1;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), visibility 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}
#news .topic_content .slide_img__item.current {
  opacity: 1;
  visibility: visible;
  transition: opacity 0.5s cubic-bezier(0.65, 0, 0.35, 1), visibility 0.5s cubic-bezier(0.65, 0, 0.35, 1);
}
#news .topic_content .slide_img img {
  -o-object-fit: cover;
     object-fit: cover;
  height: 500px;
}
@media screen and (max-width: 1270px) {
  #news .topic_content .slide_img img {
    height: 350px;
  }
}
@media screen and (max-width: 480px) {
  #news .topic_content .slide_img img {
    height: 250px;
  }
}
#news .topic_content .topic_list {
  margin-left: 40px;
  width: calc(100% - 500px);
}
@media screen and (max-width: 1270px) {
  #news .topic_content .topic_list {
    margin-left: 30px;
    width: calc(100% - 350px);
  }
}
@media screen and (max-width: 480px) {
  #news .topic_content .topic_list {
    width: auto;
    margin-left: 0;
    margin-top: 20px;
  }
}
#news .topic_content .topic_list .topic_item {
  padding: 30px 0;
  border-top: #D5D5D5 solid 1px;
  color: #D5D5D5;
  transition: all 0.4s;
}
@media screen and (max-width: 480px) {
  #news .topic_content .topic_list .topic_item {
    color: #fff;
    border-color: #fff;
    padding: 15px 0;
  }
}
#news .topic_content .topic_list .topic_item:hover {
  border-top: #fff solid 1px;
  color: #fff;
}
#news .topic_content .topic_list .topic_item:last-child {
  border-bottom: #D5D5D5 solid 1px;
}
@media screen and (max-width: 480px) {
  #news .topic_content .topic_list .topic_item:last-child {
    border-color: #fff;
  }
}
#news .topic_content .topic_list .topic_item time {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  font-size: 16px;
}
@media screen and (max-width: 1270px) {
  #news .topic_content .topic_list .topic_item time {
    font-size: 14px;
  }
}
@media screen and (max-width: 480px) {
  #news .topic_content .topic_list .topic_item time {
    font-size: 12px;
  }
}
#news .topic_content .topic_list .topic_item h3 {
  font-size: 24px;
  margin-top: 10px;
  margin-bottom: 15px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 1270px) {
  #news .topic_content .topic_list .topic_item h3 {
    font-size: 18px;
    line-height: 1.5em;
  }
}
@media screen and (max-width: 480px) {
  #news .topic_content .topic_list .topic_item h3 {
    font-size: 16px;
    margin-top: 5px;
    margin-bottom: 10px;
  }
}
#news .topic_content .topic_list .topic_item p {
  line-height: 1.5em;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  overflow: hidden;
}

#footer {
  background-color: #fff;
  padding: 100px 30px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1560px) {
  #footer {
    padding: 100px 0;
  }
}
@media screen and (max-width: 480px) {
  #footer {
    padding: 50px 0;
  }
}
#footer .footer_content__top {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 1270px) {
  #footer .footer_content__top {
    flex-direction: column;
  }
}
#footer .footer_content__top .logo {
  width: 250px;
}
#footer .footer_content__top .footer_menu {
  margin-left: 19.792vw;
}
@media screen and (max-width: 1270px) {
  #footer .footer_content__top .footer_menu {
    margin-left: 0;
    margin-top: 30px;
  }
}
#footer .footer_content__top .footer_menu__group {
  border-top: #332E32 1px solid;
  display: flex;
  padding: 30px 100px 30px 0;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__top .footer_menu__group {
    flex-direction: column;
    padding: 10px 16px 10px 0;
  }
}
#footer .footer_content__top .footer_menu__group:last-child {
  border-bottom: #332E32 1px solid;
}
#footer .footer_content__top .footer_menu__group .ttl {
  width: 150px;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__top .footer_menu__group .ttl {
    width: auto;
  }
}
#footer .footer_content__top .footer_menu__group .ttl h3 {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  font-weight: 700;
  padding-bottom: 5px;
  text-transform: capitalize;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__top .footer_menu__group .ttl h3 {
    font-size: 1.5em;
  }
}
#footer .footer_content__top .footer_menu__group .ttl .jp_name {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 14px;
  color: #999CA5;
}
#footer .footer_content__top .footer_menu__group .child_menu {
  width: calc(100% - 150px);
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__top .footer_menu__group .child_menu {
    width: auto;
    margin-top: 20px;
  }
}
#footer .footer_content__top .footer_menu__group .child_menu li {
  margin-left: 30px;
  padding-bottom: 15px;
  position: relative;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__top .footer_menu__group .child_menu li {
    margin-left: 10px;
    padding-left: 20px;
    padding-bottom: 10px;
  }
  #footer .footer_content__top .footer_menu__group .child_menu li::before {
    content: "";
    position: absolute;
    top: 8px;
    left: 0;
    width: 10px;
    height: 1px;
    background-color: #999CA5;
    transform: translateY(-50%);
  }
}
#footer .footer_content__top .footer_menu__group .child_menu li a {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  color: #999CA5;
  transition: all 0.4s;
}
#footer .footer_content__top .footer_menu__group .child_menu li a:hover {
  color: #332E32;
}
#footer .footer_content__btm {
  display: flex;
  justify-content: space-between;
  padding-top: 30px;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__btm {
    flex-direction: column-reverse;
    padding-top: 30px;
  }
}
#footer .footer_content__btm small {
  font-weight: 700;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__btm small {
    text-align: center;
  }
}
#footer .footer_content__btm .child_list {
  display: flex;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__btm .child_list {
    margin-bottom: 20px;
    justify-content: center;
  }
}
#footer .footer_content__btm .child_list li {
  padding-left: 15px;
  text-transform: capitalize;
}
@media screen and (max-width: 480px) {
  #footer .footer_content__btm .child_list li:first-child {
    padding-left: 0;
  }
}
#footer .footer_content__btm .child_list li a {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  color: #999CA5;
  transition: all 0.4s;
}
#footer .footer_content__btm .child_list li a:hover {
  color: #332E32;
}

.child_page {
  position: relative;
}

.child_kv {
  position: relative;
  display: flex;
  align-items: center;
  min-height: 70rem;
  height: 1080px;
}
@media screen and (max-width: 480px) {
  .child_kv {
    height: 100vh;
    min-height: auto;
  }
}
.child_kv__movie {
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100vh;
  pointer-events: none;
  min-height: 70rem;
}
@media screen and (max-width: 480px) {
  .child_kv__movie {
    min-height: auto;
  }
}
.child_kv__movie .movie_inner {
  position: absolute;
  top: 26.042vw;
  right: -62.5vw;
  width: 114.583vw;
  height: 87.5vw;
  margin-top: -40.104vw;
}
@media screen and (max-width: 1270px) {
  .child_kv__movie .movie_inner {
    width: 151.079vw;
    height: 111.511vw;
    top: 39.568vw;
    right: -83.573vw;
  }
}
@media screen and (max-width: 480px) {
  .child_kv__movie .movie_inner {
    width: 224.872vw;
    height: 179.487vw;
    top: 38.462vw;
    right: -162.821vw;
  }
}
.child_kv__movie .movie_inner video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: 100% 100%;
     object-position: 100% 100%;
}
.child_kv__lead {
  width: 36.458vw;
}
@media screen and (max-width: 1400px) {
  .child_kv__lead {
    width: 42.188vw;
  }
}
@media screen and (max-width: 1270px) {
  .child_kv__lead {
    width: 52.439vw;
  }
}
@media screen and (max-width: 480px) {
  .child_kv__lead {
    width: 64.103vw;
  }
}
.child_kv__lead .word2 {
  color: #3A5475;
}
.child_kv__lead .lead_ttl {
  text-transform: capitalize;
}
.child_kv__lead .lead_ttl h2 {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  font-size: 2.5em;
}
.child_kv__lead .lead_ttl .ja {
  font-size: 0.875em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  color: #999CA5;
}
.child_kv__lead .catch {
  font-size: 5em;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  text-transform: capitalize;
  margin-top: 30px;
}
@media screen and (max-width: 1270px) {
  .child_kv__lead .catch {
    font-size: 3.5em;
  }
}
@media screen and (max-width: 480px) {
  .child_kv__lead .catch {
    font-size: 2em;
  }
}
.child_kv__lead .txt {
  font-size: 1.125em;
  line-height: 1.5em;
  margin-top: 30px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 1270px) {
  .child_kv__lead .txt {
    font-size: 1em;
  }
}

#section_1 {
  padding: 50px 0 150px;
}
@media screen and (max-width: 1270px) {
  #section_1 {
    padding: 50px 0 100px;
  }
}
#section_1 .content {
  width: 36.458vw;
}
@media screen and (max-width: 480px) {
  #section_1 .content {
    width: 64.103vw;
  }
}
#section_1 .content .desc .sub_ttl {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 1.5em;
  margin-bottom: 30px;
}
@media screen and (max-width: 1270px) {
  #section_1 .content .desc .sub_ttl {
    margin-bottom: 20px;
  }
}
#section_1 .content .desc .sub_ttl span {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  margin-right: 1em;
  font-size: 1.3em;
}
#section_1 .content .desc .txt {
  line-height: 2em;
}

#section_2 {
  background-color: #999CA5;
}
#section_2 .mission {
  padding: 150px 0 200px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1270px) {
  #section_2 .mission {
    padding: 100px 0 150px;
  }
}
@media screen and (max-width: 480px) {
  #section_2 .mission {
    padding-bottom: 100px;
  }
}
#section_2 .mission .mission_list {
  margin-top: 50px;
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  #section_2 .mission .mission_list {
    margin-top: 35px;
    flex-direction: column;
  }
}
#section_2 .mission .mission_list__item {
  width: calc(50% - 30px);
  color: #fff;
}
@media screen and (max-width: 480px) {
  #section_2 .mission .mission_list__item {
    width: auto;
  }
  #section_2 .mission .mission_list__item:last-child {
    margin-top: 35px;
  }
}
#section_2 .mission .mission_list__item .num {
  font-size: 7.5em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  color: #3A5475;
  margin-bottom: 10px;
}
@media screen and (max-width: 1270px) {
  #section_2 .mission .mission_list__item .num {
    font-size: 6em;
  }
}
#section_2 .mission .mission_list__item .item_ttl {
  font-size: 1.5em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  margin-bottom: 40px;
}
#section_2 .mission .mission_list__item .txt {
  line-height: 2em;
}
#section_2 .vision {
  padding-bottom: 200px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 1270px) {
  #section_2 .vision {
    padding-bottom: 50px;
  }
}
#section_2 .value {
  padding-bottom: 150px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  #section_2 .value {
    padding-bottom: 100px;
  }
}
#section_2 .value .value_list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
@media screen and (max-width: 480px) {
  #section_2 .value .value_list {
    flex-direction: column;
  }
}
#section_2 .value .value_list__item {
  width: calc(33.33% - 30px);
  padding: 30px;
  background-color: rgba(58, 84, 117, 0.35);
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
}
@media screen and (max-width: 1270px) {
  #section_2 .value .value_list__item {
    width: calc(33.33% - 20px);
    padding: 20px;
    margin-bottom: 30px;
  }
}
@media screen and (max-width: 480px) {
  #section_2 .value .value_list__item {
    width: auto;
  }
}
#section_2 .value .value_list__item .item_img {
  margin-bottom: 10px;
}
#section_2 .value .value_list__item .item_img img {
  height: 350px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 1270px) {
  #section_2 .value .value_list__item .item_img img {
    height: 200px;
  }
}
@media screen and (max-width: 480px) {
  #section_2 .value .value_list__item .item_img img {
    height: 250px;
  }
}
#section_2 .value .value_list__item .item_txt {
  color: #fff;
  font-size: 1.1em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
#section_2 .value .value_list__item .item_txt .ttl {
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: #fff solid 1px;
}
#section_2 .wrapper {
  position: relative;
  overflow: clip;
}
#section_2 .child_ttl {
  color: #fff;
  border-bottom: #fff 1px solid;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
@media screen and (max-width: 1270px) {
  #section_2 .child_ttl {
    padding-bottom: 20px;
    margin-bottom: 20px;
  }
}
#section_2 .child_ttl h3 {
  color: #fff;
}
#section_2 .section2_ttl {
  color: #fff;
}
#section_2 .section2_ttl .top {
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  font-size: 3em;
}
@media screen and (max-width: 1270px) {
  #section_2 .section2_ttl .top {
    font-size: 2em;
  }
}
@media screen and (max-width: 480px) {
  #section_2 .section2_ttl .top {
    font-size: 1.5em;
  }
}
#section_2 .section2_ttl .btm {
  padding-top: 10px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 1.5em;
}
@media screen and (max-width: 1270px) {
  #section_2 .section2_ttl .btm {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 480px) {
  #section_2 .section2_ttl .btm {
    font-size: 1em;
  }
}

#message {
  background-color: #fff;
  position: relative;
  z-index: 2;
  padding: 100px 0;
}
@media screen and (max-width: 480px) {
  #message {
    padding: 50px 0 100px;
  }
}
#message .message_content {
  display: flex;
  justify-content: space-between;
}
@media screen and (max-width: 480px) {
  #message .message_content {
    flex-direction: column-reverse;
  }
}
#message .message_content__txt {
  width: calc(50% - 25px);
}
@media screen and (max-width: 480px) {
  #message .message_content__txt {
    width: auto;
    margin-top: 30px;
  }
}
#message .message_content__txt .ttl {
  font-size: 1.8em;
  line-height: 1.5em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  margin-bottom: 50px;
}
@media screen and (max-width: 1270px) {
  #message .message_content__txt .ttl {
    font-size: 1.5em;
  }
}
@media screen and (max-width: 480px) {
  #message .message_content__txt .ttl {
    font-size: 1em;
    margin-bottom: 30px;
  }
}
#message .message_content__txt .txt {
  line-height: 1.5em;
  padding-bottom: 30px;
}
@media screen and (max-width: 480px) {
  #message .message_content__txt .txt {
    padding-bottom: 20px;
  }
}
#message .message_content__txt .prof {
  line-height: 1.5em;
  font-weight: 700;
}
#message .message_content__img {
  width: calc(50% - 25px);
}
@media screen and (max-width: 480px) {
  #message .message_content__img {
    width: auto;
  }
}

#company_prof {
  background-color: #fff;
  padding-bottom: 150px;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  #company_prof {
    padding-bottom: 100px;
  }
}
#company_prof .table {
  background-color: #d6d6d6;
}
#company_prof .table_content {
  max-width: 1200px;
  margin: 0 auto;
  padding: 50px 0;
}
@media screen and (max-width: 480px) {
  #company_prof .table_content {
    padding: 50px 10px;
  }
}
#company_prof .table_content dl {
  display: flex;
  padding-bottom: 30px;
  margin-bottom: 50px;
  border-bottom: #999CA5 1px solid;
}
@media screen and (max-width: 480px) {
  #company_prof .table_content dl {
    flex-direction: column;
    padding-bottom: 15px;
    margin-bottom: 25px;
  }
  #company_prof .table_content dl:last-child {
    margin-bottom: 0;
  }
}
#company_prof .table_content dl dt {
  width: 30%;
  font-size: 1.5em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  padding-left: 20px;
}
@media screen and (max-width: 1270px) {
  #company_prof .table_content dl dt {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 480px) {
  #company_prof .table_content dl dt {
    font-size: 1em;
    padding-bottom: 10px;
    width: auto;
  }
}
#company_prof .table_content dl dd {
  padding-left: 20px;
  width: 70%;
  font-size: 1.1em;
  line-height: 1.5em;
}
@media screen and (max-width: 1270px) {
  #company_prof .table_content dl dd {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 480px) {
  #company_prof .table_content dl dd {
    font-size: 1em;
    width: auto;
  }
}
#company_prof .table_content__item {
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  #company_prof .table_content__item:last-child {
    margin-bottom: 0;
  }
}
#company_prof .table_content__item .ttl {
  font-weight: 700;
  padding-bottom: 10px;
}
#company_prof .table_content__item ul {
  list-style: disc;
}
#company_prof .table_content__item ul li {
  margin-left: 20px;
}

.service {
  background-color: #332E32;
  color: #fff;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .service {
    padding: 50px 0;
  }
}
.service .child_ttl h3 {
  color: #fff;
}
.service_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.service_list__item {
  width: calc(33.33% - 50px);
  margin-bottom: 50px;
}
@media screen and (max-width: 1270px) {
  .service_list__item {
    width: calc(50% - 25px);
  }
}
@media screen and (max-width: 480px) {
  .service_list__item {
    width: auto;
  }
}
.service_list__item .item_txt {
  text-align: center;
  margin-top: 20px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
.service_list__item .item_txt_top {
  padding-bottom: 10px;
  border-bottom: #fff solid 1px;
  margin-bottom: 10px;
  font-size: 1.5em;
}
@media screen and (max-width: 768px) {
  .service_list__item .item_txt_top {
    font-size: 1.1em;
  }
}
@media screen and (max-width: 480px) {
  .service_list__item .item_txt_top {
    font-size: 1.3em;
  }
}

.features {
  background: url(../img/service_features_bg.png) no-repeat;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  padding: 100px 0;
}
@media screen and (max-width: 768px) {
  .features {
    padding: 50px 0;
  }
}
.features_content__item {
  padding: 10px 0 100px;
  border-top: #332E32 1px solid;
}
@media screen and (max-width: 768px) {
  .features_content__item {
    padding-bottom: 50px;
  }
}
@media screen and (max-width: 480px) {
  .features_content__item {
    padding-bottom: 35px;
  }
}
.features_content__item .item_num {
  text-transform: capitalize;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
@media screen and (max-width: 480px) {
  .features_content__item .item_num {
    font-size: 0.9em;
  }
}
.features_content__item .item_txt {
  padding-top: 50px;
  display: flex;
  justify-content: space-between;
  align-items: baseline;
}
@media screen and (max-width: 768px) {
  .features_content__item .item_txt {
    flex-direction: column;
  }
}
@media screen and (max-width: 480px) {
  .features_content__item .item_txt {
    padding-top: 20px;
  }
}
.features_content__item .item_txt__ttl {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 2em;
  width: 50%;
}
@media screen and (max-width: 768px) {
  .features_content__item .item_txt__ttl {
    width: auto;
    margin-bottom: 15px;
  }
}
@media screen and (max-width: 480px) {
  .features_content__item .item_txt__ttl {
    font-size: 1.3em;
  }
}
.features_content__item .item_txt__detail {
  width: calc(50% - 35px);
  line-height: 2em;
}
@media screen and (max-width: 768px) {
  .features_content__item .item_txt__detail {
    width: auto;
  }
}

.portfolio {
  background-color: #999CA5;
  padding: 100px 0;
  color: #fff;
}
@media screen and (max-width: 768px) {
  .portfolio {
    padding: 50px 0;
  }
}
.portfolio h3 {
  color: #fff;
}
.portfolio_content__link {
  display: flex;
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  .portfolio_content__link {
    justify-content: space-between;
    flex-wrap: wrap;
  }
}
.portfolio_content__link li {
  margin-left: 20px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
@media screen and (max-width: 480px) {
  .portfolio_content__link li {
    width: calc(33.33% - 15px);
    text-align: center;
  }
  .portfolio_content__link li:nth-child(n+4) {
    margin-top: 20px;
  }
  .portfolio_content__link li:nth-child(3n-2) {
    margin-left: 0;
  }
}
.portfolio_content__link li.current a {
  color: #fff !important;
}
.portfolio_content__link li.current a::before {
  transform: scale(1) !important;
  background-color: #fff !important;
}
.portfolio_content__link li a {
  transition: all 0.4s;
  position: relative;
  padding-bottom: 5px;
  color: #D5D5D5;
}
@media screen and (max-width: 480px) {
  .portfolio_content__link li a {
    color: #fff;
    display: block;
  }
}
.portfolio_content__link li a::before {
  content: "";
  background-color: #fff;
  width: 100%;
  bottom: 0;
  left: 0;
  height: 1px;
  position: absolute;
  transition: all 0.4s;
  transform: scale(0);
  transform-origin: left;
}
@media screen and (max-width: 480px) {
  .portfolio_content__link li a::before {
    transform: scale(1);
    background-color: #D5D5D5;
  }
}
.portfolio_content__link li a:hover {
  color: #fff;
}
.portfolio_content__link li a:hover::before {
  transform: scale(1);
}
.portfolio_content__link li:first-child {
  margin-left: 0;
}
.portfolio_content__flex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 1270px) {
  .portfolio_content__flex {
    justify-content: space-between;
  }
}
.portfolio_content__mainarea {
  width: calc(33.33% - 50px);
  margin-left: 70px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1270px) {
  .portfolio_content__mainarea {
    width: calc(50% - 15px);
    margin-left: 0;
  }
  .portfolio_content__mainarea:nth-child(n-1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .portfolio_content__mainarea {
    width: auto;
  }
}
.portfolio_content__mainarea:nth-child(3n-2) {
  margin-left: 0;
}
.portfolio_content__mainarea .mask {
  box-shadow: 5px 5px 5px 1px rgba(0, 0, 0, 0.2);
}
.portfolio_content__mainarea .thumb {
  height: 310px;
}
.portfolio_content__mainarea .thumb img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.portfolio_content__mainarea .cap {
  text-transform: capitalize;
  font-size: 1.1em !important;
}
.portfolio_content__mainarea .mainarea_txt {
  margin-top: 20px;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
.portfolio_content__mainarea .mainarea_txt__name {
  font-size: 1.1em;
  margin-bottom: 10px;
}
.portfolio_content__mainarea .mainarea_txt__categoryarea {
  font-size: 0.825em;
  color: #3A5475;
}
.portfolio_content__mainarea .mainarea_txt__categoryarea .category {
  padding-left: 10px;
  position: relative;
}
.portfolio_content__mainarea .mainarea_txt__categoryarea .category:first-child {
  padding-left: 0;
}
.portfolio_content__mainarea .mainarea_txt__categoryarea .category:first-child::before {
  content: none;
}
.portfolio_content__mainarea .mainarea_txt__categoryarea .category::before {
  content: "";
  width: 1px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-color: #3A5475;
}
.portfolio_content .topic_pager {
  display: flex;
  justify-content: end;
  align-items: center;
}
.portfolio_content .topic_pager .page-numbers {
  margin: 0 15px;
  display: flex;
  font-weight: 700;
  font-size: 1.1em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
.portfolio_content .topic_pager .page-numbers .current {
  color: #3A5475;
}
.portfolio_content .topic_pager a {
  transition: all 0.4s;
}
.portfolio_content .topic_pager a:hover {
  color: #3A5475;
}

.introduction {
  background-color: #999CA5;
  padding: 100px 0;
}
.introduction .child_ttl {
  color: #fff;
}
.introduction .child_ttl h3 {
  color: #fff;
}
.introduction_wrap {
  position: relative;
  z-index: 2;
}
.introduction_inner {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  margin-bottom: 150px;
}
.introduction_inner:last-child {
  margin-bottom: 0;
}
@media screen and (max-width: 480px) {
  .introduction_inner {
    flex-direction: column;
    margin-bottom: 50px;
  }
}
.introduction_inner__img {
  width: 58%;
  display: flex;
}
@media screen and (max-width: 480px) {
  .introduction_inner__img {
    width: calc(100% - 32px);
  }
}
.introduction_inner__img .chapter {
  writing-mode: vertical-lr;
  margin-left: 10px;
  color: #fff;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
.introduction_inner__txt {
  width: calc(42% - 10px);
  color: #fff;
}
@media screen and (max-width: 480px) {
  .introduction_inner__txt {
    width: auto;
    margin-top: 30px;
  }
}
.introduction_inner__txt .top {
  text-align: right;
  font-size: 2em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  margin-bottom: 1em;
}
@media screen and (max-width: 480px) {
  .introduction_inner__txt .top {
    font-size: 1.5em;
    text-align: left;
  }
}
.introduction_inner__txt .btm {
  line-height: 1.5em;
}
.introduction_inner.second {
  flex-direction: row-reverse;
}
@media screen and (max-width: 480px) {
  .introduction_inner.second {
    flex-direction: column;
  }
}
.introduction_inner.second .introduction_inner__img {
  flex-direction: row-reverse;
}
@media screen and (max-width: 480px) {
  .introduction_inner.second .introduction_inner__img {
    flex-direction: row;
  }
}
.introduction_inner.second .introduction_inner__img .chapter {
  margin-right: 10px;
  margin-left: 0;
}
@media screen and (max-width: 480px) {
  .introduction_inner.second .introduction_inner__img .chapter {
    margin-left: 10px;
    margin-right: 0;
  }
}
.introduction_inner.second .introduction_inner__txt .top {
  text-align: left;
}

.works {
  background-color: #332E32;
  position: relative;
  z-index: 2;
  padding: 100px 0;
}
@media screen and (max-width: 480px) {
  .works {
    padding: 50px 0 34px;
  }
}
.works .child_ttl {
  color: #fff;
}
.works .child_ttl h3 {
  color: #fff;
}
.works_list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.works_list__item {
  width: calc(33.33% - 20px);
  margin-bottom: 30px;
  padding: 2em;
  background-color: rgba(255, 255, 255, 0.2);
  color: #fff;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 1270px) {
  .works_list__item {
    width: calc(50% - 13px);
  }
}
@media screen and (max-width: 480px) {
  .works_list__item {
    width: auto;
    margin-bottom: 16px;
  }
}
.works_list__item .top {
  padding-bottom: 2em;
}
.works_list__item .top_en {
  width: 140px;
  padding-bottom: 5px;
  transform: rotate(-5deg);
}
.works_list__item .top_ttl {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
.works_list__item .top_ttl__sub {
  font-size: 0.9em;
  margin-bottom: 5px;
}
.works_list__item .top_ttl__main {
  font-size: 1.2em;
}
.works_list__item .desc {
  line-height: 2em;
}

.consulting {
  padding: 100px 0;
  background: url(../img/consulting_bg.png) repeat;
  background-attachment: fixed;
  position: relative;
}
@media screen and (max-width: 480px) {
  .consulting {
    padding: 50px 0;
  }
}
.consulting .child_ttl {
  color: #fff;
}
.consulting .child_ttl h3 {
  color: #fff;
}
.consulting_content {
  display: flex;
  justify-content: space-between;
  margin-bottom: 200px;
  color: #fff;
}
@media screen and (max-width: 1270px) {
  .consulting_content {
    margin-bottom: 100px;
  }
}
@media screen and (max-width: 480px) {
  .consulting_content {
    flex-direction: column;
    margin-bottom: 35px;
  }
}
.consulting_content:nth-of-type(2) {
  flex-direction: row-reverse;
}
@media screen and (max-width: 480px) {
  .consulting_content:nth-of-type(2) {
    flex-direction: column;
  }
}
.consulting_content:last-child {
  margin-bottom: 0;
}
.consulting_content__img {
  width: 44.8%;
}
@media screen and (max-width: 480px) {
  .consulting_content__img {
    width: auto;
  }
}
.consulting_content__txt {
  width: calc(55.2% - 200px);
}
@media screen and (max-width: 1270px) {
  .consulting_content__txt {
    width: calc(55.2% - 50px);
  }
}
@media screen and (max-width: 480px) {
  .consulting_content__txt {
    width: auto;
  }
}
.consulting_content__txt .ttl {
  margin-bottom: 2em;
  position: relative;
}
@media screen and (max-width: 480px) {
  .consulting_content__txt .ttl {
    margin-bottom: 1em;
    margin-top: 3em;
  }
}
.consulting_content__txt .ttl_main {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 2em;
  position: relative;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .consulting_content__txt .ttl_main {
    font-size: 1.2em;
  }
}
.consulting_content__txt .ttl_en {
  width: 190px;
  transform: rotate(-2deg);
  position: absolute;
  z-index: 1;
  left: 0;
  top: -1.5em;
}
@media screen and (max-width: 480px) {
  .consulting_content__txt .ttl_en {
    width: 90px;
    top: -0.8em;
  }
}
.consulting_content__txt .desc {
  line-height: 2em;
}
.consulting_content__txt .package {
  margin-top: 3em;
}
.consulting_content__txt .package_ttl {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 1.5em;
  margin-bottom: 1em;
}
@media screen and (max-width: 480px) {
  .consulting_content__txt .package_ttl {
    font-size: 1em;
  }
}
.consulting_content__txt .package ul {
  list-style: circle;
}
.consulting_content__txt .package ul li {
  margin-left: 20px;
  margin-bottom: 1em;
}

.subpage {
  background-color: #332E32;
  width: 100%;
  height: 500px;
  color: #fff;
  display: flex;
  align-items: center;
  padding-left: 180px;
  position: relative;
}
@media screen and (max-width: 1270px) {
  .subpage {
    height: 350px;
    padding-left: 33px;
  }
}
@media screen and (max-width: 768px) {
  .subpage.archive {
    height: 550px;
  }
}
@media screen and (max-width: 768px) and (max-width: 480px) {
  .subpage.archive {
    height: 300px;
  }
}
@media screen and (max-width: 768px) {
  .subpage.archive .subpage_ttl {
    padding-top: 20px;
  }
}
@media screen and (max-width: 480px) {
  .subpage {
    height: 250px;
  }
}
.subpage_ttl {
  padding-top: 65px;
}
@media screen and (max-width: 1270px) {
  .subpage_ttl {
    padding-top: 100px;
  }
}
@media screen and (max-width: 480px) {
  .subpage_ttl {
    padding-top: 80px;
  }
}
.subpage_ttl__en {
  font-size: 5em;
  text-transform: capitalize;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
@media screen and (max-width: 1270px) {
  .subpage_ttl__en {
    font-size: 3em;
  }
}
@media screen and (max-width: 480px) {
  .subpage_ttl__en {
    font-size: 2.5em;
  }
}
.subpage_ttl h2 {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 1.5em;
}
@media screen and (max-width: 1270px) {
  .subpage_ttl h2 {
    font-size: 1.2em;
  }
}
@media screen and (max-width: 480px) {
  .subpage_ttl h2 {
    font-size: 1em;
  }
}

.contact {
  padding: 100px 0;
  background-color: #999CA5;
}
@media screen and (max-width: 1270px) {
  .contact {
    padding: 50px 0;
  }
}
.contact_bg {
  background-color: #332E32;
  padding: 100px 0;
}
@media screen and (max-width: 1270px) {
  .contact_bg {
    padding: 50px 0;
  }
}
.contact_inner {
  max-width: 830px;
  margin: 0 auto;
  color: #fff;
}
@media screen and (max-width: 1270px) {
  .contact_inner {
    padding: 0 32px;
  }
}
@media screen and (max-width: 480px) {
  .contact_inner {
    padding: 0 16px;
  }
}
.contact_inner__top {
  margin-bottom: 100px;
  width: 72%;
}
@media screen and (max-width: 768px) {
  .contact_inner__top {
    width: auto;
  }
}
@media screen and (max-width: 480px) {
  .contact_inner__top {
    margin-bottom: 50px;
  }
}
.contact_inner__top h3 {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 2em;
  margin-bottom: 1em;
}
@media screen and (max-width: 480px) {
  .contact_inner__top h3 {
    font-size: 1.3em;
  }
}
.contact_inner__top .desc {
  line-height: 2em;
  margin-bottom: 50px;
}
@media screen and (max-width: 480px) {
  .contact_inner__top .desc {
    margin-bottom: 35px;
  }
}
.contact_inner__top .desc span {
  color: red;
}
.contact_inner__top .tel_link {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 2em;
  padding-left: 40px;
  position: relative;
  display: inline-block;
}
@media screen and (max-width: 480px) {
  .contact_inner__top .tel_link {
    font-size: 1.5em;
    padding-left: 35px;
  }
}
.contact_inner__top .tel_link::before {
  content: "";
  background: url(../img/tel_icon.svg) no-repeat;
  width: 25px;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  background-position: center;
  background-size: 100%;
}
@media screen and (max-width: 480px) {
  .contact_inner__top .tel_link::before {
    width: 20px;
  }
}
.contact_inner__btm .tbl_base {
  width: 100%;
}
.contact_inner__btm .tbl_base tr {
  display: flex;
  flex-direction: column;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  margin-bottom: 40px;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .tbl_base tr {
    margin-bottom: 30px;
  }
}
.contact_inner__btm .tbl_base tr th {
  width: 100%;
  margin-bottom: 1em;
}
.contact_inner__btm .tbl_base tr th .clrred {
  padding-left: 10px;
  color: red;
}
.contact_inner__btm .tbl_base tr td {
  width: 100%;
}
.contact_inner__btm .tbl_base .selecttype {
  cursor: pointer;
}
.contact_inner__btm .tbl_base .selecttype option {
  text-align: center;
  color: #332E32;
  display: block;
}
.contact_inner__btm .tbl_base select {
  width: 100%;
  border: solid 1px #fff;
  padding: 1em 20px;
  text-align: center;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .tbl_base select {
    padding: 10px;
    border-radius: 2px;
  }
}
.contact_inner__btm .tbl_base input[type=text] {
  width: 100%;
  border: solid 1px #fff;
  padding: 1em;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .tbl_base input[type=text] {
    padding: 10px;
    border-radius: 2px;
  }
}
.contact_inner__btm .tbl_base input[type=email] {
  width: 100%;
  border: solid 1px #fff;
  padding: 1em;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .tbl_base input[type=email] {
    padding: 10px;
    border-radius: 2px;
  }
}
.contact_inner__btm .tbl_base input[type=tel] {
  width: 100%;
  border: solid 1px #fff;
  padding: 1em;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .tbl_base input[type=tel] {
    padding: 10px;
    border-radius: 2px;
  }
}
.contact_inner__btm .tbl_base textarea {
  width: 100%;
  border: solid 1px #fff;
  padding: 1em;
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .tbl_base textarea {
    padding: 10px;
    border-radius: 2px;
  }
}
.contact_inner__btm .agreecheck p {
  text-align: center;
}
.contact_inner__btm .agreecheck p .check-agree input[type=checkbox] {
  width: 35px !important;
  height: 35px !important;
  cursor: pointer;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .agreecheck p .check-agree input[type=checkbox] {
    width: 25px;
    height: 25px;
  }
}
.contact_inner__btm .agreecheck p .check-agree .agreetxt {
  display: inline-block;
  position: relative;
  padding-left: 20px;
}
.contact_inner__btm .agreecheck p .check-agree .agreetxt a {
  border-bottom: #fff 1px solid;
}
.contact_inner__btm .contact_btn {
  text-align: center;
  margin-top: 60px;
  position: relative;
  box-shadow: inset 0 0 1px 1px #fff;
  transition: box-shadow 0.8s cubic-bezier(0.43, 0.2, 0.02, 1);
  border-radius: 5px;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .contact_btn {
    margin-top: 50px;
    border-radius: 3px;
  }
}
.contact_inner__btm .contact_btn__txt {
  text-transform: capitalize;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  position: absolute;
  top: 28px;
  left: 50%;
  transform: translateX(-50%);
  transition: color 0.8s cubic-bezier(0.43, 0.2, 0.02, 1);
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .contact_btn__txt {
    font-size: 0.9em;
    top: 22px;
  }
}
.contact_inner__btm .contact_btn input[type=submit] {
  width: 100%;
  font-size: 1.5em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  cursor: pointer;
  display: block;
  text-align: center;
  transition: background-color 0.8s cubic-bezier(0.43, 0.2, 0.02, 1);
  padding: 2em 0 1em;
}
@media screen and (max-width: 480px) {
  .contact_inner__btm .contact_btn input[type=submit] {
    font-size: 1.3em;
  }
}
.contact_inner__btm .contact_btn input[type=submit]:hover {
  background-color: #3A5475;
}

.post_wrap {
  background-color: #999CA5;
  position: relative;
  padding: 100px 0;
}
@media screen and (max-width: 480px) {
  .post_wrap {
    padding: 50px 0;
  }
}
.post_wrap .archive_sort {
  position: absolute;
  right: 0;
  top: -260px;
  text-transform: capitalize;
  font-size: 2em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  background-color: #fff;
  color: #332E32;
  width: 300px;
  margin-right: 33px;
  z-index: 5;
}
@media screen and (max-width: 1270px) {
  .post_wrap .archive_sort {
    top: -168px;
  }
}
@media screen and (max-width: 768px) {
  .post_wrap .archive_sort {
    width: 470px;
    right: auto;
    left: 33px;
    top: -200px;
  }
}
@media screen and (max-width: 480px) {
  .post_wrap .archive_sort {
    width: calc(100% - 32px);
    left: 16px;
    font-size: 1.3em;
    top: -88px;
  }
}
.post_wrap .archive_sort .accordion_item {
  cursor: pointer;
}
.post_wrap .archive_sort .accordion_item__ttl {
  padding: 30px 20px 30px 30px;
  position: relative;
  transition: all 0.4s;
}
@media screen and (max-width: 480px) {
  .post_wrap .archive_sort .accordion_item__ttl {
    padding: 20px 10px 20px 20px;
  }
}
.post_wrap .archive_sort .accordion_item__ttl:hover {
  background-color: #eeeeee;
}
.post_wrap .archive_sort .accordion_item__ttl.close::before {
  transform: translateY(-70%) rotate(180deg);
}
.post_wrap .archive_sort .accordion_item__ttl::before {
  content: "";
  position: absolute;
  right: 53px;
  top: 52%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-style: solid;
  border-right: 7px solid transparent;
  border-left: 7px solid transparent;
  border-top: 20px solid #fff;
  border-bottom: 0;
  transition: transform 0.4s ease-in-out;
  z-index: 2;
}
@media screen and (max-width: 480px) {
  .post_wrap .archive_sort .accordion_item__ttl::before {
    border-right: 5px solid transparent;
    border-left: 5px solid transparent;
    border-top: 16px solid #fff;
    right: 45px;
  }
}
.post_wrap .archive_sort .accordion_item__ttl::after {
  content: "";
  background-color: #332E32;
  width: 60px;
  height: 60px;
  border-radius: 50%;
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  z-index: 1;
}
@media screen and (max-width: 480px) {
  .post_wrap .archive_sort .accordion_item__ttl::after {
    width: 40px;
    height: 40px;
  }
}
.post_wrap .archive_sort .accordion_item .child_list {
  display: none;
}
.post_wrap .archive_sort .accordion_item .child_list .child_item {
  padding: 30px 20px 30px 30px;
  transition: all 0.4s;
}
@media screen and (max-width: 480px) {
  .post_wrap .archive_sort .accordion_item .child_list .child_item {
    padding: 20px 10px 20px 20px;
  }
}
.post_wrap .archive_sort .accordion_item .child_list .child_item:hover {
  background-color: #eeeeee;
}
.post_wrap .topic_pager {
  display: flex;
  align-items: center;
}
.post_wrap .topic_pager .prev,
.post_wrap .topic_pager .next {
  border: #3A5475 solid 1px;
  height: 50px;
  width: 125px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  transition: all 0.4s;
  color: #3A5475;
  display: flex;
  align-items: center;
  justify-content: center;
}
.post_wrap .topic_pager .prev:hover,
.post_wrap .topic_pager .next:hover {
  background-color: #3A5475;
}
.post_wrap .topic_pager .prev:hover a,
.post_wrap .topic_pager .next:hover a {
  color: #fff;
}
.post_wrap .topic_pager .prev a,
.post_wrap .topic_pager .next a {
  display: inline-block;
  width: 100%;
  text-align: center;
  transition: all 0.4s;
}
.post_wrap .topic_pager .prev {
  margin-left: 45.573vw;
}
.post_wrap .topic_pager .next {
  margin-left: 5px;
}
.post_wrap .page-numbers {
  display: flex;
  align-items: center;
  justify-content: left;
}
.post_wrap .page-numbers li {
  border: #3A5475 solid 1px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
  font-size: 1.1em;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
  transition: all 0.4s;
  color: #3A5475;
}
@media screen and (max-width: 480px) {
  .post_wrap .page-numbers li {
    width: 35px;
    height: 35px;
  }
}
.post_wrap .page-numbers li:hover {
  background-color: #3A5475;
}
.post_wrap .page-numbers li:hover a {
  color: #fff;
}
.post_wrap .page-numbers li a {
  display: inline-block;
  width: 100%;
  text-align: center;
  transition: all 0.4s;
}
.post_wrap .page-numbers li .current {
  width: 100%;
  height: 100%;
  background-color: #3A5475;
  color: #fff;
  justify-content: center;
}

.post {
  display: flex;
  flex-wrap: wrap;
}
@media screen and (max-width: 768px) {
  .post {
    padding-bottom: 50px;
  }
}
.post article {
  width: calc(33.33% - 50px);
  margin-left: 50px;
  margin-bottom: 50px;
}
@media screen and (max-width: 1270px) {
  .post article {
    width: calc(50% - 16px);
    margin-left: 32px;
    margin-bottom: 30px;
  }
  .post article:nth-child(2n-1) {
    margin-left: 0;
  }
}
@media screen and (max-width: 480px) {
  .post article {
    width: 100%;
    margin-left: 0;
  }
  .post article:nth-child(2n-1) {
    margin-left: 0;
  }
}
.post article:nth-child(3n-2) {
  margin-left: 0;
}
@media screen and (max-width: 1270px) {
  .post article:nth-child(3n-2) {
    margin-left: auto;
  }
}
@media screen and (max-width: 480px) {
  .post article:nth-child(3n-2) {
    margin-left: 0;
  }
}
.post article .thumb {
  height: 350px;
}
.post article .thumb img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.post article .cap {
  text-transform: capitalize;
}
.post_txt {
  margin-top: 1em;
  color: #fff;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
.post_txt__category {
  margin-left: 20px;
  text-transform: capitalize;
  padding: 2px 30px;
  border: #fff 1px solid;
}
.post_txt__ttl {
  margin-top: 15px;
  font-size: 1.1em;
}

.single {
  background-color: #999CA5;
  padding: 100px 0;
}
@media screen and (max-width: 1560px) {
  .single {
    background-color: #fff;
  }
}
@media screen and (max-width: 480px) {
  .single {
    padding: 50px 0;
  }
}
.single_inner {
  background-color: #332E32;
  max-width: 1560px;
  margin: 0 auto;
  padding: 100px 0;
}
@media screen and (max-width: 1560px) {
  .single_inner {
    padding: 100px 40px;
  }
}
@media screen and (max-width: 1270px) {
  .single_inner {
    padding: 50px 33px;
  }
}
@media screen and (max-width: 480px) {
  .single_inner {
    padding: 35px 0;
  }
}
.single article {
  color: #fff;
  border-bottom: #fff 2px solid;
  padding-bottom: 50px;
}
@media screen and (max-width: 480px) {
  .single article {
    padding-bottom: 35px;
  }
}
.single article h1 {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 2em;
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: solid 2px #fff;
}
@media screen and (max-width: 480px) {
  .single article h1 {
    font-size: 1.3em;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
}
.single article .category_area {
  display: flex;
  align-items: center;
}
.single article time {
  font-size: 1.1em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .single article time {
    font-size: 0.9em;
  }
}
.single article .single_ttl__category {
  text-transform: capitalize;
  color: #332E32;
  background-color: #fff;
  padding: 7px 35px;
  font-weight: 700;
  margin-left: 30px;
  font-family: "arsenica-variable", sans-serif;
  font-variation-settings: "opsz" 100, "wght" 400;
}
@media screen and (max-width: 480px) {
  .single article .single_ttl__category {
    font-size: 0.9em;
    padding: 5px 29px;
    margin-left: 20px;
  }
}
.single article .article_thumb {
  margin: 50px 0;
}
@media screen and (max-width: 480px) {
  .single article .article_thumb {
    margin: 35px 0;
  }
}
.single article .article_thumb img {
  max-height: 650px;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (max-width: 480px) {
  .single article .article_thumb img {
    max-height: 350px;
  }
}
.single article p {
  line-height: 2em;
  padding-bottom: 30px;
}
.single article h2 {
  font-size: 1.5em;
  padding-bottom: 20px;
  margin-bottom: 30px;
  border-bottom: solid 2px #fff;
  font-weight: 700;
}
@media screen and (max-width: 480px) {
  .single article h2 {
    font-size: 1.3em;
    padding-bottom: 10px;
    margin-bottom: 20px;
  }
}
.single article h3 {
  font-size: 1.5em;
  font-weight: 700;
  position: relative;
  padding-left: 20px;
  margin-bottom: 30px;
}
@media screen and (max-width: 480px) {
  .single article h3 {
    font-size: 1.3em;
    margin-bottom: 20px;
  }
}
.single article h3::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 3px;
  background-color: #fff;
}
.single article a {
  text-decoration: underline;
}
.single .back_archive {
  padding: 50px 0 0;
  color: #fff;
  display: flex;
  justify-content: center;
}
.single .back_archive__link {
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.3s;
}
.single .back_archive__link:hover {
  opacity: 0.7;
}
.single .back_archive__link p {
  font-size: 1.1em;
  margin-left: 20px;
  font-weight: 700;
}
.single .back_archive__icon {
  background-color: #fff;
  width: 50px;
  height: 50px;
  position: relative;
}
.single .back_archive__icon::before {
  content: "";
  position: absolute;
  width: 30px;
  height: 19px;
  background: url(../img/back_archive.svg) no-repeat;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}

.privacy-wrap {
  color: #fff;
}
.privacy-wrap h3 {
  font-size: 1.5em;
  margin-bottom: 1em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
.privacy-wrap .privacy-intro {
  line-height: 1.5em;
}
.privacy-wrap .privacy-body {
  margin-top: 35px;
}
.privacy-wrap .privacy-body .privacy-item {
  margin-bottom: 4em;
  line-height: 1.5em;
}
.privacy-wrap .privacy-body .privacy-item h4 {
  font-size: 1.1em;
  margin-bottom: 1.1em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
.privacy-wrap .privacy-body .privacy-item__list {
  list-style: decimal;
  margin-left: 1em;
}
.privacy-wrap .privacy-body .privacy-item__list li {
  margin-top: 2em;
}
.privacy-wrap .privacy-body .privacy-item__use {
  list-style: circle;
  margin-left: 1em;
  margin-top: 1em;
}
.privacy-wrap .privacy-body .privacy-item__use li {
  margin-top: 0.5em;
}
.privacy-wrap .privacy-body .privacy-item .child_list {
  margin-left: 1.3em;
  list-style: disc;
}
.privacy-wrap .privacy-body .privacy-item .child_list li {
  margin-top: 0.5em;
}
.privacy-wrap .cookie {
  line-height: 1.5em;
}
.privacy-wrap .cookie h4 {
  font-size: 1.1em;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  margin-bottom: 1.1em;
}
.privacy-wrap .cookie li {
  margin-bottom: 2em;
}

.kintone {
  color: #fff;
  position: relative;
  margin-bottom: 100px;
}
@media screen and (max-width: 480px) {
  .kintone {
    margin-top: 50px;
    margin-bottom: 1rem;
  }
}
.kintone_ttl {
  position: absolute;
  top: -23%;
  left: 50%;
  transform: skewX(-15deg) translateX(-50%);
  background-color: #3A5475;
  color: #fff;
  font-size: 32px;
  padding: 2rem;
  width: 60%;
}
@media screen and (max-width: 1270px) {
  .kintone_ttl {
    width: 100%;
    top: -11%;
  }
}
@media screen and (max-width: 480px) {
  .kintone_ttl {
    font-size: 1rem;
    width: calc(100% - 30px);
    top: -8%;
  }
}
.kintone_ttl div {
  transform: skewX(15deg);
  margin: 0 auto;
  text-align: center;
}
.kintone_ttl2 {
  background-color: #332E32;
  color: #fff;
}
.kintone_ttl2 h3 {
  padding: 2rem 0;
  font-size: 1.5rem;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 1270px) {
  .kintone_ttl2 h3 {
    padding: 2rem 33px;
  }
}
@media screen and (max-width: 480px) {
  .kintone_ttl2 h3 {
    font-size: 1rem;
  }
}
@media screen and (max-width: 1270px) {
  .kintone-about {
    padding-top: 60px;
  }
}
@media screen and (max-width: 480px) {
  .kintone-about {
    padding-top: 30px;
  }
}
.kintone-about_desc {
  font-size: 1.5rem;
  line-height: 2;
}
@media screen and (max-width: 480px) {
  .kintone-about_desc {
    font-size: 1rem;
  }
}
.kintone-about_list {
  margin-top: 50px;
  color: #332E32;
}
.kintone-about_list__item {
  background-color: #fff;
  margin-bottom: 2rem;
  padding: 2rem;
}
.kintone-about_list__item .ttl {
  font-size: 1.5rem;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: solid 1px #332E32;
}
@media screen and (max-width: 480px) {
  .kintone-about_list__item .ttl {
    font-size: 1rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
  }
}
.kintone-about_list__item .desc {
  line-height: 2;
}
@media screen and (max-width: 480px) {
  .kintone-about_list__item .desc {
    font-size: 0.9rem;
  }
}
.kintone-recommend_list {
  margin: 150px auto 250px;
}
@media screen and (max-width: 1270px) {
  .kintone-recommend_list {
    margin-top: 80px;
    margin-bottom: 150px;
  }
}
@media screen and (max-width: 480px) {
  .kintone-recommend_list {
    margin-top: 1rem;
    margin-bottom: 100px;
  }
}
.kintone-recommend_list__item {
  display: flex;
  align-items: center;
  margin-top: 3rem;
}
@media screen and (max-width: 480px) {
  .kintone-recommend_list__item {
    flex-direction: column;
  }
}
.kintone-recommend_list__item .txt {
  position: relative;
  background-color: #fff;
  margin-left: 75px;
  padding: 2rem;
  border-radius: 15px;
  width: 100%;
}
@media screen and (max-width: 1560px) {
  .kintone-recommend_list__item .txt {
    background-color: #332E32;
    color: #fff;
  }
}
@media screen and (max-width: 480px) {
  .kintone-recommend_list__item .txt {
    margin-left: 0;
    margin-top: 2rem;
  }
}
.kintone-recommend_list__item .txt::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  margin-left: -15px;
  border: 15px solid transparent;
  border-top: 15px solid #fff;
}
@media screen and (max-width: 1560px) {
  .kintone-recommend_list__item .txt::before {
    border-top-color: #332E32;
  }
}
@media screen and (max-width: 480px) {
  .kintone-recommend_list__item .txt::before {
    left: 40%;
    top: -15px;
    transform: rotate(90deg);
  }
}
.kintone-recommend_list__item .txt_ttl {
  font-size: 1.2rem;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  display: inline-block;
  padding-bottom: 1rem;
  margin-bottom: 1rem;
  border-bottom: solid 1px #332E32;
}
@media screen and (max-width: 1560px) {
  .kintone-recommend_list__item .txt_ttl {
    border-bottom-color: #fff;
  }
}
.kintone-gairyaku {
  padding-top: 50px;
}
@media screen and (max-width: 1270px) {
  .kintone-gairyaku .kintone_ttl {
    top: -23%;
  }
}
@media screen and (max-width: 480px) {
  .kintone-gairyaku .kintone_ttl {
    top: -30%;
  }
}
.kintone-flow_list {
  margin-top: 5rem;
}
@media screen and (max-width: 480px) {
  .kintone-flow_list {
    margin-top: 2rem;
  }
}
.kintone-flow_list__item {
  margin-bottom: 3rem;
}
.kintone-flow_list__item .ttl {
  display: flex;
  align-items: center;
  padding-bottom: 1.5rem;
  margin-bottom: 1.5rem;
  border-bottom: dotted 1px #332E32;
}
@media screen and (max-width: 480px) {
  .kintone-flow_list__item .ttl {
    flex-direction: column;
    padding-bottom: 1rem;
    margin-bottom: 1rem;
  }
}
.kintone-flow_list__item .ttl_step {
  color: #fff;
  background-color: #3A5475;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  padding: 2rem 0;
  width: 350px;
  text-align: center;
  margin-right: 2rem;
}
@media screen and (max-width: 480px) {
  .kintone-flow_list__item .ttl_step {
    width: 100%;
    margin-right: 0;
    font-size: 1rem;
    padding: 1rem 0;
    margin-bottom: 1rem;
  }
}
.kintone-flow_list__item .ttl p {
  font-size: 1.5rem;
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
}
@media screen and (max-width: 480px) {
  .kintone-flow_list__item .ttl p {
    font-size: 1rem;
  }
}
.kintone-price_img {
  margin-top: 3rem;
}
@media screen and (max-width: 480px) {
  .kintone-price_img {
    margin-top: 2rem;
  }
}
.kintone-contact {
  margin-top: 3rem;
  color: #fff;
}
@media screen and (max-width: 1560px) {
  .kintone-contact {
    color: #332E32;
  }
}
@media screen and (max-width: 480px) {
  .kintone-contact {
    margin-top: 3rem;
  }
}
.kintone-contact .ttl {
  font-family: YuMincho, "Hiragino Mincho ProN", serif;
  font-size: 1.5rem;
}
@media screen and (max-width: 480px) {
  .kintone-contact .ttl {
    font-size: 1.1rem;
  }
}
.kintone-contact .desc {
  line-height: 2;
  margin-top: 1.5rem;
}
@media screen and (max-width: 480px) {
  .kintone-contact .desc {
    margin-top: 1rem;
  }
}
.kintone-contact .desc a {
  color: #3A5475;
  text-decoration: underline;
}

/* ブランドリスト */
.brand-list {
  margin-top: 60px;
}

.brand-list-title {
  font-size: 1.8rem;
  font-weight: 600;
  text-align: center;
  margin-bottom: 40px;
  position: relative;
  padding-bottom: 15px;
}

.brand-list-title:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, #2196F3, #4CAF50);
}

/* アコーディオン */
.accordion {
  background: rgba(255, 255, 255, 0.4392156863);
  border-radius: 10px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}

.accordion-item {
  border-bottom: 1px solid #e0e0e0;
}

.accordion-item:last-child {
  border-bottom: none;
}

.accordion-header {
  padding: 20px 30px;
  cursor: pointer;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: all 0.3s ease;
  position: relative;
}

.accordion-header:hover {
  background: #f8f8f8;
}

.accordion-header.active {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
  color: white;
}

.company-info {
  display: flex;
  align-items: center;
  flex: 1;
}

.company-number {
  width: 35px;
  height: 35px;
  background: linear-gradient(135deg, #2196F3, #4CAF50);
  color: white;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: bold;
  margin-right: 20px;
  font-size: 0.9rem;
}

.accordion-header.active .company-number {
  background: white;
  color: #667eea;
}

.company-name {
  font-size: 1.1rem;
  font-weight: 600;
}

.accordion-icon {
  width: 24px;
  height: 24px;
  transition: transform 0.3s ease;
}

.accordion-header.active .accordion-icon {
  transform: rotate(180deg);
}

/* アコーディオンコンテンツ */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s ease;
  background: #fafafa;
}

.accordion-content.active {
  max-height: 2000px;
}

.products-grid {
  padding: 30px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 25px;
}

.product-card {
  background: white;
  padding: 0;
  border-radius: 8px;
  overflow: hidden;
  transition: all 0.3s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.product-card:hover {
  transform: translateY(-5px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

.product-image {
  width: 100%;
  height: 180px;
  background: #f0f0f0;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  overflow: hidden;
}

.product-image img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.product-image-placeholder {
  color: #999;
  font-size: 0.85rem;
  text-align: center;
  padding: 10px;
}

.product-content {
  padding: 20px;
}

.product-title {
  font-size: 1.1rem;
  font-weight: 600;
  margin-bottom: 12px;
  color: #333;
  border-bottom: 2px solid #667eea;
  padding-bottom: 8px;
}

.product-description {
  font-size: 0.9rem;
  color: #666;
  line-height: 1.6;
  margin-bottom: 12px;
}

.product-features {
  font-size: 0.85rem;
  color: #888;
  line-height: 1.5;
  padding: 10px;
  background: #f8f8f8;
  border-radius: 5px;
}

.product-features strong {
  color: #555;
  display: block;
  margin-bottom: 4px;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
  .accordion-header {
    padding: 15px 20px;
  }
  .products-grid {
    grid-template-columns: 1fr;
    padding: 20px;
  }
}