/*====== sp css ======*/
@media (max-width: 768px) {

/*====== initial setting ======*/
  .pc{display: none !important;}
  .sp{display: block;}
  .sp-inline{display: inline-block; margin-right: 1em;}
  .pc-display {display: none !important; }
  .sp-display {display: block;}
  img { width: 100%; }

/*=== ヘッダー nav-top スタイル調整 ===*/
  .toggle_line-top.active, .toggle_line-bottom.active { background-color: #000; }
  .search .dd-content { background-color: #FFFFFFE6; }
  .global-nav-sp-body-wrap { background-color: #FFF; }
  .global-nav-sp-body .accordion.active > a { color: #000; opacity: 1; }
  .global-nav-sitenav-sp { border-top: 1px solid #CCC; }
  .global-nav-sitenav-sp li a, .global-nav-sitenav-sp li a:link, .global-nav-sitenav-sp li a:visited { color: #808080; border-bottom: solid 1px #CCC; }
  .global-nav-sitenav-sp li a:active, .global-nav-sub-sp li a:active { color: #000; opacity: 1; }
  .global-nav-sitenav-sp .accordion.active::after { color: #000; }
  .language li a, .language li a:link, .language li a:visited { color: #000; }
  .global-nav-sp-body .accordion-menu-list { background: #FFF }
  .global-nav-sp-body .accordion-list-title { color: #000; }
  .global-nav-sp-body .accordion-list-btn {	border-color: #8D8D8D; color: #8D8D8D; }
  .accordion-menu-list ul li:nth-child(2) { border-top: 1px solid #CCC; }
  
/*====== main contents ======*/
  .headding-Lv1 {
    margin: 25px auto;
    font-size: min(calc(80 / 375 * 100 * 1vw), calc(80px * 1.5));
  }

  .headding-Lv1 img {
    width: 88vw;
    max-width: 100%;
  }
  .headding-design {
    width: 26.4vw;
  }

  /*.headding-number {
    left: 74px;
  }*/
  
  .headding-number img {
    width: auto;
    max-height: 13.5vw;
  }


  .main_visual .slick-slide {
    padding-bottom: calc(177.8 * 1vw);
  }
  .slider-product {
    padding-left: 0;
  }

  .slider-product .slick-slide {
    padding-bottom: 0;
  }

  .slider_dots.slider_product_dots {
    margin-top: 10px;
    top: 0;
  }

  .slider_design_dots{
    margin-bottom: 20px;
  }

  .local-nav {
    display: none;
  }

  .local-nav__item{
    position: relative;
    border-bottom: 1px solid #fff;
  }

  .local-nav__item:first-of-type{
    border-top: 1px solid #fff;
  }
  
  .local-nav__item .local-nav__link{
    display: block;
    font-size: min(calc(16 / 375 * 100 * 1vw), calc(16px * 1.2));
    padding: min(calc(15 / 375 * 100 * 1vw), calc(15px * 1.2));
    padding-left: 0;
    letter-spacing: 0.03em;
  }

  .local-nav__item .small{
    font-size: min(calc(10 / 375 * 100 * 1vw), calc(10px));
  }

.local-nav__item::before {
  content: '';
  position: absolute;
  top: 50%;
  right: -5px;
  transform: translateY(-50%);
  width: 16px;
  height: 16px;
  background: url('/fmv/uh_student/2501/images/local-nav-icon-img-01.svg') no-repeat 0 0;
  background-size: contain;
}

  .hamburger {
    display: flex;
  }
  
  .read-text__block {
    padding: 166px 0;
  }
  .read-text {
    margin-bottom: min(calc(22 * 1vw), 140px);
    font-size: min(3.75 * 1vw, 20px);
    line-height: 3.2;
  }

  .main_contents {
    width: 100%;
  }

  .main_visual .slick-slide {
    height: calc(48.55 * 1vw);
  }

  .main_visual .main_visual_title {
    margin: calc(40 / 375 * 100 * 1vw) auto;
    font-size: min(calc(80 / 375 * 100 * 1vw), calc(80px * 1.5));
  }

  /*.slider_dots.slider_product_dots {
    z-index: 300;
  }*/

  .product-text_block {
    padding: 0 4%;
    bottom: 3.4%;
  }

  .product-text_title {
    font-size: min(calc(18 / 375* 100* 1vw), 26px);
  }

  .product-text_paragraph {
    font-size: min(calc(14 / 375* 100* 1vw), 22px);
  }

  .purchase-btn{
    display: flex;
    z-index: 300;
    width: 100%;
    margin-left: 2rem;
    padding-right: 9rem;
  }

  .purchase-btn > a{
    display: block;
    width: 100%;
  }

  .purchase-btn > *{
    padding: 14px;
  }

  .purchase-btn--fixed {
    padding-right: 7rem;
    transition: opacity 0.3s linear;
  }

  .hamburger{
    position: relative;
    width: 50px;
    height: 50px;
    min-width: 50px;
    margin-right: 15px;
    border-radius: 50%;
  }

  .hamburger .hamburger__line {
    height: 3px;
    position: absolute;
    right: 0;
    left: 0;
    top: 0;
    margin: auto;
    width: 45%;
    z-index: 99;
    transition: transform 0.3s;
}

.hamburger .hamburger__line.line-top{top: 16px;}
.hamburger .hamburger__line.line-center{top: 24px;}
.hamburger .hamburger__line.line-bottom{top: 32px;}

.hamburger.is-open .hamburger__line{top:0;bottom:0;}
.hamburger.is-open .hamburger__line.line-top{transform: rotate(45deg);}
.hamburger.is-open .hamburger__line.line-center{display: none;}
.hamburger.is-open .hamburger__line.line-bottom{transform: rotate(-45deg);}

.hamburger.js-hamburger01.is-open,
.hamburger.js-hamburger02.is-open,
.hamburger.is-open + a{visibility: hidden; opacity: 0;}

.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.7);
  z-index: 300;
  display: none;
}

.overlay.is-visible {
  display: block;
}

  .nav-menu {
    position: fixed;
    left: 0;
    bottom: 2rem;
    width: calc(340 / 375* 100* 1vw);
    background-color: #9E9E9E;
    z-index: 350;
    transform: translateX(-100%);
    transition: transform 0.5s ease;
    padding: 25px 20px 20px 20px;
  }

  .nav-menu.is-open {
    transform: translateX(0);
    box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 20px;
  }
  
  .nav-menu .nav-menu__inner{
    position: relative;
  }

  .nav-menu__item {
    margin: 20px 0;
  }

  .nav-menu__link {
    color: white;
    text-decoration: none;
  }

  .nav-menu .hamburger.is-open{
    background: #505050;
    border: 0;
  }

  .nav-menu .nav-menu__title{
    margin-bottom: min(calc(35 / 375 * 100 * 1vw), calc(35px));
  }

  .nav-menu .nav-menu__title img{
    width: min(calc(134 / 375 * 100 * 1vw), calc(134px * 1.2));
  }

  .nav-menu ul{
    margin-bottom: min(calc(71 / 375 * 100 * 1vw), calc(71px));
  }
  
  .md-text-align--center {
    text-align: center;
  }

  .sns-icon__box{
    margin-bottom: 1vw;
    position: absolute;
    left: 0;
    right: 0;
    bottom: 5px;
    margin: 0 auto;
  }

  .sns-icon__title {
    font-size: min(calc(14 / 375 * 100 * 1vw), calc(14px * 1.2));
    margin:0 0 min(calc(14 / 375 * 100 * 1vw), calc(14px * 1.2)) 0;
    color: #fff;
  }
  
  .sns-icon__list {
    display: flex;
    justify-content: center;
    gap: min(calc(20 / 375 * 100 * 1vw), calc(20px * 1.2));
  }
  
  .sns-icon__item {
    display: inline-block;
  }
  
  .sns-icon__image {
    width: 35px;
    height: 35px;
  }
  

  .slider_design {
    margin: 0 auto calc(50 / 375 * 100 * 1vw);
  }

  .slider_design .slick-slide img {
    width: 75%;
  }

  .slider_dots .slick-dots {
    width: calc(158 / 375 * 100 * 1vw);
  }

  .dot_nav{
    margin-bottom: 30px;
  }

  .dot_nav .dot_nav_item {
    width: 30px;
    height: 30px;
  }

  .dot_nav_item_color_title{
    font-size: 14px;
  }

  .dot_nav_item_color{
    align-items: center;
    font-size: min(calc(16 / 375 * 100 * 1vw), calc(16px * 1.5));
  }

  .dot_nav .slick-track {
    width: calc(158 / 375 * 100 * 1vw) !important;
  }

  .text_slider_animate a {
    font-size: min(calc(26 / 375 * 100 * 1vw), calc(26px * 1.5));
  }

  .text_slider_animate a span {
    top: 0;
    left: 0;
  }
  
  .md-radius--left{
    border-radius: 20px 0 0 20px;
    overflow: hidden;
  }

  .md-radius--right{
    border-radius: 0 30px 30px 0;
    overflow: hidden;
  }

  .md-radius--bottom{
    border-radius: 0 0 20px 20px;
    overflow: hidden;
  }

  .md-shadow--black{
    box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 20px;
  }
  

  .f_card-flex {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
  }
  
  .feature-2 .container {
    margin: 15px auto 70px;
  }
  
  .feature-3 h2, .feature-4 h2, .feature-5 h2 {
    width: 72vw;
  }

  .feature-4 .container {
    padding: 24% 3% 0;
    line-height: 1.7;
  }
  .feature-4 .f_card-wrap {
    margin-bottom: 30px;
  }
  .feature-4 .f_card-wrap:last-child {
    margin-bottom: 0;
  }
  .feature-4 .f_card-wide {
    padding: 6.4% 6.4% 7%;
  }
  .feature-4 .f_card-wide .movie {
    width: 100%;
  }
  .feature-4 .f_card-wide .f_card-text {
    width: 100%;
  }
  .feature-4 .f_card-wide .f_card-text .f_card-text__lead {
    padding-top: 7%;
    font-size: 16px;
    font-weight: 600;
  }
  .feature-4 .f_card-wide .f_card-text h3 {
    padding-top: 2.8%;
    font-size: 26px;
    font-weight: bold;
  }
  .feature-4 .f_card-wide .f_card-text .f_card-text__text {
    padding-top: 6%;
    font-size: 14px;
    font-weight: 500;
  }

  .feature-5 .container {
    padding: 22.7% 3% 10px;
    line-height: 1.3;
  }
  .feature-5 .f_card-2column-sp {
    display: flex;
    justify-content: space-between;
  }
  .feature-5 .f_card h3 {
    font-size: min(calc(16 / 375* 100* 1vw), calc(16px* 1.5));
    font-weight: 600;
  }
  .feature-5 .f_card-2column-02 {
    display: flex;
    flex-direction: column;
    gap: 0;
  }
  .feature-5 .f_card-row-01 .f_card-left {
    padding-top: 4%;
  }
  .feature-5 .f_card-row-01 .f_card-left h3 {
    padding-bottom: 0;
    font-size: min(calc(18 / 375* 100* 1vw), calc(18px* 1.5));
  }
  .feature-5 .f_card-row-01 .f_card-right {
    padding: 26px 3.2% 20px;
  }
  .feature-5 .f_card-row-01 .f_card-right h3 {
    padding-bottom: 18px;
  }
  .feature-5 .f_card-row-01 .f_card-right p {
    font-size: min(calc(16 / 375* 100* 1vw), calc(16px* 1.5));
  }
  .feature-5 .f_card-row-01 .f_card-right p span.small {
    margin-right: 9px;
    font-size: min(calc(14 / 375* 100* 1vw), calc(14px* 1.5));
  }
  .feature-5 .f_card-row-01 .f_card-right p span.large {
    font-size: min(calc(26 / 375* 100* 1vw), calc(26px* 1.5));
  }
  .feature-5 .f_card-row-01 .f_card-right img {
    max-width: 250px;
  }
  
  .feature-5 .f_card-2column .f_card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: 8.2% 6.5%;
    min-height: 150px;
  }
  .feature-5 .f_card-2column .f_card p {
    margin: auto;
  }
  .feature-5 .f_card-row-02 .f_card-left p {
    position: relative;
    font-size: min(calc(24 / 375* 100* 1vw), calc(24px* 1.5));
    font-weight: 400;
  }
  .feature-5 .f_card-row-02 .f_card-left span.xs {
    font-size: min(calc(13 / 375* 100* 1vw), calc(13px* 1.5));
  }
  .feature-5 .f_card-row-02 .f_card-left span.large {
    font-size: min(calc(40 / 375* 100* 1vw), calc(40px* 1.5));
    font-weight: bold;
  }
  .feature-5 .f_card-row-02 .f_card-right p {
    position: relative;
    font-size: min(calc(16 / 375* 100* 1vw), calc(16px* 1.5));
    font-weight: bold;
  }
  .feature-5 .f_card-row-02 .f_card-right span.large {
    font-size: min(calc(28 / 375* 100* 1vw), calc(28px* 1.5));
    font-weight: bold;
  }
  .feature-5 .f_card-row-03 .f_card-left {
    flex-direction: column-reverse;
    padding: 0 0 6.5%;
  }
	.feature-5 .f_card-row-03 .f_card-right .f_text-2column {
  display: block;
  padding: 0;
}
	.feature-5 .f_card-row-03 .f_card-right .f_text-2column p .size__text--value {
  font-size: min(calc(30 / 375* 100* 1vw), calc(30px* 1.5));
}
  .feature-5 .f_card-row-03 .f_card-right span.large {
    font-size: min(calc(28 / 375* 100* 1vw), calc(28px* 1.5));
    font-weight: bold;
  }
  .feature-5 .f_card-row-03 .f_card-left img {
    margin: auto;
    padding: 2.6% 0;
  }
  .feature-5 .f_card-wide {
    padding: 4% 9px 35px;
  }
  .feature-5 .f_card-wide h3 {
    padding-bottom: 13px;
    font-size: min(calc(18 / 375* 100* 1vw), calc(18px* 1.5));
  }
  .feature-5 .f_card-wide .tab-list {
    display: flex;
    justify-content: center;
  }
  .feature-5 .f_card-wide .tab-list li {
    margin-bottom: 33px;
    margin-right: 2%;
  }
  .feature-5 .f_card-wide .tab-list li:last-child {
    margin-right: 0;
  }
  .feature-5 .f_card-wide .tab-btn {
    max-width: 105px;
    width: 28.5vw;
    height: 30px;
    margin: 0 auto;
    font-size: min(calc(14 / 375* 100* 1vw), 14px);
    font-weight: 600;
    cursor: pointer;
  }
  .feature-5 .f_card-wide .tab-list .active .tab-btn {
    border: 1px solid #fff;
    color: #1E1E1E;
    background-color: #fff;
  }
  .feature-5 .f_card-wide table {
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
  }
  .feature-5 .f_card-wide .label {
    width: auto;
    min-width: 82px;
    padding: 6px 20px 6px 6px;
    font-size: min(calc(14 / 375* 100* 1vw), 14px);
    font-weight: 400;
    text-align: right;
  }
  .feature-5 .f_card-wide table td {
    padding: 6px;
    font-size: 28px;
    font-weight: 600;
    text-align: left;
  }
  .feature-5 .f_card-wide table td span.small {
    font-size: 18px;
  }

  .feature-6 .container {
    padding: 74px 3% 0;
    line-height: 1.5;
  }
  .feature-6 .viewer_text p:first-child {
    margin-bottom: 10px;
    font-size: 30px;
  }
  .feature-6 .accessory {
    margin: 94px 0 24px;
  }
  .feature-6 .accessory_text p:first-child {
    margin-bottom: 12px;
    font-size: 14px;
  }
  .feature-6 .accessory_text p span.large {
    font-size: 30px;
  }
  .feature-6 .viewer_btn, .feature-6 .accessory_btn {
    width: 140px;
    height: 30px;
    font-size: 14px;
  }
  
  .support .container {
    padding: 50px 3% 0;
    line-height: 1.8;
  }
  .support h2 {
    text-align: center;
  }
  .support h2 img {
    width: 66%;
    max-width: 400px;
  }
  .support ul {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 40px auto 0;
    gap: 20px;
  }
  .support li {
    width: 100%;
    max-width: 320px;
  }
  
  .notes .container {
    padding: 60px 5% 0;
  }
  
	.f_card sup.small-sup02 {
  font-size: 10px;
}

  /* --------- background --------- */
  .md-bg-img01.md-bg-img--full::before {
    background: url(/fmv/uh_student/2501/images/bg_img_01-sp.png) no-repeat center top;
    box-shadow: none;
  }

  .md-bg-img02.md-bg-img--full::before{
    background: url(/fmv/uh_student/2501/images/bg_img_02-sp.png) no-repeat center top;
    top: -365px;
  }

  .md-bg-img03.md-bg-img--full::before{
    background: url(/fmv/uh_student/2501/images/bg_img_03-sp.png) no-repeat center top;
    top: -20px;
  }

  .md-bg-img04.md-bg-img--full::before{
    background: url(/fmv/uh_student/2501/images/bg_img_04-sp.png) no-repeat center bottom;
    box-shadow: none;
  }
  
  .md-bg-img05.md-bg-img--full::before{
    background: url(/fmv/uh_student/2501/images/bg_img_05-sp.png) no-repeat center bottom;
    box-shadow: none;
  }
  
/* ---------[modify style]--------- */
  .flex-ratio-1-sp{flex:1;}

/* ---------slick style--------- */
/* Arrows */
.slick-prev, .slick-next { width: calc(30 / 375 * 100 * 1vw); height: calc(30 / 375 * 100 * 1vw); margin-top: calc(-10 / 375 * 100 * 1vw); padding: 0; font-size: 0; }
.slick-prev:hover, .slick-prev:focus, .slick-next:hover, .slick-next:focus { outline: none; }
.slick-prev:before, .slick-next:before { font-size: calc(13 / 375 * 100 * 1vw); }
.slick-prev { left: calc(13 / 375 * 100 * 1vw); transform: rotate(180deg); }
[dir='rtl'] .slick-prev { right: calc(-25 / 375 * 100 * 1vw); left: auto; }
.slick-next { right: calc(13 / 375 * 100 * 1vw); }
[dir='rtl'] .slick-next { right: auto; left: calc(-25 / 375 * 100 * 1vw); }
.slider-product .slick-prev{display: none !important; left: 5%;}
.slider-product .slick-next{display: none !important; right: 5%;}

/* Dots */
.slick-slider { margin-bottom: 20px; }
.slider_dots .slick-dots { width: 100%; padding: 0; }
.slider_dots .slick-dots li { width: calc(13 / 375 * 100 * 1vw); height: calc(13 / 375 * 100 * 1vw); margin: 0 calc(5 / 375 * 100 * 1vw); }
.slider_dots .slick-dots li button { width: calc(13 / 375 * 100 * 1vw); height: calc(13 / 375 * 100 * 1vw); padding: calc(5 / 375 * 100 * 1vw); font-size: 0; }
.slider_dots .slick-dots li button:before { width: calc(8 / 375 * 100 * 1vw); height: calc(8 / 375 * 100 * 1vw); }
}