@charset "UTF-8";


/* mainvisual
------------------------------------------------- */
.mainvisual {
    width: calc(100vw - var(--scrollbar));
    height: 94vh;
    min-height: 600px;
    background-color: #000;
    position: relative;
}
.mainvisual .logobox {
    text-align: right;
    color: #fff;
    position: absolute;
    right: 3.75em;
    top: 55%;
    transform: translateY(-50%);
    z-index: 2;
}
.mainvisual .logobox h2 {
    font-weight: 500;
    line-height: 1.15;
}
.mainvisual .logobox h3 {
    font-weight: 400;
    line-height: 1.5;
    padding: 0.5em 0 0.75em;
}
.mainvisual .logobox .btnst1 a {
    background-color: #fff;
    border: 1px solid #fff;
    color: #121212;
}
.mainvisual .logobox .btnst1 a::after {
    background-color: #a0906d;
}
.mainvisual .main-slider {
    width: 100%;
    height: 94vh;
    min-height: 600px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1;
}
.mainvisual .main-slider .swiper-slide {
    width: 100%;
    height: 94vh;
    min-height: 600px;
}
.mainvisual .main-slider .swiper-slide .sl {
    width: 100%;
    height: 94vh;
    min-height: 600px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
    transform: scale(1.1);
}
.mainvisual .main-slider .swiper-slide-active .sl,
.mainvisual .main-slider .swiper-slide-prev .sl,
.mainvisual .main-slider .swiper-slide-next .sl,
.mainvisual .main-slider .swiper-slide-duplicate-active .sl,
.mainvisual .main-slider .swiper-slide-duplicate-prev .sl,
.mainvisual .main-slider .swiper-slide-duplicate-next .sl {
	animation: zoomUp 12s linear 0s normal both;
}
.mainvisual .main-slider .swiper-slide .sl.main1 {
	background-image: url("../img/top/mainimg1.jpg");
}
.mainvisual .main-slider .swiper-slide .sl.main2 {
	background-image: url("../img/top/mainimg2.jpg");
}
.mainvisual .main-slider .swiper-slide .sl.main3 {
	background-image: url("../img/top/mainimg3.jpg");
}
.mainvisual .scroll {
    width: 1.5em;
    height: 6em;
	position: absolute;
    right: 1.5em;
    bottom: 0;
    z-index: 2;
}
.mainvisual .scroll span {
    width: 1.5rem;
    height: 6rem;
    line-height: 1.25;
    letter-spacing: 0.1em;
    color: #fff;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    display: block;
    text-align: center;
}
.mainvisual .scroll b {
    width: 0.0625em;
    height: 6em;
    background-color: rgba(255,255,255,0.3);
    position: absolute;
    left: 0;
    bottom: 0;
    overflow: hidden;
}
.mainvisual .scroll b::before {
    content: '';
    width: 100%;
    height: 0;
    background-color: rgba(255,255,255,0.5);
    position: absolute;
    left: 0;
    top: 0;
    animation: scroll 3s infinite;
}
@media only screen and (min-width:751px){
.mainvisual .logobox .btnst1 a:hover {
    color: #fff;
    border: 1px solid #a0906d;
}
}
@media only screen and (max-width:750px){
.mainvisual {
    height: 94.5svh;
    min-height: 400px;
}
.mainvisual .logobox {
    width: 100%;
    text-align: center;
    right: 0;
    top: 54%;
}
.mainvisual .logobox h2 {
    font-size: 5.866vw;
}
.mainvisual .logobox h3 {
    font-size: 4.133vw;
    padding: 0.5em 0 1.25em;
}
.mainvisual .logobox .btnst1 {
    width: 42.66vw;
    height: 8.8vw;
    margin: 0 auto;
}
.mainvisual .logobox .btnst1 a {
    font-size: 3.066vw;
}
.mainvisual .scroll {
    width: 1px;
    height: 27.5vw;
    right: 50%;
    bottom: 0;
}
.mainvisual .scroll span {
    display: none;
}
.mainvisual .scroll b {
    width: 1px;
    height: 27.5vw;
}
.mainvisual .main-slider {
    height: 94.5svh;
    min-height: 400px;
}
.mainvisual .main-slider .swiper-slide {
    height: 94.5svh;
    min-height: 400px;
}
.mainvisual .main-slider .swiper-slide .sl {
    height: 94.5svh;
    min-height: 400px;
}
.mainvisual .main-slider .swiper-slide .sl.main1 {
	background-image: url("../img/top/mainimg1_sp.jpg");
}
.mainvisual .main-slider .swiper-slide .sl.main2 {
	background-image: url("../img/top/mainimg2_sp.jpg");
}
.mainvisual .main-slider .swiper-slide .sl.main3 {
	background-image: url("../img/top/mainimg3_sp.jpg");
}
}


/* introduction
------------------------------------------------- */
.introduction {
    background: url("../img/top/introduction_bg.jpg") center center no-repeat;
    background-size: cover;
    padding: 5em 0 3.125em;
}
.introduction .inner {
    padding: 0 3.125em;
}
.introduction .con {
    width: 50%;
    margin-left: 4.4em;
}
.introduction .con p {
    letter-spacing: 0.05em;
    padding-bottom: 1.5em;
}
.introduction .photo {
    width: 38.7%;
    margin-right: 4%;
}
.introduction .photo .btnst2 {
    margin-top: 2.8125em;
}
@media only screen and (max-width:750px){
.introduction {
    background-image: url("../img/top/introduction_bg_sp.jpg");
    padding: 10.4vw 0 12vw;
}
.introduction .inner {
    padding: 0;
}
.introduction .con {
    width: 100%;
    margin: 0;
}
.introduction .photo {
    width: 82.66vw;
    margin: 3vw auto 0;
}
.introduction .photo .btnst2 {
    margin-top: 7vw;
}
}


/* programs
------------------------------------------------- */
.programs {
    background-color: #e6e2d6;
    padding: 5em 0 6em;
}
.programs .headline1 {
    text-align: center;
}
.programs .txt {
    letter-spacing: 0.05em;
    text-align: center;
    padding: 0.5em 0 3.75em;
}
.programs ul li:nth-child(4),
.programs ul li:nth-child(5) {
    margin-bottom: 3.125em;
}
@media only screen and (max-width:750px){
.programs {
    padding: 12.5vw 0 16vw;
}
.programs .txt {
    padding: 0.5em 0 1em;
}
.programs ul li:nth-child(4),
.programs ul li:nth-child(5) {
    margin-bottom: 0;
}
}


/* lipocube, fresh
------------------------------------------------- */
.lipocube .photo {
    width: 50vw;
    margin-right: calc(36.1875em - 50cqw);
}
.fresh .photo {
    width: 50vw;
    margin-left: calc(36.1875em - 50cqw);
}
.lipocube .con,
.fresh .con {
    width: 38.86%;
}
.lipocube .con .headline2,
.fresh .con .headline2 {
    text-align: left;
    margin-bottom: 1em;
}
.lipocube .con p,
.fresh .con p {
    line-height: 1.8;
    letter-spacing: 0.05em;
    padding-bottom: 2em;
}
.lipocube .con .btnst2,
.fresh .con .btnst2 {
    margin: 0;
}
@media only screen and (max-width:750px){
.lipocube .photo {
    width: 100vw;
    margin: 0 0 0 -6vw;
}
.fresh .photo {
    width: 100vw;
    margin-left: -6vw;
}
.lipocube .con,
.fresh .con {
    width: 100%;
    padding: 11.5vw 0 10.5vw;
}
.fresh .con {
    padding-top: 8.5vw;
}
.lipocube .con .headline2,
.fresh .con .headline2 {
    font-size: 2.9vw;
    text-align: left;
    margin-bottom: 1em;
}
.lipocube .con .headline2 span,
.fresh .con .headline2 span {
    font-size: 6.589vw;
}
.lipocube .con p,
.fresh .con p {
    font-size: 2.877vw;
    padding-bottom: 2em;
}
}


/* newslist
------------------------------------------------- */
.newslist {
    padding-top: 5em;
}
.newslist .headline2 {
    margin-bottom: 2.5em;
}
.newslist ul {
    margin-bottom: 3.5em;
}
@media only screen and (max-width:750px){
.newslist {
    padding: 15.5vw 0 4.65vw;
}
.newslist .headline2 {
    font-size: 2.9vw;
}
.newslist .headline2 span {
    font-size: 8vw;
}
}