@charset "UTF-8";

html{
	font-size: 62.5%;
    -webkit-text-size-adjust: 100%;
    -webkit-tap-highlight-color: transparent;
    font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";
    letter-spacing: .1em;
}

@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 200;
    src: url('./font/NotoSansJP-Light.woff') format('woff');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 400;
    src: url('./font/NotoSansJP-Regular.woff') format('woff');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 700;
    src: url('./font/NotoSansJP-Bold.woff') format('woff');
    font-display: swap;
}
@font-face {
    font-family: 'Noto Sans';
    font-style: normal;
    font-weight: 900;
    src: url('./font/NotoSansJP-Black.woff') format('woff');
    font-display: swap;
}

a{
    transition: .3s;
}
a:hover{
    opacity: .8!important;
}

body{
    margin-left: 100px;
    transition: .3s;
    position: relative;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%
}

.body__inner{
    overflow: hidden!important;
	padding-top: 9.5rem;
    animation: fadeinBody .5s forwards;
}
* {
    -webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
}
img {
    pointer-events: none;
}
input,textarea {
    -webkit-user-select: auto;
	-moz-user-select: auto;
	-ms-user-select: auto;
	user-select: auto;
}
@keyframes fadeinBody {
	0% {opacity: 0}
	100% {opacity: 1}
}

@media screen and (max-width:1100px) {
.body__inner{
	padding-top: 10rem;
}
}
@media screen and (max-width:1100px) {
.body__inner{
	padding-top: 12rem;
}
}
@media screen and (max-width:751px) {
.body__inner{
	padding-top: 11rem;
}
}
@media (orientation: portrait){
@media screen and (max-width:750px) {
.body__inner{
	padding-top: 9rem;
}
}
}
@media screen and (max-width:300px) {
.body__inner{
	padding-top: 11rem;
}
}
.josefin{
    font-family: 'Josefin Sans',sans-serif;
}
.pink-bg{
    background-color: #fff6f5;
}
.only-pc{
    display: block!important;
}
.only-sp{
    display: none!important;
}
.only-tablet{
    display: none!important;
}
.only-pc-1500{
    display: block!important;
}

@media screen and (max-width:1500px) {
    .only-pc-1500{
        display: none!important;
    }
}
@media screen and (min-width:751px) and (max-width:1500px) {
    .only-tablet{
        display: block!important;
    }
}
@media screen and (max-width:1260px) {
    html {font-size: .8vw;}
}

@media only screen and (min-width:751px){
    a[href*="tel:"] {
        pointer-events: none;
        cursor: default;
        text-decoration: none;
    }
    .only-pc-tr {
        display: table-row !important;
    }
    .only-sp-tr {
        display: none !important;
    }
}
@media only screen and (max-width:750px){
    .only-pc-tr {
        display: none !important;
    }
    .only-sp-tr {
        display: block !important;
    }
}
@media (orientation: portrait){
@media only screen and (max-width:750px){
    a:hover{
        opacity: 1!important;
    }
    html {font-size:1.65vw;}

    .only-pc{
        display: none!important;
    }
    .only-sp{
        display: block!important;
    }

}
}
.display-none {
    display: none !important;
}
.display-table {
    display: table-row !important;
}

/*-----------------------------------------------

	js-accordion

-----------------------------------------------*/
.js-accordion-close{
    display: none;
}
@media all and (-ms-high-contrast: none) {
    .js-accordion-close{
        display: block;
    }
}

/*----------------------------------------

  .js-fadein

------------------------------------------*/
.js-fadein-wrap{
    overflow: hidden!important;
    display: block;
	-webkit-backface-visibility:hidden;
    backface-visibility:hidden;
}
.js-fadein.hide {
    transform: translateY(100px);
    display: block;
    z-index: 1;
    position: relative;
}
.js-fadein.line {
    transform: translateX(-100%);
}
.js-fadein.hide.big {
    transform: translateY(150px);
}
.js-fadein.is-show{
  animation-name: scrollFadeIn;
  animation-duration: 1s;
  animation-fill-mode: forwards;
}
.js-fadein.up.is-show{transform: translateY(2rem);}
.js-fadein.down.is-show{transform: translateY(-2rem);}
.js-fadein.left.is-show{transform: translateX(-2rem);}
.js-fadein.right.is-show{transform: translateX(2rem);}
.js-fadein.blur.is-show{
  animation-name: blurTxt;
  animation-duration: 2s;
  animation-iteration-count: 1;
  -webkit-animation-fill-mode: forwards;
}

.delay--00{animation-delay: -0.4s;}
.delay--01{animation-delay: .2s;}
.delay--02{animation-delay: .4s;}
.delay--03{animation-delay: .6s;}
.delay--04{animation-delay: .8s;}
.delay--05{animation-delay: 1s;}
.delay--06{animation-delay: 1.2s;}
.delay--07{animation-delay: 1.4s;}
.delay--08{animation-delay: 1.6s;}
.delay--09{animation-delay: 1.8s;}

@keyframes scrollFadeIn{
  0%{
    opacity: 0;
  }
  100%{
    transform: translate(0);
    opacity: 1;
  }
}
@keyframes blurTxt{
  0%{
    color: transparent;
    opacity: 0;
  }
  100%{
    opacity: 1;
    transform: translate(0);
  }
  100%{
    transform: translate(0);
  }
}


@media screen and (max-width: 750px) {
  .js-fadein.down.is-show,
  .js-fadein.left.is-show,
  .js-fadein.right.is-show{
    transform: translateY(2rem);
  }
  .js-fadein.hide.big {
      transform: translateY(25rem);
  }
  .js-fadein.hide {
      transform: translateY(13rem);
  }
}


/*-----------------------------------------------

	header

-----------------------------------------------*/
#header{
    padding: 2rem 4%;
	position: fixed;/*fixedを設定して固定*/
	z-index: 999;/*最前面へ*/
	top:0;/*位置指定*/
	left:0;/*位置指定*/
	transition: .3s;
	width:100%;
	background-color:rgba(255,255,255,1);
    transition: .3s;
}
.header__flex{
    display: flex;
    flex-shrink: 0;
    align-items: center;
    max-width: 1440px;
    width: 100%;
    margin: auto;
    justify-content: space-between;
    font-weight: bold;
}
#header.scrolled {
    background-color: rgba(255,255,255,.9);
}
.header__flex h1{
    display: flex;
    flex-shrink: 0;
    text-align: center;
    align-items: center;
    font-size: max(12px,1.4rem);
    width: 50%;
}
.header__flex h1 a{
    max-width: 185px;
    width: 48%;
}
.header__flex h1 a:hover{
    color: #264283;
    opacity: 1;
}

.header__flex h1 a img{
    width: 100%;
}
.header__flex h1 span{
    display: block;
    margin: 0 0 0 4rem;
    font-weight: bold;
    color: #444;
    line-height: 1.5em;
}
.header__flex ul#ham-nav{
    display: flex;
    flex-shrink: 0;
    align-items: center;
	width: 50%;
}
.header__flex ul#ham-nav > li{
    margin: 0 auto;
    position: relative;
}
.header__flex ul#ham-nav li a.header__link{
    font-size: max(14px,1.6rem);
    display: block;
    padding: 10px 0;
    border-bottom: 4px solid #eee;
}
.header__flex ul#ham-nav li a.header__link:hover{
    color: #264283;
    border-bottom: 4px solid #264283;
}
.header__flex ul#ham-nav li.header__nav ul{
    opacity: 0;
    visibility: hidden;
    transition: .3s;
    position: absolute;
    top: 100%;
    left: 0;
    width: 20rem;
    box-shadow: 0 0 30px rgba(0,0,0,.05);
}
.header__flex ul#ham-nav li.header__nav ul li a{
    padding: 2rem 2rem 2rem 2em;
    display: block;
    font-size: 14px;
    border-bottom: 2px solid #ddd;
    background-color: #fff;
    position: relative;
}
.header__flex ul#ham-nav li.header__nav ul li a::before{
    content: ">";
    font-weight: bold;
    position: absolute;
    top: 45%;
    left: 1rem;
    transform: translateY(-50%) scale(1,2);
    font-style: .8em;
    color: #264283;
}
.header__flex ul#ham-nav li.header__nav ul li:last-child a{
    border: 0;
}
.header__flex ul#ham-nav li.header__nav ul li a:hover{
    background-color: #264283;
    color: #fff;
}
.header__flex ul#ham-nav li.header__nav:hover ul{
    opacity: 1;
    visibility: visible;
}
.header__br{
    display: none;
}

@media only screen and (max-width:1060px){
    .header__flex ul#ham-nav li.header__nav ul {
        width: 27rem;
    }
}
@media (orientation: portrait){
@media only screen and (max-width:750px){
    .header__flex ul#ham-nav li.header__nav ul li a::before{
        right: 0;
        left: auto;
    }
	.header__flex h1 a {
		max-width: 120px;
		width: 40%;
        white-space: nowrap;
	}

    .header__inner {
        padding: 2rem 4%;
      }
      .header__flex h1 {
        font-size: max(10px,1.0rem);
        width: 80%;
      }
      .header__flex h1 span {
        margin: 0 0 0 2rem;
        }
    .header__btn {
        right: 0;
        top: 36.5rem;
        max-width: 114px;
        width: 16%;
        transition: .3s;
    }
    .header__btn.js-btn {
        top: auto;
        bottom: 4%;
        right: -16%;
    }
    .header__btn.fade-in {
        right: 0;
    }
      #header ul#ham-nav{
          position: fixed;
          top: 0;
          right: -100%;
          background-color: #fff;
          flex-direction: column;
          justify-content: flex-start;
          padding: 8rem 3rem 6rem;
          z-index: 9;
          transition: .3s;
          max-width: 500px;
          width: 80%;
          overflow: auto;
          height: 100vh;
      }
      #header ul#ham-nav.clicked{
          right: 0;
      }
      #header ul#ham-nav > li{
          width: 100%;
      }
      #header ul#ham-nav li a.header__link{
          font-size: max(14px,2rem);
          margin: 1.5rem 0;
          width: 100%;
          border-bottom: 2px solid #264283;
          display: block;
          position: relative;
      }
      #header ul#ham-nav li a.header__link::before{
          content: ">";
          font-weight: bold;
          position: absolute;
          top: 45%;
          right: 0;
          transform: translateY(-50%) scale(1,2);
          font-style: .8em;
          font-weight: normal;
          color: #264283;
      }
      #header ul#ham-nav li:last-child::before{
          color: #fff;
      }

    #ham{
        cursor: pointer;
        z-index: 10;
        width: 30px;
        height: 50px;
        transition: .3s;
        position: fixed;
        right: 4%;
    }
    #ham > span{
        position: relative;
        width: 100%;
        height: 100%;
        display: block;
    }
    #ham span span,
    #ham::before,
    #ham::after{
        content: "";
        width: 30px;
        height: 5px;
        border-bottom:2px solid #fff ;
        background-color: #37679b;
        position: absolute;
        top: 50%;
        left: 0;
        transition: .3s;
    }
    #ham span span{
        width: 22.5px;;
    }
    #ham::before{
        top: 30%;
    }
    #ham::after{
        top: 70%;
        width: 15px;
    }
    #ham.clicked span span{
        opacity: 0;
        transform: rotate(360deg);
    }
    #ham.clicked::before{
        top: 50%;
        transform: rotate(405deg);
        height: 3px;
        border-bottom:0;
    }
    #ham.clicked::after{
        top: 50%;
        width: 30px;
        transform: rotate(495deg);
        height: 3px;
        border-bottom:0;
    }
    #ham-close{
        opacity: 0;
        z-index: 8;
        visibility: hidden;
        background-color: #000;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        visibility: hidden;
        cursor: pointer;
    }
    #ham-close.clicked{
        opacity: .5;
        visibility: visible;
    }

    .header__flex ul#ham-nav li.header__nav ul{
        opacity: 1;
        visibility: visible;
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        box-shadow: none;
    }
    .header__flex ul#ham-nav li.header__nav ul li a{
        padding: 1.5rem 1.5rem 1.5rem 2em;
        font-size: max(14px,1.8rem);
        border-bottom: 0;
    }
    .header__flex ul#ham-nav li.header__nav ul li a::before{
        top: 43%;
        font-weight: normal;
    }
    .header__flex ul#ham-nav li.header__nav ul li a:hover{
        background-color: #fff;
        color: #264283;
    }
}
}
@media only screen and (max-width:400px){
    #header ul li{
        width: 100%;
    }
}
@media only screen and (max-width:350px){
    .header__br {
        display: block;
      }
    }

/*-----------------------------------------------

	mv

-----------------------------------------------*/
#mv .mv__content--01{
    padding: 12rem 6%;
    background-image: url("../img/mv_bg_01_pc.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
}
#mv .mv__content--01 h2{
    max-width: 1260px;
    margin: auto;
    font-size: max(30px,4.8rem);
    color: #fff;
    font-weight: normal;
    letter-spacing: .15em;
}
#mv .mv__content--01 h2 .mv__ttl--sub{
    font-size: max(18px,4rem);
    color: #37679b;
    margin: 0 0 2rem;
    display: inline-block;
    font-weight: bold;
    position: relative;
}
#mv .mv__content--01 h2 .mv__line{
    background-color: #fff;
	padding: 1rem 2rem;
    line-height: 1.5em;
}
#mv .mv__content--01 h2 .mv__line span{
    display: inline-block;
}
#mv .mv__content--01 h2 .mv__ttl--main{
    overflow: hidden;
}
#mv .mv__content--01 h2 b{
    font-size: max(48px,7.6rem);
    line-height: 1.5em;
}
#mv .mv__content--01 h2 small{
    font-size: max(18px,2.4rem);
    display: block;
    margin: 4rem 0 0;
    letter-spacing: .1em;
    line-height: 1.5em;
}
#mv .mv__content--02 {
    padding: 8rem 6%;
    background-image: url("../img/mv_bg_02_pc.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    color: #fff;
}
#mv .mv__content--02 h3{
    font-size: max(32px,6.4rem);
    text-align: right;
    margin: 0 0 4rem;
    max-width: 1260px;
    margin: 0 auto 4rem;
    line-height: 1.5em;
}
#mv .mv__content--02 p{
    font-size: max(16px,2.4rem);
    text-align: right;
    margin: 0 0 20px;
    line-height: 2.8em;
    max-width: 1260px;
    margin: 0 auto 4rem;
}
#mv .mv__content--02 p.btm{
    font-size: max(14px,1.8rem);
	line-height: 2em;
}
#mv .mv__content--02 img{
    max-width: 1100px;
    width: 100%;
    display: block;
    margin: auto;
}
.mv__br{
    display: none;
}

@media only screen and (max-width:971px){
    .mv__br{
        display: none;
    }
}
@media (orientation: portrait){
@media only screen and (max-width:750px){
    #mv .mv__content--01{
        padding: 3.5rem 6% 8rem 6%;
        background-image: url("../img/mv_bg_01_sp.webp");
    }
    #mv .mv__content--01 h2 .mv__ttl--sub {
    font-size: max(16px,2.8rem);
    padding: 1.5rem;
    letter-spacing: .05em;
    }
    #mv .mv__content--01 h2 b {
        font-size: max(30px,7.2rem);
    }
    #mv .mv__content--01 h2 small {
        font-size: max(14px,2.4rem);
      }
      #mv .mv__content--02 {
        padding: 8rem 6%;
        background-image: url("../img/mv_bg_02_sp.webp");
    }
    #mv .mv__content--02 h3 {
        font-size: max(22px,3.6rem);
        text-align: left;
    }
    #mv .mv__content--02 p{
        text-align: left;
        line-height: 2em;
    }
    #mv .mv__content--01 h2 .mv__ttl--sub{
        margin: 0;
    }
    #mv .mv__content--01 h2 small {
        margin: 2rem 0 0;
      }
}
}
@media only screen and (max-width:360px){
    .mv__br{
        display: block;
    }
}

/*-----------------------------------------------

	concept

-----------------------------------------------*/

#consept {
    padding: 8rem 8% 4rem;
    position: relative;
}
#consept h3 span.js-fadein-wrap{
	padding-top: 5px;
}
#consept .consept__inner{
    max-width: 1260px;
    margin: auto;
}
#consept .consept__ttl{
    position: absolute;
    top: 8rem;
    right: 0;
    color: #787878;
    opacity: .1;
    font-size: max(60px,9rem);
    font-weight: lighter;
    z-index: -1;
}
#consept .consept__ttl b{
    font-size: 140px;
    font-size: max(100px,14rem);
    font-weight: lighter;
}
#consept h3{
    font-size: max(24px,4.7rem);
    white-space: nowrap;
    padding: 6rem 0;
    border-top: 2px solid #ddd;
    position: relative;
    display: inline-block;
    font-weight: bold;
    letter-spacing: 0.05em;
}


#consept h3::before{
    content: "";
    border-top: 2px solid #264283;
    width: 20%;
    min-width: 100px;
    height: 2px;
    position: absolute;
    top: -2px;
    left: 0;
}
#consept h3 small{
    color: #264283;
    font-size: max(14px,2.4rem);
    display: block;
    margin: 0 0 2rem;
    font-weight: normal;
}
#consept ol li{
    display: flex;
    flex-shrink: 0;
    align-items: center;
    justify-content: flex-start;
    margin: 0 0 4rem;
}
#consept ol li span{
    display: block;
    padding: 4rem 6.5rem 4rem 0;
    max-width: 100px;
    width: 100%;
    text-align: center;
    font-size: max(36px,4.8rem);
    position: relative;
    border-right: 1px solid #ddd;
    color: #3b74b1;
    font-weight: bold;
}
#consept ol li span::after{
    content: "";
    position: absolute;
    top: 0;
    right: 0;
    width: 1px;
    height: 40%;
    background-color: #264283;
}
#consept ol li p{
    font-size: max(18px,3rem);
    padding: 4rem 0 4rem 6.5rem;
    line-height: 1.5em;
}
#consept ol li p em{
    font-size: max(16px,2.4rem);
	font-style:normal;
	display:block;
}
@media (orientation: portrait){
@media only screen and (max-width:750px){
    #consept .consept__ttl {
    top: 2rem;
    }
    #consept .consept__ttl {
        font-size: max(32px,6rem);
    }
    #consept .consept__ttl b {
    font-size: max(60px,10rem);
    }
    #consept {
    padding: 13rem 8% 8rem;
    }
    #consept h3 {
        font-size: max(16px,2.5rem);
        padding: 4rem 0;
    }
    #consept ol li{
        margin: 0;
    }
    #consept ol li p {
        font-size: max(16px,2rem);
        padding: 2rem 0 2rem 4rem;
        width: 80%;
    }
	#consept ol li p em{
	    font-size: max(14px,1.4rem);
	}
    #consept ol li span {
        padding: 2rem 4rem 2rem 0;
        font-size: max(24px,3.6rem);
        width: 20%;
    }
}
}
/*-----------------------------------------------

	pickup

-----------------------------------------------*/
#pickup {
    padding:16rem 0 8rem 4%;
}
#pickup .pickup__inner{
    position: relative;
}
#pickup .pickup__txt{
    max-width: 1570px;
    width: 95%;
    margin: 0 0 0 auto;
}
#pickup .pickup__ttl{
    position: absolute;
    top: 0;
    right: 0;
    color: #fff;
    opacity: 0.1;
    font-size: 90px;
    font-size: max(60px,9rem);
    font-weight: lighter;
    z-index: 1;
}
#pickup .pickup__ttl b{
    font-size: max(100px,14rem);
    font-weight: lighter;
}
#pickup .pickup__bg{
    max-width: 1680px;
    width: 100%;
    height: 49rem;
    position: absolute;
    top: -7rem;
    right: 0;
    background-image: url("../img/pickup_bg_pc.webp");
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #264283;
}
#pickup h3{
    font-size: max(24px,4.8rem);
    padding: 6rem 0;
    border-top: 2px solid rgba(255, 255, 255, .2);
    position: relative;
    display: inline-block;
    font-weight: bold;
    margin: 0 0 0 auto;
    color: #fff;
    letter-spacing: 0.1em;
}
#pickup h3::before{
    content: "";
    border-top: 2px solid #fff;
    width: 20%;
    min-width: 100px;
    height: 2px;
    position: absolute;
    top: -2px;
    left: 0;
}
#pickup h3 small{
    color: #fff;
    font-size: max(14px,2.4rem);
    display: block;
    margin: 0 0 2rem;
	font-weight: normal;
}
#pickup ol{
    max-width: 1660px;
    width: 100%;
    margin: 0 -8rem 8rem auto;
    position: relative;
}
#pickup ol li{
    width: calc(100% / 3);
    padding: 10px;
    display: flex;
    flex-shrink: 0;
    justify-content: space-between;
    flex-direction: column;
    max-width: 420px;
}
#pickup ol li .pickup__img{
    max-width: 400px;
    width: 100%;
    display: block;
    margin: 0 auto 2rem;
    overflow: hidden;
    border-radius: 20px;
    display: block;
}
#pickup ol li .pickup__img:hover{
    opacity: 1!important;
}
#pickup ol li .pickup__img img{
    width: 100%;
    transition: .2s;
}
#pickup ol li .pickup__img img:hover{
    transform: scale(1.05);
}
#pickup ol li p{
    font-size: max(14px,1.6rem);
    margin: 20px 0;
    line-height: 2em;
    width: 94%;
}
#pickup ol li .pickup__link{
    padding: 20px 0;
    display: inline-block;
    border-bottom: 2px solid #264283;
    font-weight: bold;
    font-size: max(18px,2rem);
    font-weight: bold;
}
.slick-prev {
    left: 1rem;
}
.slick-next {
    left: 6rem;
}
.slick-prev,
.slick-next {
    background-image: url("../img/slick_arrow_prev.png");
    background-size: contain;
    background-repeat: no-repeat;
    width: 3.6rem;
    height: 3.6rem;
    top: 115%!important;
  }
  .slick-next {
    background-image: url("../img/slick_arrow_next.png");
  }
  .slick-dots{
      display: flex;
      flex-shrink: 0;
      align-items: center;
      bottom: -8rem;
      left: 12rem;
  }
  .slick-dots li{
      padding: 5px!important;
      width: 1rem!important;
  }
  .slick-dots li button::before {
    font-size: max(18px,2.4rem);
    width: 1rem;
    height: 1rem;
    color: #264283;
    }
    .slick-dots li.slick-active button::before {
        color: #264283;
    }
    @media only screen and (max-width:1500px){
        #pickup ol{
            margin: 0 0 8rem auto;
            width: 96%;
        }
    }
    @media only screen and (max-width:950px){
        .slick-prev,
        .slick-next {
            top: 110%!important;
          }
    }
@media (orientation: portrait){
@media only screen and (max-width:750px){
    #pickup {
        padding: 18rem 0 8rem;
    }
    #pickup h3 {
        font-size: max(18px,3rem);
        padding: 4rem 0;
    }
    #pickup .pickup__bg {
        top: -12rem;
        width: 100%;
        height: 52rem;
        background-image: url("../img/pickup_bg_sp.webp");
    }
    #pickup .pickup__txt {
    max-width: 1290px;
    width: 94%;
    margin: 0 0 0 auto;
    }
    #pickup ol{
        max-width: 1300px;
        width: 100%;
        margin: 0 0 8rem auto;
    }
    #pickup .pickup__ttl{
        font-size: max(32px,6rem);
    }
    #pickup .pickup__ttl{
        font-size: max(32px,6rem);
        top: -10rem;
    }
    #pickup .pickup__ttl b{
        font-size: max(60px,10rem);
    }
    .slick-dots li button::before {
      font-size: 4rem;
      width: .5rem;
      height: .5rem;
      }
      .slick-prev,
      .slick-next {
        display: none!important;
        width: 5rem;
        height: 5rem;
    }
    .slick-dots {
        left: 13%;
      }
      .slick-next::before {
        left: 5rem;
    }
    #pickup ol li .pickup__img img:hover{
        transform: scale(1);
    }
}
}


/*-----------------------------------------------

	intro

-----------------------------------------------*/
#intro ul{
    display: flex;
    flex-shrink: 0;
}
#intro ul li{
    width: calc(100% / 3);
}
#intro ul li {
    background-size: cover;
    background-repeat: no-repeat;
    transition: .2s;
}
#intro ul:hover li {
    opacity: .7;
}
#intro ul:hover li:hover {
    box-shadow: 0 0 40px 0 rgba(0,0,0,.2);
    transform: scale(1.02);
    opacity: 1;
    z-index: 1;
}
#intro ul li a{
    background-size: cover;
    background-repeat: no-repeat;
    display: block;
    padding: 7rem 6rem;
    text-align: center;
    color: #fff;
}
#intro ul li a:hover{
    opacity: 1!important;
}
#intro ul li a span{
    letter-spacing: .2em;
}
#intro ul li:nth-child(1){
    background-image: url("../img/intro_bg_01.webp");
}
#intro ul li:nth-child(2){
    background-image: url("../img/intro_bg_02.webp");
}
#intro ul li:nth-child(3){
    background-image: url("../img/intro_bg_03.webp");
}
#intro ul li a > span{
    display: block;
    padding: 0 0 2.5rem;
    font-size: max(24px,3.6rem);
    border-bottom: 2px solid #fff;
}
#intro ul li a small{
    display: block;
    font-size: max(14px,1.8rem);
    padding: 2.5rem 0 0;
}
@media only screen and (max-width:1350px){

#intro ul li a > span{
    font-size: max(20px,3rem);
}
#intro ul li a small{
    font-size: max(13px,1.5rem);
}
}
@media (orientation: portrait){
@media only screen and (max-width:750px){
    #intro ul {
        flex-direction: column;
        margin: 0;
    }
    #intro ul li {
        width: 100%;
    }
    #intro ul li a {
        padding: 7rem 5rem;
    }
    #intro ul li a > span {
        font-size: max(28px,2.4rem);
    }
    #intro ul li a small {
        font-size: max(14px,1.8rem);
    }
}
}


/*-----------------------------------------------

	footer

-----------------------------------------------*/

#footer {
    padding: 6rem 2%;
    background-color: #f9f9f9;
}
#footer .footer__flex{
    display: flex;
    flex-shrink: 0;
    justify-content: flex-start;
    max-width: 1260px;
    width: 100%;
    margin: auto;
}
#footer .footer__flex div{
    border-right: 1px solid #ddd;
    padding: 0 4rem;
}
#footer .footer__flex div:last-child{
    border-right: 0;
}
#footer {
    display: flex;
    flex-shrink: 0;
    align-items: center;
}
#footer .footer__logo{
    display: block;
    max-width: 185px;
    width: 100%;
    margin: 0 auto 3rem;
}
#footer .footer__logo img{
    width: 100%;
}
#footer span{
    font-size: max(16px,2rem);
    display: block;
    margin: 0 0 6rem;
    font-weight: bold;
    line-height: 1.5em;
}
#footer a:hover{
    opacity: 1!important;
    color: #37679b;
    text-decoration: underline;
}
#footer .only-pc span {
    text-align: center;
}
#footer .left-align {
    text-align: left;
}
#footer .left-align span {
    display: inline-block;
    text-align: center;
}



#footer small{
    font-size: 10px;
}
#footer ul{
    margin: 0 0 2rem;
}
#footer ul li a{
    padding: 8px 8px 8px 1.2em;
    font-size: 14px;
    position: relative;
    display: block;
}
#footer ul li:first-child a {
    font-weight: bold;
}
#footer ul li:first-child a::before{
    content: "";
    background-image: url("../img/link_arrow.png");
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 12px;
    height: 12px;
}
#footer ul.footer__sub li a {
    font-weight: normal;
    font-size: 12px;
}


@media only screen and (max-width:930px){
    #footer .footer__flex div{
        padding: 0 2rem;
    }
    #footer {
        padding: 6rem 0;
    }
}
@media (orientation: portrait){
@media only screen and (max-width:750px){
    #footer {
        padding: 4rem 4%;
    }
    #footer .footer__flex{
        flex-direction: column;
    }
    #footer .footer__flex div:first-child{
        margin: 0 0 6rem;
    }
    #footer .footer__flex div {
    border-right: 0;
    }
    #footer .footer__logo {
        margin: 4rem 0 2rem;
    }
    #footer span {
    margin: 0 0 2rem;
    font-size: max(14px,2rem);
    }
    #footer ul li a {
        padding: 5px 5px 5px 1.2em;
    }
}
}

/* 画面幅350px以下のランドスケープ時 */
@media (orientation: landscape) and (max-width: 600px){
    @media screen and (max-width:750px) {
    .body__inner{
        padding-top: 9rem;
    }
    }
    }
@media (orientation: landscape) and (max-width: 600px){
@media only screen and (max-width:750px){
    a:hover{
        opacity: 1!important;
    }
    html {font-size:1.65vw;}

    .only-pc{
        display: none!important;
    }
    .only-sp{
        display: block!important;
    }
}
}
@media (orientation: landscape) and (max-width: 600px){
@media only screen and (max-width:750px){
    .header__flex ul#ham-nav li.header__nav ul li a::before{
        right: 0;
        left: auto;
    }
	.header__flex h1 a {
		max-width: 120px;
		width: 40%;
        white-space: nowrap;
	}

    .header__inner {
        padding: 2rem 4%;
      }
      .header__flex h1 {
        font-size: max(10px,1.0rem);
        width: 80%;
      }
      .header__flex h1 span {
        margin: 0 0 0 2rem;
        }
    .header__btn {
        right: 0;
        top: 36.5rem;
        max-width: 114px;
        width: 16%;
        transition: .3s;
    }
    .header__btn.js-btn {
        top: auto;
        bottom: 4%;
        right: -16%;
    }
    .header__btn.fade-in {
        right: 0;
    }
      #header ul#ham-nav{
          position: fixed;
          top: 0;
          right: -100%;
          background-color: #fff;
          flex-direction: column;
          justify-content: flex-start;
          padding: 8rem 3rem 6rem;
          z-index: 9;
          transition: .3s;
          max-width: 500px;
          width: 80%;
          overflow: auto;
          height: 100vh;
      }
      #header ul#ham-nav.clicked{
          right: 0;
      }
      #header ul#ham-nav > li{
          width: 100%;
      }
      #header ul#ham-nav li a.header__link{
          font-size: max(14px,2rem);
          margin: 1.5rem 0;
          width: 100%;
          border-bottom: 2px solid #264283;
          display: block;
          position: relative;
      }
      #header ul#ham-nav li a.header__link::before{
          content: ">";
          font-weight: bold;
          position: absolute;
          top: 45%;
          right: 0;
          transform: translateY(-50%) scale(1,2);
          font-style: .8em;
          font-weight: normal;
          color: #264283;
      }
      #header ul#ham-nav li:last-child::before{
          color: #fff;
      }

    #ham{
        cursor: pointer;
        z-index: 10;
        width: 30px;
        height: 50px;
        transition: .3s;
        position: fixed;
        right: 4%;
    }
    #ham > span{
        position: relative;
        width: 100%;
        height: 100%;
        display: block;
    }
    #ham span span,
    #ham::before,
    #ham::after{
        content: "";
        width: 30px;
        height: 5px;
        border-bottom:2px solid #fff ;
        background-color: #37679b;
        position: absolute;
        top: 50%;
        left: 0;
        transition: .3s;
    }
    #ham span span{
        width: 22.5px;;
    }
    #ham::before{
        top: 30%;
    }
    #ham::after{
        top: 70%;
        width: 15px;
    }
    #ham.clicked span span{
        opacity: 0;
        transform: rotate(360deg);
    }
    #ham.clicked::before{
        top: 50%;
        transform: rotate(405deg);
        height: 3px;
        border-bottom:0;
    }
    #ham.clicked::after{
        top: 50%;
        width: 30px;
        transform: rotate(495deg);
        height: 3px;
        border-bottom:0;
    }
    #ham-close{
        opacity: 0;
        z-index: 8;
        visibility: hidden;
        background-color: #000;
        width: 100%;
        height: 100%;
        position: fixed;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        visibility: hidden;
        cursor: pointer;
    }
    #ham-close.clicked{
        opacity: .5;
        visibility: visible;
    }

    .header__flex ul#ham-nav li.header__nav ul{
        opacity: 1;
        visibility: visible;
        position: relative;
        top: auto;
        left: auto;
        width: 100%;
        box-shadow: none;
    }
    .header__flex ul#ham-nav li.header__nav ul li a{
        padding: 1.5rem 1.5rem 1.5rem 2em;
        font-size: max(14px,1.8rem);
        border-bottom: 0;
    }
    .header__flex ul#ham-nav li.header__nav ul li a::before{
        top: 43%;
        font-weight: normal;
    }
    .header__flex ul#ham-nav li.header__nav ul li a:hover{
        background-color: #fff;
        color: #264283;
    }
}
}
@media (orientation: landscape) and (max-width: 600px){
@media only screen and (max-width:750px){
    #mv .mv__content--01{
        padding: 3.5rem 6% 8rem 6%;
        background-image: url("../img/mv_bg_01_sp.webp");
    }
    #mv .mv__content--01 h2 .mv__ttl--sub {
    font-size: max(16px,2.8rem);
    padding: 1.5rem;
    letter-spacing: .05em;
    }
    #mv .mv__content--01 h2 b {
        font-size: max(30px,7.2rem);
    }
    #mv .mv__content--01 h2 small {
        font-size: max(14px,2.4rem);
      }
      #mv .mv__content--02 {
        padding: 8rem 6%;
        background-image: url("../img/mv_bg_02_sp.webp");
    }
    #mv .mv__content--02 h3 {
        font-size: max(22px,3.6rem);
        text-align: left;
    }
    #mv .mv__content--02 p{
        text-align: left;
        line-height: 2em;
    }
    #mv .mv__content--01 h2 .mv__ttl--sub{
        margin: 0;
    }
    #mv .mv__content--01 h2 small {
        margin: 2rem 0 0;
      }
}
}
@media (orientation: landscape) and (max-width: 600px){
@media only screen and (max-width:750px){
    #consept .consept__ttl {
    top: 2rem;
    }
    #consept .consept__ttl {
        font-size: max(32px,6rem);
    }
    #consept .consept__ttl b {
    font-size: max(60px,10rem);
    }
    #consept {
    padding: 13rem 8% 8rem;
    }
    #consept h3 {
        font-size: max(16px,2.5rem);
        padding: 4rem 0;
    }
    #consept ol li{
        margin: 0;
    }
    #consept ol li p {
        font-size: max(16px,2rem);
        padding: 2rem 0 2rem 4rem;
        width: 80%;
    }
	#consept ol li p em{
	    font-size: max(14px,1.4rem);
	}
    #consept ol li span {
        padding: 2rem 4rem 2rem 0;
        font-size: max(24px,3.6rem);
        width: 20%;
    }
}
}
@media (orientation: landscape) and (max-width: 600px){
@media only screen and (max-width:750px){
    #pickup {
        padding: 18rem 0 8rem;
    }
    #pickup h3 {
        font-size: max(18px,3rem);
        padding: 4rem 0;
    }
    #pickup .pickup__bg {
        top: -12rem;
        width: 100%;
        height: 52rem;
        background-image: url("../img/pickup_bg_sp.webp");
    }
    #pickup .pickup__txt {
    max-width: 1290px;
    width: 94%;
    margin: 0 0 0 auto;
    }
    #pickup ol{
        max-width: 1300px;
        width: 100%;
        margin: 0 0 8rem auto;
    }
    #pickup .pickup__ttl{
        font-size: max(32px,6rem);
    }
    #pickup .pickup__ttl{
        font-size: max(32px,6rem);
        top: -10rem;
    }
    #pickup .pickup__ttl b{
        font-size: max(60px,10rem);
    }
    .slick-dots li button::before {
      font-size: 4rem;
      width: .5rem;
      height: .5rem;
      }
      .slick-prev,
      .slick-next {
        display: none!important;
        width: 5rem;
        height: 5rem;
    }
    .slick-dots {
        left: 13%;
      }
      .slick-next::before {
        left: 5rem;
    }
    #pickup ol li .pickup__img img:hover{
        transform: scale(1);
    }
}
}
@media (orientation: landscape) and (max-width: 600px){
@media only screen and (max-width:750px){
    #intro ul {
        flex-direction: column;
        margin: 0;
    }
    #intro ul li {
        width: 100%;
    }
    #intro ul li a {
        padding: 7rem 5rem;
    }
    #intro ul li a > span {
        font-size: max(28px,2.4rem);
    }
    #intro ul li a small {
        font-size: max(14px,1.8rem);
    }
}
}
@media (orientation: landscape) and (max-width: 600px){
@media only screen and (max-width:750px){
    #footer {
        padding: 4rem 4%;
    }
    #footer .footer__flex{
        flex-direction: column;
    }
    #footer .footer__flex div:first-child{
        margin: 0 0 6rem;
    }
    #footer .footer__flex div {
    border-right: 0;
    }
    #footer .footer__logo {
        margin: 4rem 0 2rem;
    }
    #footer span {
    margin: 0 0 2rem;
    font-size: max(14px,2rem);
    }
    #footer ul li a {
        padding: 5px 5px 5px 1.2em;
    }
}
}
