@charset "UTF-8";
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video{
  margin:0;
  padding:0;
  border:0;
  outline:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section{
  display:block;
}

nav ul{
  list-style:none;
}

blockquote, q{
  quotes:none;
}

blockquote:before, blockquote:after,
q:before, q:after{
  content:none;
}

a{
  margin:0;
  padding:0;
  font-size:100%;
  vertical-align:baseline;
  background:transparent;
  color:#f50c46;
  text-decoration:underline;
}
ins{
  background-color:#ff9;
  color:#000;
  text-decoration:none;
}
mark{
  background-color:#ff9;
  color:#000;
  font-style:italic;
  font-weight:bold;
}

del{
  text-decoration:line-through;
}

abbr[title], dfn[title]{
  border-bottom:1px dotted;
  cursor:help;
}

table{
  border-collapse:collapse;
  border-spacing:0;
}
hr{
  display:block;
  height:1px;
  border:0;
  border-top:1px solid #cccccc;
  margin:1em 0;
  padding:0;
}

input, select{
  vertical-align:middle;
}

*,
*:before,
*:after{
  box-sizing:border-box;
}

ul[class],
ol[class]{
  list-style:none;
}

input,
button,
textarea,
select{
  font:inherit;
}

h1,
h2,
h3,
h4,
h5,
h6{
  font-weight:normal;
}

html,
body{
  height:100%;
}

html{
  font-size:62.5%;
}

body{
  display:flex;
  flex-direction:column;
  position:relative;
  overflow-x:hidden;
  background:#fcc5ef url(/images/common/bg-main-gradient-sp.jpg) center center/cover fixed no-repeat;
  font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", メイリオ, Meiryo, Roboto, "Helvetica Neue", Arial, sans-serif;
  font-size:1.6rem;
  font-weight:500;
  color:#283a73;
  line-height:1.8;
  word-wrap:break-word;
  overflow-wrap:break-word;
}
body.page-home-index::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  z-index:-1;
  padding-top:150%;
  width:100%;
  height:0;
  background:url(/images/home/bg-mv.jpg) left top/800px no-repeat;
  mix-blend-mode:multiply;
}
body::after{
  content:"none";
  display:none;
}

img{
  max-width:100%;
  height:auto;
  vertical-align:middle;
}

ol,
ul{
  list-style:none;
}

* + p:not([class]){
  margin-top:1em;
}
* + p[class^=font-]{
  margin-top:1em;
}
* + p[class^=text-]{
  margin-top:1em;
}

sub,
sup{
  position:relative;
  font-size:75%;
  line-height:0;
  vertical-align:baseline;
}

sub{
  bottom:-0.25em;
}

sup{
  top:-0.5em;
}

input[type=text], input[type=date], input[type=month], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=search], textarea, select{
  -moz-appearance:none;
       appearance:none;
  -webkit-appearance:none;
  box-shadow:none;
  border:1px solid #d7dce2;
  border-radius:4px;
  width:100%;
  min-height:38px;
  font-size:1.6rem;
  color:#283a73;
  transition:border-color 0.3s;
}
input[type=text]:focus, input[type=date]:focus, input[type=month]:focus, input[type=email]:focus, input[type=tel]:focus, input[type=number]:focus, input[type=password]:focus, input[type=search]:focus, textarea:focus, select:focus{
  outline:none;
  box-shadow:0 0 0 3px rgba(245, 12, 70, 0.2);
  border-color:#f50c46;
}
input[type=text]:disabled, input[type=date]:disabled, input[type=month]:disabled, input[type=email]:disabled, input[type=tel]:disabled, input[type=number]:disabled, input[type=password]:disabled, input[type=search]:disabled, textarea:disabled, select:disabled{
  background-color:#f3f6fa;
}
input.is-invalid[type=text], input.is-invalid[type=date], input.is-invalid[type=month], input.is-invalid[type=email], input.is-invalid[type=tel], input.is-invalid[type=number], input.is-invalid[type=password], input.is-invalid[type=search], textarea.is-invalid, select.is-invalid{
  border-color:#f50c46;
}

.list-ul > li, .list-ol > li, .list-notes > li{
  position:relative;
  line-height:1.6;
}
.list-ul > li::before, .list-ol > li::before, .list-notes > li::before{
  content:"";
  position:absolute;
}
.list-ul > li:not(:first-child), .list-ol > li:not(:first-child), .list-notes > li:not(:first-child){
  margin-top:0.5em;
}

.list-ul > li{
  padding-left:2em;
}
.list-ul > li::before{
  top:0.55em;
  left:0.65em;
  border-radius:50%;
  width:0.5em;
  height:0.5em;
  background-color:#ff4050;
}

.list-ol{
  counter-reset:list-ol;
}
.list-ol > li{
  padding-left:2em;
}
.list-ol > li::before{
  content:counter(list-ol) ".";
  counter-increment:list-ol;
  top:0;
  left:1.75em;
  transform:translateX(-100%);
}

input[type=checkbox], input[type=radio]{
  position:absolute;
  overflow:hidden;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  white-space:nowrap;
  clip:rect(0 0 0 0);
  clip-path:inset(50%);
}

button{
  cursor:pointer;
}

input,
textarea{
  -webkit-appearance:none;
  -moz-appearance:none;
  appearance:none;
}

input:-moz-placeholder{
  color:#969fb1;
}

input:placeholder-shown{
  color:#969fb1;
}
input::-webkit-input-placeholder{
  color:#969fb1;
  opacity:1;
}
input:-moz-placeholder{
  color:#969fb1;
}
input::-moz-placeholder{
  color:#969fb1;
  opacity:1;
}
input:-ms-input-placeholder{
  color:#969fb1;
}
input[type=text], input[type=date], input[type=month], input[type=email], input[type=tel], input[type=number], input[type=password], input[type=search]{
  padding:0.4em 0.75em;
  line-height:1.2;
}
input[type=text]:-moz-read-only, input[type=date]:-moz-read-only, input[type=month]:-moz-read-only, input[type=email]:-moz-read-only, input[type=tel]:-moz-read-only, input[type=number]:-moz-read-only, input[type=password]:-moz-read-only, input[type=search]:-moz-read-only{
  background-color:#f3f6fa;
}
input[type=text]:read-only, input[type=date]:read-only, input[type=month]:read-only, input[type=email]:read-only, input[type=tel]:read-only, input[type=number]:read-only, input[type=password]:read-only, input[type=search]:read-only{
  background-color:#f3f6fa;
}
input[type=checkbox] + label, input[type=radio] + label{
  display:inline-block;
  position:relative;
  padding-left:2em;
  line-height:1.6;
}
input[type=checkbox] + label::before, input[type=checkbox] + label::after, input[type=radio] + label::before, input[type=radio] + label::after{
  display:block;
  position:absolute;
  top:1px;
  left:0;
  width:18px;
  height:18px;
}
input[type=checkbox]:focus + label::before, input[type=radio]:focus + label::before{
  box-shadow:0 0 0 3px rgba(245, 12, 70, 0.2);
}
input[type=checkbox]:disabled + label, input[type=radio]:disabled + label{
  opacity:0.5;
}
input[type=checkbox]:disabled + label::before, input[type=radio]:disabled + label::before{
  background-color:#f3f6fa;
}
input[type=checkbox] + label::before, input[type=checkbox] + label::after{
  border-radius:3px;
}
input[type=checkbox] + label::before{
  content:"";
  z-index:1;
  border:1px solid #d7dce2;
  transition:opacity 0.3s;
}
input[type=checkbox] + label::after{
  content:"\f12c";
  font-family:"Material Design Icons";
  font-weight:normal;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  display:flex;
  justify-content:center;
  align-items:center;
  opacity:0;
  z-index:2;
  background-color:#f50c46;
  font-size:1.1em;
  color:#fff;
  transition:opacity 0.3s;
}
input[type=checkbox]:checked + label::before{
  border-color:#f50c46;
}
input[type=checkbox]:checked + label::after{
  opacity:1;
}
input[type=checkbox].is-invalid:not(:checked) + label::before{
  border-color:#f50c46;
}
input[type=radio] + label::before, input[type=radio] + label::after{
  content:"";
  border-radius:50%;
}
input[type=radio] + label::before{
  z-index:1;
  border:1px solid #d7dce2;
  background-color:#fff;
  transition:border 0.3s;
}
input[type=radio] + label::after{
  opacity:0;
  top:5px;
  left:4px;
  z-index:2;
  width:10px;
  height:10px;
  background-color:#f50c46;
  color:#fff;
  transition:opacity 0.3s;
}
input[type=radio]:checked + label::before{
  border-color:#f50c46;
}
input[type=radio]:checked + label::after{
  opacity:1;
}
input[type=radio].is-invalid:not(:checked) + label::before{
  border-color:#f50c46;
}
input[type=range]{
  outline:none;
  margin:0;
  border-radius:2px;
  width:100%;
  height:4px;
  background-color:#d7dce2;
  -webkit-appearance:none;
     -moz-appearance:none;
          appearance:none;
}
input[type=range]:disabled{
  pointer-events:none;
}
input[type=range]:disabled::-webkit-slider-thumb{
  background-color:#969fb1 !important;
}
input[type=range]:disabled::-moz-range-thumb{
  background-color:#969fb1 !important;
}
input[type=range]::-webkit-slider-thumb{
  cursor:pointer;
  display:block;
  box-shadow:none;
  border:2px solid #fff;
  border-radius:50%;
  width:18px;
  height:18px;
  background-color:#f50c46;
  -webkit-transition:box-shadow 0.15s;
  transition:box-shadow 0.15s;
  -webkit-appearance:none;
          appearance:none;
}
input[type=range]:active::-webkit-slider-thumb{
  box-shadow:0 0 0 2px rgba(245, 12, 70, 0.5);
}
input[type=range]::-moz-range-thumb{
  cursor:pointer;
  display:block;
  border:2px solid #fff;
  border-radius:50%;
  width:14px;
  height:14px;
  background-color:#f50c46;
  -moz-transition:box-shadow 0.15s;
  transition:box-shadow 0.15s;
}
input[type=range]:active::-moz-range-thumb{
  box-shadow:0 0 0 2px rgba(245, 12, 70, 0.5);
}
input[type=range]::-moz-focus-outer{
  border:0;
}

textarea{
  resize:vertical;
  display:block;
  padding:0.4em 0.75em;
}
textarea:-moz-read-only{
  background-color:#f3f6fa;
}
textarea:read-only{
  background-color:#f3f6fa;
}

select{
  padding:0.2em 1.75em 0.2em 0.75em;
  background:#fff url(/images/common/icon-select-arrow.svg) right 0.25em center/20px 20px no-repeat;
  line-height:1.2;
}
.contactList-item{
  border-radius:20px;
  height:135px;
  line-height:1.4;
  text-align:center;
}
.contactList-item:not(:first-child){
  margin-top:30px;
}
.contactList-item-tel{
  position:relative;
}
.contactList-item-tel::before{
  content:"";
  display:block;
  position:absolute;
  left:0;
  bottom:-10px;
  z-index:-1;
  opacity:0.25;
  border-radius:inherit;
  width:100%;
  height:100%;
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  filter:blur(15px);
}
.contactList-telInner{
  padding:15px;
  border-radius:inherit;
  background-color:#fff;
}
.contactList-lead{
  margin-bottom:0.5em;
  font-size:1.8rem;
  font-weight:700;
  text-align:center;
}
.contactList-telNumber{
  font-family:"Lato", sans-serif;
  font-size:3.4rem;
  font-weight:700;
  color:#283a73;
  text-decoration:none;
}
.contactList-telNumber::before{
  content:"\f3f2";
  font-family:"Material Design Icons";
  font-weight:normal;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  display:inline-block;
  margin-right:0.15em;
  font-size:3.6rem;
  color:#f50c46;
}
.contactList-telTime{
  margin-top:0.5em;
  font-size:1.3rem;
  color:#969fb1;
}
.contactList-telNotes{
  margin-left:0.5em;
}
.contactList-form{
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  color:#fff;
  position:relative;
  display:block;
  border-radius:inherit;
  width:100%;
  height:100%;
  text-decoration:none;
}
.contactList-form::before{
  content:"";
  display:block;
  position:absolute;
  left:0;
  bottom:-10px;
  z-index:-1;
  opacity:0.25;
  border-radius:inherit;
  width:100%;
  height:100%;
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  filter:blur(15px);
}
.contactList-form::after{
  content:"\f142";
  font-family:"Material Design Icons";
  font-weight:normal;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:absolute;
  top:50%;
  right:0.5em;
  transform:translateY(-50%);
  font-size:3.2rem;
}
.contactList-formInner{
  display:flex;
  justify-content:center;
  align-items:center;
  padding:15px;
  border-radius:inherit;
  width:100%;
  height:100%;
  background-image:inherit;
  font-size:2rem;
  font-weight:700;
  color:inherit;
  letter-spacing:0.02em;
}
.contactList-formText{
  display:flex;
  align-items:center;
}
.contactList-formText::before{
  content:"\f1f0";
  font-family:"Material Design Icons";
  font-weight:normal;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  flex-shrink:0;
  margin-right:0.25em;
  font-size:3.4rem;
}

.fixedBg{
  position:fixed;
  top:0;
  z-index:-2;
  left:0;
  width:100%;
  height:100vh;
  background:#fcc5ef url(/images/common/bg-main-gradient-sp.jpg) center center/cover no-repeat;
}

.footer{
  padding:30px 0;
  background-color:#262f4d;
  font-size:1.4rem;
  color:#fff;
}
.footer a{
  color:inherit;
  text-decoration:underline;
}
.footer-info{
  text-align:center;
}
.footer-company{
  display:flex;
  justify-content:center;
  align-items:center;
  font-size:1.6rem;
  gap:1em;
}
.footer-companyLink{
  display:inline-block;
}
.footer-address{
  margin-top:1em;
  font-style:normal;
}
.footer-address p{
  margin-top:0 !important;
}
.footer-tel{
  text-decoration:none !important;
}
.footer-siteLink{
  display:inline-block;
  margin-top:0.5em;
}
.footer-infoBody{
  margin-top:20px;
}
.footer-relationLink{
  display:inline-block;
}
.footer-copyright{
  margin-top:30px;
  color:#969fb1;
}

.globalInner{
  padding:0 15px;
  transition:padding 0.3s;
}

.globalWrapper{
  flex:1;
}
.globalWrapper-main{
  display:flex;
  flex-direction:column;
  overflow-x:hidden;
  height:100%;
}

.header{
  display:flex;
  align-items:center;
  position:fixed;
  top:0;
  left:0;
  z-index:1010;
  transform:translateY(-100%);
  padding:10px;
  width:100%;
  height:70px;
  transition:transform 0.3s ease-out;
  gap:10px;
}
.header.is-over-mv{
  transform:translateY(0);
}
.header-logo{
  padding:5px;
  height:100%;
}
.header-logoLink{
  display:block;
  height:100%;
}
.header-logoImg{
  width:auto;
  height:100%;
}
.header-contact{
  -moz-appearance:none;
       appearance:none;
  -webkit-appearance:none;
  margin:0;
  padding:0;
  border:none;
  outline:none;
  background-color:transparent;
  text-align:left;
  display:inline-block;
  border-radius:5em;
  text-decoration:none;
  vertical-align:bottom;
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  color:#fff;
  position:relative;
  margin-left:auto;
  min-width:160px;
}
.header-contact::after{
  content:"\f142";
  font-family:"Material Design Icons";
  font-weight:normal;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:absolute;
  top:50%;
  right:0.5em;
  transform:translateY(-50%);
  font-size:1.8rem;
}
.header-contactInner{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:inherit;
  width:100%;
  height:100%;
  background-image:inherit;
  color:inherit;
  line-height:1.4;
  letter-spacing:0.02em;
  text-align:center;
  padding:1em 2em 1em 1.25em;
  min-height:50px;
  font-size:1.4rem;
}
.header-contact::before{
  content:"";
  display:block;
  position:absolute;
  left:0;
  bottom:-5px;
  z-index:-1;
  opacity:0.25;
  border-radius:inherit;
  width:100%;
  height:100%;
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  filter:blur(10px);
}

.mv{
  padding-top:30px;
}
.mv-header{
  padding:0 15px;
}
.mv-logo{
  text-align:center;
}
.mv-logoLink{
  display:inline-block;
}
.mv-logoImg{
  width:auto;
  height:50px;
}
.mv-body{
  text-align:center;
}
.mv-inner{
  position:relative;
  transition:padding 0.3s;
}
.mv-text{
  padding:0 15px;
}
.mv-title{
  margin-top:30px;
}
.mv-titleSub{
  margin-bottom:0.25em;
  font-size:1.8rem;
  font-weight:700;
  line-height:1.5;
}
.mv-titleMain{
  margin-bottom:0.5em;
  font-size:clamp(3.6rem, 2.54vw + 2.65rem, 4.6rem);
  font-weight:900;
  line-height:1.5;
  letter-spacing:0.02em;
}
.mv-lead{
  font-size:1.6rem;
}
.mv-btn{
  margin-top:30px;
}
.mv-imgWrapper{
  position:relative;
  left:4vw;
  margin-top:10px;
  width:153vw;
  max-width:1150px;
  clip-path:url(#mv-img-clip);
}
.mv-imgClip{
  opacity:0;
  position:absolute;
  z-index:-1;
  pointer-events:none;
}

.sectionTop{
  position:relative;
  margin-top:60px;
  transition:padding 0.3s;
}
body:not(:has(.sectionTop-contact)) .sectionTop:last-child{
  padding-bottom:60px;
}
.sectionTop-header{
  text-align:center;
}
.sectionTop-titleEn{
  margin-bottom:0.25em;
  font-family:"Lato", sans-serif;
  font-size:4rem;
  font-weight:900;
  color:rgba(255, 128, 219, 0.2);
  line-height:1.1;
  letter-spacing:0.04em;
}
.sectionTop-title{
  word-break:keep-all;
  overflow-wrap:anywhere;
  margin-bottom:1em;
  color:#283a73;
  font-weight:700;
  line-height:1.5;
  font-size:2.6rem;
}
.sectionTop-text{
  margin-bottom:30px;
  width:-moz-fit-content;
  width:fit-content;
  margin-inline:auto;
}
.sectionTop-about .sectionTop-text br, .sectionTop-experience .sectionTop-text br{
  display:none;
}
.sectionTop-movie{
  max-width:960px;
  margin-inline:auto;
}
.sectionTop-about .sectionTop-movie{
  margin-top:20px;
}
.sectionTop-box{
  position:relative;
  padding:30px 15px 0;
  border-radius:20px;
  background-color:rgba(255, 255, 255, 0.38);
}
.sectionTop-about{
  position:relative;
}
.sectionTop-aboutImgGroup{
  position:relative;
  margin-top:-30px;
}
.sectionTop-aboutImgWrapper{
  display:flex;
  justify-content:center;
  align-items:center;
  position:relative;
  transition:all 0.3s;
}
.sectionTop-aboutImgWrapper::before, .sectionTop-aboutImgWrapper::after{
  content:"";
  display:block;
  position:absolute;
  width:100%;
  height:100%;
  background:center center/contain no-repeat;
}
.sectionTop-aboutImgWrapper::before{
  z-index:3;
}
.sectionTop-aboutImgWrapper::after{
  z-index:1;
}
.sectionTop-aboutImgWrapper-01{
  left:calc(50% - 55vw);
  width:72vw;
  height:72vw;
}
.sectionTop-aboutImgWrapper-01::before{
  background-image:url(/images/home/img-about-01-front.png);
}
.sectionTop-aboutImgWrapper-01::after{
  background-image:url(/images/home/img-about-01-back.png);
}
.sectionTop-aboutImgWrapper-02{
  position:absolute;
  top:22vw;
  right:calc(50% - 44vw);
  width:57.6vw;
  height:57.6vw;
}
.sectionTop-aboutImgWrapper-02::before{
  background-image:url(/images/home/img-about-02-front.png);
}
.sectionTop-aboutImgWrapper-02::after{
  background-image:url(/images/home/img-about-02-back.png);
}
.sectionTop-aboutImgWrapper-03{
  position:absolute;
  top:-2vw;
  right:calc(50% - 53vw);
  width:45.6vw;
  height:45.6vw;
}
.sectionTop-aboutImgWrapper-03::before{
  background-image:url(/images/home/img-about-03-front.png);
}
.sectionTop-aboutImgWrapper-03::after{
  background-image:url(/images/home/img-about-03-back.png);
}
.sectionTop-aboutImgInner{
  position:relative;
  z-index:2;
  overflow:hidden;
  border-radius:50%;
}
.sectionTop-aboutImgWrapper-01 .sectionTop-aboutImgInner{
  width:66.6666666667%;
}
.sectionTop-aboutImgWrapper-02 .sectionTop-aboutImgInner{
  width:58.3333333333%;
}
.sectionTop-aboutImgWrapper-03 .sectionTop-aboutImgInner{
  width:47.3684210526%;
}
.sectionTop-aboutImg{
  width:100%;
}
.sectionTop-message:has(.messageList-col2) .globalInner{
  position:relative;
}
.sectionTop-vision .sectionTop-titleEn{
  position:absolute;
  top:-0.5em;
  left:0;
  width:100%;
  line-height:1;
}
.sectionTop-vision .sectionTop-text{
  margin-bottom:0 !important;
  text-align:left;
}
.sectionTop-vision .sectionTop-text:not(:first-child){
  margin-top:1em;
}
.sectionTop-vision strong{
  color:#f50c46;
}
* + .sectionTop-visionBanner{
  margin-top:30px;
}
.title + .sectionTop-visionBanner{
  margin-top:0;
}
.sectionTop-visionBanner{
  text-align:center;
}
* + .sectionTop-visionImgWrapper{
  margin-top:30px;
}
.title + .sectionTop-visionImgWrapper{
  margin-top:0;
}
.sectionTop-visionImgWrapper{
  max-width:90%;
  text-align:center;
  margin-inline:auto;
}
.sectionTop-contact{
  overflow-x:clip;
  padding-bottom:60px;
}

.btn{
  -moz-appearance:none;
       appearance:none;
  -webkit-appearance:none;
  margin:0;
  padding:0;
  border:none;
  outline:none;
  background-color:transparent;
  text-align:left;
  display:inline-block;
  position:relative;
  border-radius:5em;
  text-decoration:none;
  vertical-align:bottom;
  min-width:260px;
  font-size:1.6rem;
  font-weight:700;
}
.btn::after{
  content:"\f142";
  font-family:"Material Design Icons";
  font-weight:normal;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  position:absolute;
  top:50%;
  right:0.5em;
  font-size:2.4rem;
  transform:translateY(-50%);
}
.btn-inner{
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:inherit;
  padding:1em 2.5em;
  width:100%;
  height:100%;
  min-height:54px;
  background-image:inherit;
  color:inherit;
  line-height:1.4;
  letter-spacing:0.02em;
  text-align:center;
}

* + .btn{
  margin-top:30px;
}
.title + .btn{
  margin-top:0;
}
.btn.is-disabled, .btn:disabled{
  opacity:0.5;
  pointer-events:none;
}
.btn-primary{
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  color:#fff;
  position:relative;
}
.btn-primary::before{
  content:"";
  display:block;
  position:absolute;
  left:0;
  bottom:-5px;
  z-index:-1;
  opacity:0.25;
  border-radius:inherit;
  width:100%;
  height:100%;
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  filter:blur(10px);
}
* + .btnRow{
  margin-top:30px;
}
.title + .btnRow{
  margin-top:0;
}
.btnRow{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}
.btnRow .btn{
  margin-top:0;
}
.btnRow-center{
  justify-content:center;
}
.btnRow-end{
  justify-content:flex-end;
}
* + .btnRow-footer{
  margin-top:40px;
}
.title + .btnRow-footer{
  margin-top:0;
}
.btnRow-footer{
  justify-content:center;
}

.circleList{
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:20px;
}
.circleList-item{
  display:flex;
  justify-content:center;
  align-items:center;
  border-radius:50%;
  width:225px;
  height:225px;
  background-color:#fff;
  font-size:1.6rem;
  text-align:center;
}
.comingSoon{
  display:flex;
  justify-content:center;
  align-items:center;
  opacity:0.3;
  padding:15px;
  border-radius:20px;
  max-width:760px;
  min-height:120px;
  background-color:#fff;
  font-size:2rem;
  font-weight:700;
  text-align:center;
  margin-inline:auto;
}

.flow-list{
  display:grid;
  max-width:620px;
  margin-inline:auto;
  grid-template-columns:repeat(2, 1fr);
  gap:15px;
}
.flow-item{
  display:flex;
  flex-direction:column;
}
.flow-title{
  word-break:keep-all;
  overflow-wrap:anywhere;
  margin-bottom:0.75em;
  font-size:1.6rem;
  font-weight:700;
  line-height:1.5;
  text-align:center;
}
.flow-pic{
  display:inline-block;
  margin-top:auto;
  text-align:center;
}
.flow-img{
  width:100%;
  max-width:200px;
}
.flow-notes{
  display:flex;
  margin-top:1em;
  width:-moz-fit-content;
  width:fit-content;
  font-size:1.4rem;
  margin-inline:auto;
  gap:0.5em;
}
.flow-notesIcon{
  flex-shrink:0;
  align-self:start;
  position:relative;
  top:0.2em;
}
.imgLink{
  display:inline-block;
  vertical-align:bottom;
}
.imgLink-round{
  overflow:hidden;
  border-radius:10px;
}
.list-ul, .list-ol, .list-notes{
  margin-top:1em;
}
.list-ul .list-ul,
.list-ul .list-ol, .list-ol .list-ul,
.list-ol .list-ol, .list-notes .list-ul,
.list-notes .list-ol{
  margin-top:0.5em;
}
.list-notes > li{
  padding-left:1em;
}
.list-notes > li::before{
  content:"※";
  left:0;
}

@keyframes spinner{
  to{
    transform:rotate(360deg);
  }
}
.loading{
  position:relative;
}
.loading::before{
  content:"";
  display:block;
  position:absolute;
  top:calc(50% - 2rem);
  left:calc(50% - 2rem);
  z-index:6;
  border:0.35rem solid #f50c46;
  border-bottom-color:rgba(245, 12, 70, 0.2);
  border-radius:50%;
  width:4rem;
  height:4rem;
  animation:spinner 1s linear infinite;
}
.loading-static{
  min-height:6rem;
}
.loading-overlay{
  position:fixed;
  top:0;
  left:0;
  z-index:20000;
  width:100%;
  height:100%;
  background-color:rgba(255, 255, 255, 0.4);
}
.mediaList-item{
  width:100%;
  max-width:360px;
  margin-inline:auto;
}
.mediaList-item:not(:first-child){
  margin-top:30px;
}
.mediaList-link{
  display:block;
  position:relative;
  border-radius:20px;
  text-decoration:none;
  text-align:center;
}
.mediaList-link::after{
  content:"\f142";
  font-family:"Material Design Icons";
  font-weight:normal;
  line-height:1;
  text-rendering:auto;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  position:absolute;
  right:-10px;
  bottom:-10px;
  border-radius:50%;
  width:32px;
  height:32px;
  font-size:2.4rem;
  transition:box-shadow 0.3s;
  box-shadow:0 3px 6px rgba(245, 12, 70, 0.3);
}
.mediaList-link::before{
  content:"";
  display:block;
  position:absolute;
  left:0;
  bottom:-5px;
  z-index:-1;
  border-radius:inherit;
  width:100%;
  height:100%;
  background-image:linear-gradient(to right, #f50c46 0%, #ff4050 50%, #ff9180 100%);
  filter:blur(10px);
  opacity:0;
}
.mediaList-inner{
  border-radius:inherit;
  background-color:#fff;
  padding:20px;
}
.mediaList-logo{
  width:auto;
  height:50px;
  -o-object-fit:contain;
     object-fit:contain;
}
.mediaList-logo[src$="logo-nhk.svg"]{
  transform:scale(0.8);
}
.mediaList-text{
  margin-top:1em;
  font-size:1.4rem;
  color:#969fb1;
  line-height:1.2;
}

.meritList{
  display:flex;
  flex-direction:column;
  width:-moz-fit-content;
  width:fit-content;
  gap:20px;
  margin-inline:auto;
}
.meritList-item{
  margin-top:60px;
  padding:20px;
  border-radius:20px;
  background-color:#fff;
}
.meritList-imgWrapper{
  overflow:hidden;
  box-shadow:0 0 0 5px rgba(255, 128, 219, 0.3);
  margin:-80px auto 20px;
  border-radius:50%;
  width:120px;
  text-align:center;
}
.meritList-img{
  width:100%;
}
.meritList-title{
  margin-bottom:0.5em;
  color:#283a73;
  font-weight:700;
  line-height:1.5;
  font-size:2rem;
  text-align:center;
}

.messageList-col1{
  max-width:760px;
  margin-inline:auto;
}
.messageList-item:not(:first-child){
  margin-top:40px;
}
.messageList-header{
  display:grid;
  align-items:center;
  margin-bottom:20px;
  grid-template-columns:100px 1fr;
  gap:15px;
}
.messageList-imgWrapper{
  overflow:hidden;
  box-shadow:0 0 0 5px rgba(255, 128, 219, 0.3);
  border-radius:50%;
  width:100px;
  height:100px;
}
.messageList-img{
  width:100%;
}
.messageList-info{
  line-height:1.5;
}
.messageList-title{
  margin-bottom:0.5em;
  color:#283a73;
  font-weight:700;
  line-height:1.5;
  font-size:2.6rem;
}
.messageList-affiliation{
  margin-bottom:0.25em;
  font-size:1.4rem;
}
.messageList-name{
  font-size:1.6rem;
}
.movie{
  position:relative;
  overflow:hidden;
  padding-top:56.25%;
  border-radius:10px;
  width:100%;
}
.movie iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

.stepList{
  counter-reset:step-list;
  width:-moz-fit-content;
  width:fit-content;
  margin-inline:auto;
}
.stepList-item{
  position:relative;
  padding:25px 15px 15px 15px;
  border-radius:10px;
  background-color:#fff;
}
.stepList-item:not(:first-child){
  margin-top:40px;
}
.stepList-item:not(:last-child)::after{
  content:"";
  display:block;
  position:absolute;
  bottom:-20px;
  left:calc(50% - 20px);
  width:40px;
  height:20px;
  background-color:inherit;
  clip-path:polygon(0 0, 100% 0%, 50% 100%);
}
.stepList-item::before{
  content:"0" counter(step-list);
  counter-increment:step-list;
  position:absolute;
  top:-0.5em;
  left:0;
  width:100%;
  font-family:"Lato", sans-serif;
  font-size:2.8rem;
  font-weight:900;
  color:#ff4050;
  line-height:1;
  letter-spacing:0.04em;
  text-align:center;
}
.stepList-title{
  margin-bottom:0.5em;
  font-size:2rem;
  font-weight:700;
  line-height:1.5;
  text-align:center;
}
.only-over-xs{
  display:none;
}
.only-over-sm{
  display:none;
}
.only-over-md{
  display:none;
}
.only-over-lg{
  display:none;
}
.only-over-xl{
  display:none;
}
.only-over-inline-xs{
  display:none;
}
.only-over-inline-sm{
  display:none;
}
.only-over-inline-md{
  display:none;
}
.only-over-inline-lg{
  display:none;
}
.only-over-inline-xl{
  display:none;
}

.font-regular{
  font-weight:400;
}
strong, .font-bold{
  font-weight:700;
}

.mt-0{
  margin-top:0 !important;
}
* + .mt-sm{
  margin-top:30px !important;
}
* + .mt-md{
  margin-top:40px !important;
}
* + .mt-lg{
  margin-top:60px !important;
}

.mb-0{
  margin-bottom:0 !important;
}
.mb-sm{
  margin-bottom:30px !important;
}
.mb-md{
  margin-bottom:40px !important;
}
.mb-lg{
  margin-bottom:60px !important;
}

.text-center{
  text-align:center !important;
}
.text-right{
  text-align:right !important;
}
.text-left{
  text-align:left !important;
}
.text-notice{
  color:#f50c46;
}
.text-muted{
  color:#969fb1;
}
small, .text-sm{
  font-size:0.875em;
}

.text-md{
  font-size:1.4rem;
}
.text-lg{
  font-size:1.25em;
}
.text-nowrap{
  white-space:nowrap;
}
@media (min-width: 321px){
  .only-under-xs{
    display:none;
  }
  .only-over-xs{
    display:block;
  }
  .only-over-inline-xs{
    display:inline;
  }}
@media (min-width: 520px){
  .circleList{
    flex-direction:row;
    flex-wrap:wrap;
    gap:0 20px;
  }}
@media (min-width: 576px){
  body::after{
    content:"sm";
  }
  .footer-address br{
    display:none;
  }
  .mv-imgWrapper{
    margin-top:-10px;
  }
  .btnRow-footer{
    flex-direction:row-reverse;
  }
  .only-under-sm{
    display:none;
  }
  .only-over-sm{
    display:block;
  }
  .only-over-inline-sm{
    display:inline;
  }}
@media (min-width: 768px){
  body{
    background-image:url(/images/common/bg-main-gradient-pc.jpg);
  }
  body.page-home-index::before{
    padding-top:69.4%;
    background-position:center bottom;
    background-size:cover;
  }
  body::after{
    content:"md";
  }
  input[type=checkbox] + label::before, input[type=checkbox] + label::after, input[type=radio] + label::before, input[type=radio] + label::after{
    top:3px;
  }
  input[type=radio] + label::after{
    top:7px;
  }
  .contactList{
    display:flex;
    gap:40px;
  }
  .contactList-item{
    width:calc(50% - 20px);
    height:165px;
  }
  .contactList-item:not(:first-child){
    margin-top:0;
  }
  .contactList-telInner{
    padding:25px;
  }
  .contactList-formInner{
    padding:25px;
    font-size:2.4rem;
  }
  .fixedBg{
    background-image:url(/images/common/bg-main-gradient-pc.jpg);
  }
  .footer{
    padding:40px 0;
  }
  .footer-info{
    display:flex;
    justify-content:space-between;
  }
  .footer-infoHeader{
    text-align:left;
  }
  .footer-company{
    justify-content:flex-start;
  }
  .footer-infoBody{
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    margin-top:0;
    text-align:right;
  }
  .footer-relation{
    margin-bottom:1em;
  }
  .footer-copyright{
    margin-top:auto;
  }
  .globalInner{
    padding:0 40px;
  }
  .globalInner-sm{
    margin:0 auto;
    max-width:1040px;
  }
  .header{
    padding:20px;
    height:100px;
    gap:20px;
  }
  .header-logo{
    padding:0;
  }
  .header-contactInner{
    padding:0.85em 2.5em;
    min-height:60px;
    font-size:1.8rem;
  }
  .header-contact{
    min-width:240px;
  }
  .header-contact::after{
    font-size:2.4rem;
  }
  .mv{
    padding-top:40px;
  }
  .mv-imgWrapper{
    left:8vw;
    margin-top:-20px;
  }
  .sectionTop{
    margin-top:80px;
  }
  body:not(:has(.sectionTop-contact)) .sectionTop:last-child{
    padding-bottom:80px;
  }
  .sectionTop-titleEn{
    font-size:8rem;
  }
  .sectionTop-title{
    font-size:3.2rem;
  }
  .sectionTop-text{
    margin-bottom:40px;
    width:auto;
    text-align:center;
    margin-inline:0;
  }
  .sectionTop-about .sectionTop-text br, .sectionTop-experience .sectionTop-text br{
    display:inline;
  }
  .sectionTop-about .sectionTop-movie{
    margin-top:120px;
  }
  .sectionTop-box{
    padding:60px 40px 0;
    max-width:calc(100% - 80px);
    margin-inline:auto;
  }
  .sectionTop-aboutImgGroup{
    position:static;
    margin-top:0;
  }
  .sectionTop-aboutImgWrapper{
    position:absolute;
  }
  .sectionTop-aboutImgWrapper-01{
    top:70px;
    left:calc(50% - 570px);
    width:390px;
    height:390px;
  }
  .sectionTop-aboutImgWrapper-02{
    top:200px;
    right:calc(50% - 460px);
    width:312px;
    height:312px;
  }
  .sectionTop-aboutImgWrapper-03{
    top:80px;
    right:calc(50% - 485px);
    width:247px;
    height:247px;
  }
  .sectionTop-message:has(.messageList-col2) .sectionTop-header{
    position:absolute;
    top:-1.25em;
    right:40px;
  }
  .sectionTop-vision .sectionTop-titleEn{
    left:-0.35em;
    width:auto;
    text-align:left;
  }
  * + .sectionTop-visionBanner{
    margin-top:40px;
  }
  * + .sectionTop-visionImgWrapper{
    margin-top:40px;
  }
  .sectionTop-contact{
    padding-bottom:80px;
  }
  .btn-inner{
    min-height:62px;
  }
  * + .btn{
    margin-top:40px;
  }
  .btn{
    font-size:1.8rem;
  }
  * + .btnRow{
    margin-top:40px;
  }
  * + .btnRow-footer{
    margin-top:60px;
  }
  .circleList{
    gap:0 40px;
  }
  .circleList-item{
    width:260px;
    height:260px;
    font-size:1.8rem;
  }
  .comingSoon{
    padding:30px;
    font-size:2.4rem;
  }
  .flow-list{
    display:block;
    max-width:none;
    margin-inline:0;
  }
  .flow-item{
    display:block;
  }
  .flow-item:not(:first-child){
    margin-top:40px;
  }
  .flow-title{
    font-size:2.4rem;
  }
  .flow-pic{
    margin-top:0;
  }
  .flow-img{
    width:auto;
    max-width:100%;
  }
  .flow-notes{
    justify-content:center;
  }
  .mediaList{
    display:flex;
    justify-content:center;
    gap:40px;
  }
  .mediaList-item{
    margin-inline:0;
  }
  .mediaList-item:not(:first-child){
    margin-top:0;
  }
  .mediaList-link::after{
    right:-15px;
    bottom:-15px;
    width:44px;
    height:44px;
  }
  .meritList{
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:center;
    width:auto;
    margin-inline:0;
    gap:40px;
  }
  .meritList-item{
    margin-top:70px;
    padding:30px;
    width:calc((100% - 40px) / 2);
    max-width:360px;
  }
  .meritList-imgWrapper{
    margin-top:-100px;
    width:140px;
  }
  .meritList-title{
    font-size:2.4rem;
  }
  .messageList-col2{
    display:flex;
    gap:40px;
  }
  .messageList-item:not(:first-child){
    margin-top:0;
  }
  .messageList-col2 .messageList-item:not(:first-child){
    margin-top:100px;
  }
  .messageList-header{
    margin-bottom:30px;
    gap:30px;
    grid-template-columns:180px 1fr;
  }
  .messageList-imgWrapper{
    width:180px;
    height:180px;
  }
  .messageList-title{
    font-size:3.2rem;
  }
  .messageList-col1 .messageList-title br{
    display:none;
  }
  .messageList-affiliation{
    font-size:1.6rem;
  }
  .messageList-name{
    font-size:2rem;
  }
  .movie{
    border-radius:20px;
  }
  .stepList{
    display:flex;
    flex-wrap:wrap;
    width:auto;
    margin-inline:0;
    gap:40px;
  }
  .stepList-item{
    padding:30px 20px 20px 20px;
    width:calc((100% - 40px) / 2);
  }
  .stepList-item:not(:first-child){
    margin-top:0;
  }
  .stepList-item:not(:last-child)::after{
    top:calc(50% - 20px);
    right:-20px;
    bottom:auto;
    left:auto;
    width:20px;
    height:40px;
    clip-path:polygon(0 0, 0 100%, 100% 50%);
  }
  .stepList-item::before{
    font-size:3.2rem;
  }
  .only-under-md{
    display:none;
  }
  .only-over-md{
    display:block;
  }
  .only-over-inline-md{
    display:inline;
  }
  .text-md-center{
    text-align:center !important;
  }
  .text-md-right{
    text-align:right !important;
  }
  .text-md-left{
    text-align:left !important;
  }
  .text-md{
    font-size:1.6rem;
  }}
@media (min-width: 992px){
  body::after{
    content:"lg";
  }
  .contactList-lead{
    font-size:2rem;
  }
  .contactList-telNumber{
    font-size:4rem;
    line-height:1.2;
  }
  .contactList-telNumber::before{
    font-size:4rem;
  }
  .contactList-telTime{
    font-size:1.4rem;
  }
  .contactList-formText::before{
    font-size:3.8rem;
  }
  .footer-address{
    display:flex;
    flex-wrap:wrap;
    margin-top:1.5em;
    -moz-column-gap:1em;
         column-gap:1em;
  }
  .globalInner-sm{
    max-width:1040px;
  }
  .mv{
    padding-top:150px;
    min-height:630px;
  }
  .mv-header{
    display:flex;
    align-items:center;
    position:absolute;
    top:0;
    left:0;
    padding:20px;
    height:100px;
  }
  .mv-logo{
    text-align:left;
  }
  .mv-logoImg{
    width:100%;
    height:auto;
  }
  .mv-body{
    text-align:left;
  }
  .mv-inner{
    padding:0 40px;
  }
  .mv-text{
    padding:0;
  }
  .mv-title{
    margin-top:0;
  }
  .mv-titleSub{
    font-size:2.2rem;
  }
  .mv-titleMain{
    font-size:4.6rem;
  }
  .mv-lead{
    font-size:1.8rem;
  }
  .mv-btn{
    margin-top:40px;
  }
  .mv-imgWrapper{
    position:absolute;
    top:-214px;
    left:440px;
    margin-top:0;
    width:1150px;
  }
  .sectionTop{
    margin-top:120px;
  }
  body:not(:has(.sectionTop-contact)) .sectionTop:last-child{
    padding-bottom:120px;
  }
  .sectionTop-about .sectionTop-movie{
    margin-top:180px;
  }
  .sectionTop-box{
    padding:60px;
  }
  .sectionTop-vision .sectionTop-box{
    padding-bottom:160px;
  }
  .sectionTop-visionBanner{
    width:calc(100% - 380px);
  }
  .sectionTop-visionImgWrapper{
    position:absolute;
    right:20px;
    bottom:0;
    max-width:400px;
  }
  .sectionTop-contact{
    padding-bottom:120px;
  }
  .stepList{
    flex-wrap:nowrap;
  }
  .stepList-item{
    width:calc((100% - 120px) / 4);
  }
  .only-under-lg{
    display:none;
  }
  .only-over-lg{
    display:block;
  }
  .only-over-inline-lg{
    display:inline;
  }
  * + .mt-sm{
    margin-top:40px !important;
  }
  * + .mt-md{
    margin-top:60px !important;
  }
  * + .mt-lg{
    margin-top:100px !important;
  }
  .mb-sm{
    margin-bottom:40px !important;
  }
  .mb-md{
    margin-bottom:60px !important;
  }
  .mb-lg{
    margin-bottom:100px !important;
  }}
@media (min-width: 1200px){
  body.page-home-index::before{
    padding-top:0;
    height:1000px;
  }
  body::after{
    content:"xl";
  }
  .globalInner{
    margin:0 auto;
    padding:0 60px;
    max-width:1280px;
  }
  .globalInner-sm{
    max-width:1080px;
  }
  .mv-inner{
    margin:0 auto;
    padding:0 60px;
    max-width:1280px;
  }
  .mv-imgWrapper{
    left:480px;
  }
  .sectionTop-text-visionAfter{
    width:calc(100% - 501px);
  }
  .sectionTop-box{
    width:calc(100% - 120px);
    max-width:1160px;
  }
  .sectionTop-aboutImgWrapper-01{
    top:-100px;
    left:calc(50% - 820px);
    width:600px;
    height:600px;
  }
  .sectionTop-aboutImgWrapper-02{
    top:90px;
    right:calc(50% - 680px);
    width:480px;
    height:480px;
  }
  .sectionTop-aboutImgWrapper-03{
    top:-90px;
    right:calc(50% - 750px);
    width:380px;
    height:380px;
  }
  .sectionTop-message:has(.messageList-col2) .sectionTop-header{
    right:60px;
  }
  .sectionTop-vision .sectionTop-box{
    padding-bottom:60px;
  }
  .sectionTop-visionBanner{
    width:calc(100% - 501px);
  }
  .sectionTop-visionImgWrapper{
    max-width:521px;
  }
  .meritList-item{
    width:calc((100% - 80px) / 3);
  }
  .only-under-xl{
    display:none;
  }
  .only-over-xl{
    display:block;
  }
  .only-over-inline-xl{
    display:inline;
  }}
@media (any-hover: hover){
  a:hover, a:focus, a:active{
    text-decoration:none;
  }
  a[href^="tel:"]{
    pointer-events:none;
  }
  .contactList-form{
    transition:all 0.3s ease-out;
  }
  .contactList-form::before{
    will-change:transform, filter;
    transform-style:preserve-3d;
    transition:all 0.3s ease-out;
  }
  .contactList-form:hover, .contactList-form:focus{
    transform:scale(1.03);
  }
  .contactList-form:hover::before, .contactList-form:focus::before{
    bottom:-20px;
    opacity:0.5;
    transform:scale(0.9);
  }
  .footer a:hover, .footer a:focus{
    text-decoration:none;
  }
  .footer-companyLink{
    transition:opacity 0.3s;
  }
  .footer-companyLink:hover, .footer-companyLink:focus{
    opacity:0.7;
  }
  .footer-relationLink{
    transition:opacity 0.3s;
  }
  .footer-relationLink:hover, .footer-relationLink:focus{
    opacity:0.7;
  }
  .header-logoLink{
    transition:opacity 0.3s;
  }
  .header-logoLink:hover, .header-logoLink:focus{
    opacity:0.7;
  }
  .header-contact{
    transition:all 0.3s ease-out;
  }
  .header-contact::before{
    will-change:transform, filter;
    transform-style:preserve-3d;
    transition:all 0.3s ease-out;
  }
  .header-contact:hover, .header-contact:focus{
    transform:scale(1.03);
  }
  .header-contact:hover::before, .header-contact:focus::before{
    bottom:-10px;
    opacity:0.5;
    transform:scale(0.9);
  }
  .mv-logoLink{
    transition:opacity 0.3s;
  }
  .mv-logoLink:hover, .mv-logoLink:focus{
    opacity:0.7;
  }
  .btn-primary{
    transition:all 0.3s ease-out;
  }
  .btn-primary::before{
    will-change:transform, filter;
    transform-style:preserve-3d;
    transition:all 0.3s ease-out;
  }
  .btn-primary:hover, .btn-primary:focus{
    transform:scale(1.03);
  }
  .btn-primary:hover::before, .btn-primary:focus::before{
    bottom:-10px;
    opacity:0.5;
    transform:scale(0.9);
  }
  .imgLink{
    transition:opacity 0.3s;
  }
  .imgLink:hover, .imgLink:focus{
    opacity:0.7;
  }
  .mediaList-link:hover::after, .mediaList-link:focus::after{
    box-shadow:0 4px 8px rgba(245, 12, 70, 0.5);
  }
  .mediaList-link{
    transition:all 0.3s ease-out;
  }
  .mediaList-link::before{
    will-change:transform, filter;
    transform-style:preserve-3d;
    transition:all 0.3s ease-out;
  }
  .mediaList-link:hover, .mediaList-link:focus{
    transform:scale(1.03);
  }
  .mediaList-link:hover::before, .mediaList-link:focus::before{
    bottom:-10px;
    transform:scale(0.9);
    opacity:0.25;
  }}