@charset "utf-8";

html {overflow: auto;scroll-behavior: smooth;}
body{
font-family:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, "sans-serif";
font-size: 20px;
line-height: 1.8;
letter-spacing: 0.05em;
color: #3f3f3f;
overflow: hidden;
}
/*-------------------- img */
img{ display: block; width: 100%;}
a img:hover{transform: scale(110%);transition: .2s;}
@media(max-width:780px){a img:hover{opacity: 1;}}/* @media */

/*-------------------- a */
a:link   {color: #000;text-decoration: none; transition: ease .3s all;}
a:visited{color: #000;}a:hover  {color: #999;}a:active {color: #ccc;}

/*-------------------- PC-SP */
.pc{ display: block !important;}@media(max-width:780px){.pc{ display: none !important;}}
.sp{ display: none !important;}@media(max-width :780px){.sp{ display: block !important;}}
.sp_notab{ display: none !important;}@media(max-width :540px){.sp{ display: block !important;}}

/*-------------------- font */
.min {
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
}
.t_600{
  font-weight: 600;
}
.t_700 {
  font-weight: 700;
}
.t_800 {
  font-weight: 800;
}
.t_red{
  color: #cc3366;
}
.ul_red {
  border-bottom: 1px solid #cc3366;
}
.t_orange{
  color: #ffaa45;
}
.t_yellow{
  color: #fff3c5;
}
.t_white{
  color: #fff;
}
.t_blue{
  color: #37a6b6;
}
.t_green{
  color: #59a9a0;
}
.t_purple{
  color: #ac6db9;
}
.t_gray{
  color: #666;
}
.t_08 {
  font-size: .8em;
  line-height: 1.6;
}
.t_12 {
  font-size: 1.2em;
  line-height: 1.6;
}
.t_14 {
  font-size: 1.4em;
  line-height: 1.6;
}
.t_16 {
  font-size: 1.6em;
  line-height: 1.6;
}
.t_18 {
  font-size: 1.8em;
  line-height: 1.6;
}
.t_20 {
  font-size: 2em;
  line-height: 1.6;
}
.note {
  font-size: 0.65em;
}
.t_italic {
  font-style: italic;
}
h2 {
  padding: .3em 0;
  margin: 0 auto .8em;
  font-size: 38px;
  font-weight: 800;
  line-height: 1.4;
  text-align: center;
  position: relative;
}
.border {
  width: 80%;
  margin: 0 auto 2em;
  position: relative;
}
.border:before {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, transparent, #666, transparent);
  position: absolute;
  top: 0;
  left: 0;
}
.border:after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, transparent, #666, transparent);
  position: absolute;
  bottom: 0;
  left: 0;
}
.border .double:before {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, transparent, #333, transparent);
  position: absolute;
  top: -7px;
  left: 0;
}
.border .double:after {
  content: "";
  display: block;
  height: 2px;
  width: 100%;
  background: linear-gradient(to right, transparent, #333, transparent);
  position: absolute;
  bottom: -7px;
  left: 0;
}
.border.white:before {
  background: linear-gradient(to right, transparent, #fff, transparent);
}
.border.white:after {
  background: linear-gradient(to right, transparent, #fff, transparent);
}
.bg_pink {
  width: 60%;
  margin: 0 auto 2em;
  background: linear-gradient(to right, #dc6694, #ef9494);
  border-radius: 50px;
  padding: .5em 1em;
  position: relative;
}
h3 {
  padding: .3em 0;
  margin: 0 auto .8em;
  font-size: 32px;
  font-weight: 800;
  line-height: 1.4;
  position: relative;
}
h4 {
  padding: .3em 0;
  margin: 0 auto .8em;
  font-size: 24px;
  font-weight: 700;
  line-height: 1.4;
  position: relative;
}

/*-------------------- design */
.b_yellow{
  background: linear-gradient(transparent 60%, #fff3c5 0%);
}
.icon_b:before,
.icon_a:after {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background-size: contain;
  background-repeat: no-repeat;
  vertical-align: middle;
  margin: 0 .5em 0 0;
}
.icon_a:after {
  margin: 0 .5em 0 0;
}
.tri {
  width:0;
  height: 0;
  border-top: 3em solid #000;
  border-right: 4em solid transparent;
  border-bottom: 3em solid transparent;
  border-left: 4em solid transparent;
  margin: 0 auto;
}
.slash:before,
.slash:after {
  content: "";
  display: inline-block;
  width: 1px;
  height: 1.2em;
  transform: rotate(-45deg);
  margin: 0 .5em 0 0;
  background: #000;
  vertical-align: middle;
}
.slash:after {
  transform: rotate(45deg);
  margin: 0 0 0 .5em;
}
.ac {
  text-align: center;
}
.al {
  text-align: left;
}
.ar {
  text-align: right;
}
.w_fit {
  width: fit-content;
  width: -moz-fit-content;
}

/*-------------------- header */
header {
  background: #fff;
  padding: 10px 0;
}
header .cboxs.pc{
  display: flex !important;
  justify-content: center;
  align-items: center;
}
header .logo {
  width: 300px;
}
header .access {
  width: 200px;
  margin: 0 0 0 auto;
}
header .hbtn {
  display: block;
  width: 160px;
  margin: 0 0 0 50px;
}
/*-------------------- MV */
#mv {
  position: relative;
  margin-bottom: 15vw;
}
#mv .cam {
  width: 50%;
  position: absolute;
  top: 70%;
  left: 7%;
}
#mv .btn {
  width: 16%;
  position: absolute;
  top: 85%;
  left: 58%;
}

/*-------------------- cta */
.cta {
  background: #fffedc;
  position: relative;
}
.cta .ibox {
  width: 70%;
  margin: 0 auto 3vw;
}
.btn {
  width: 50%;
  margin: 0 auto;
}
.btn img {
  margin: 10px auto;
  animation: anime1 0.5s ease 0s infinite alternate;
  transform-origin:center;
}
@keyframes anime1 {
  from {
    transform: scale(0.9,0.9);
  }
  to {
    transform: scale(1,1);
  }
}

/*-------------------- contents */
.mf {
  padding: 5vw 0;
  position: relative;
}
.frame {
  width: 1200px;
  margin: 0 auto;
}
.inner {
  width: 1000px;
  margin: 0 auto;
}
.flex {
  display: flex;
  justify-content: center;
  align-items: center;
}
@media(max-width :780px){.flex{ flex-direction: column !important;}}

/*-------------------- mf1 */
#mf1 .cbox .cboxs {
  width: 47.5%;
}
#mf1 .cbox .arr {
  width: 3%;
  margin: 0 auto;
}

/*-------------------- mf2 */
#mf2 {
  background: url("../img/mf13bg-min.jpg") center center / cover no-repeat;
}
#mf2 .cbox {
  width: 90%;
  margin: 0 auto;
}

/*-------------------- mf3 */
#mf3 {
  padding-bottom: 0;
}
#mf3 .cbox figure {
  width: 23%;
  margin-right: 7%;
}
#mf3 .cbox .cboxs {
  width: 70%;
}
#mf3 .cbox li {
  margin: 0 0 .5em 0;
  text-indent: -1.7em;
  padding-left: 1.7em;
  font-size: 1.1em;
}
#mf3 .cbox li:before {
  content: "";
  display: inline-block;
  width: 1.2em;
  height: 1.2em;
  background: url("../img/mf3i2-min.png") center center / contain no-repeat;
  margin: 0 .5em 0 0;
  vertical-align: middle;
}
#mf3 .arr {
  width: 20%;
  margin: 3vw auto 0;
}

/*-------------------- mf4 */

/*-------------------- mf5 */
#mf5 {
  padding-top: 10vw;
}
#mf5 h2 img {
  width: 1.7em;
  position: absolute;
  bottom: .3em;
  left: 1em;
}
#mf5 .cbox img {
  width: 47%;
}
#mf5 .cbox img:first-child {
  width: 50%;
  margin-right: 3%;
}

/*-------------------- mf6 */
#mf6 .ibox {
  overflow: hidden;
}
#mf6 .ibox img {
  width: calc((100% - 80px) / 3);
  margin: 0 40px 0 0;
  float: left;
}
#mf6 .ibox img:last-child {
  margin-right: 0;
}
#mf6 .cbox {
  background: linear-gradient(to right, #cdb4d3, #fdf2f9, #cdb4d3);
  padding: 2em;
  margin: 5vw auto 0;
}
#mf6 .cbox figure {
  width: 45%;
  margin-right: 5%;
}
#mf6 .cbox .cboxs {
  width: 50%;
  font-size: 1.2em;
}

/*-------------------- mf7 */
#mf7 video {
  width: 50%;
  margin: 5vw auto 0;
}
#mf7 video.long {
  width: 30%;
}

/*-------------------- mf8 */
#mf8 {
  background: #f4f4f4;
}
#mf8 h2 img {
  width: 1.7em;
  position: absolute;
  bottom: -.3em;
  right: 1em;
}
#mf8 h3 {
  margin-top: 5vw;
}
#mf8 .ibox {
  width: 80%;
  margin: 3vw auto;
}

/*-------------------- mf9 */
#mf9 .swiper {
  width: 70%;
  padding: 0 0 50px;
  overflow: visible;
}
.swiper-container {
  position: relative;
  width: 100%;
  height: 300px;
}

.swiper-navigation {
  position: absolute;
  width: 800px;
  top: 120%;
  left: 50%;
  transform: translate(-50%, 0);
  display: flex;
  justify-content: space-between;
  padding-top: 80px;
}
.swiper-slide {
  opacity: 0;
}
.swiper-slide-active {
  opacity: 1 !important;
}
.swiper-button-prev, .swiper-button-next {
  cursor: pointer;
}
#mf9 .swiper-button-prev,
#mf9 .swiper-button-next {
  height: 150px;
  width: 120px;
  transform: translate(0, -50%);
}
#mf9 .swiper-button-prev {
  left: -100px;
}
#mf9 .swiper-button-next {
  right: -120px;
}
/* 前へ次への矢印カスタマイズ */
#mf9 .swiper-button-prev::after,
#mf9 .swiper-button-next::after {
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  height: 150px;
  margin: 50px auto 0;
  width: 120px;
}
/* 前への矢印カスタマイズ */
.swiper-button-prev::after {
  background-image: url("../img/prev-min.png");
}
/* 次への矢印カスタマイズ */
.swiper-button-next::after {
  background-image: url("../img/next-min.png");
}
/* 画像サイズ調整 */
.swiper-slide img {
  height: auto;
  width: 100%;
}
#mf9 .swiper-pagination-bullet-active {
  background: #dd6894;
}
#mf9 .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
  bottom: -10px;
}

/*-------------------- mf10 */
#mf10 {
  padding-bottom: 0;
}
#mf10 .cbox {
  width: 80%;
  margin: 0 auto 5vw;
}
#mf10 .cbox h3 {
  padding-left: 4em;
  font-size: 36px;
  position: relative;
}
#mf10 .cbox h3 img {
  width: 3em;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
}
#mf10 .line {
  height: 35px;
  background: linear-gradient(to bottom, #fff, #dfbad4);
  opacity: .6;
  margin: 3vw 0;
}
#mf10 .line.last {
  margin-bottom: 1vw;
}
#mf10 .abox {
  width: 90%;
  margin: 4vw auto 2vw;
}
#mf10 .abox figure {
  width: 55%;
  margin-right: 8%;
}
#mf10 .abox .aboxs {
  width: 37%;
}
#mf10 .abox .aboxs img {
  width: 20%;
  margin: 0 auto 1em;
}

/*-------------------- mf11 */
#mf11 {
  background: linear-gradient(to right, rgba(223,208,217,.36), rgba(204,150,188, .36));
}
#mf11 .ibox {
  width: 60%;
  margin: 0 auto;
}

/*-------------------- mf12 */
#mf12 {
  padding-top: 0;
  background: linear-gradient(to right, #cc96bc, #dfd0d9);
}
#mf12 h2 {
  background: #dd6994;
  height: 50px;
  position: relative;
}
#mf12 h2 img {
  width: 25%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
#mf12 .ibox {
  width: 80%;
  margin: 8vw auto 0;
}

/*-------------------- mf13 */
#mf13 {
  background: url("../img/mf13bg-min.jpg") center center / cover no-repeat;
}
#mf13 h2 {
  width: 80%;
  margin: 0 auto;
}
#mf13 .ibox {
  margin: 3vw auto 0;
}

/*-------------------- mf14 */
#mf14 .question {
  font-weight: 700;
  line-height: 1.4;
  font-size: 22px;
  margin: 0;
  background: rgba(240,220,230, .5);
  padding: .3em 1em .3em 80px;
  position: relative;
}
#mf14 .question p {
  line-height: 1.4;
  margin: 0;
}
#mf14 .question:before {
  content: "Q.";
  display: block;
  font-size: 24px;
  color: #dd6994;
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translate(0, -50%);
}
#mf14 .answer {
  padding: .5em 1em .5em 80px;
  margin: 0 0 1em;
  position: relative;
}
#mf14 .answer p {
  line-height: 1.4;
  margin: 0;
  font-size: 18px;
}
#mf14 .answer:before {
  content: "A.";
  font-family: YuMincho, "Yu Mincho", "Hiragino Mincho ProN", "serif";
  display: block;
  font-size: 24px;
  color: #59a9a0;
  position: absolute;
  top: 50%;
  left: 1em;
  transform: translate(0, -50%);
}


/*-------------------- mf15 */
#mf15 .ibox {
  width: 80%;
  margin: 8vw auto 0;
}

/*-------------------- mf16 */
.bg_purple {
  background: linear-gradient(to right, #cdb4d3, #fdf2f9, #cdb4d3);
}
#mf16 .cbox {
  width: 80%;
  margin: 3vw auto;
}
#mf16 .cbox figure {
  width: 50%;
}
#mf16 .cbox figure img {
  width: 70%;
  margin: 0 auto;
}
#mf16 .cbox .cboxs {
  width: 50%;
}
#mf16 .line {
  height: 2px;
  background: linear-gradient(to right, transparent, #000, transparent);
  margin: 5vw auto;
}

/*-------------------- mf17 */
#mf17 .ibox {
  width: 80%;
  margin: 0 auto 5vw;
}

/*-------------------- mf18 */
#mf18 .cbox {
  margin: 3vw auto;
}
#mf18 dt {
  width: 6em;
  float: left;
}
#mf18 dd {
  margin: 0;
  padding-left: 6em;
}

/*-------------------- mf19 */
#mf19 .cbox {
  display: flex;
  justify-content: center;
  align-items: center;
}
#mf19 li {
  text-indent: -1em;
  padding-left: 1em;
}

/*-------------------- footer */
footer {
  background: #dfbad4;
  padding: 10px 1em;
}
footer a:link,
footer a:visited {
  color: #fff !important;
}
footer p {
  margin: 0;
}

@media screen and (max-width: 1400px) {
  .frame {
    width: 1000px;
  }
  .inner {
    width: 800px;
  }
}

@media screen and (max-width: 1024px) {
  body {
    font-size: 1.7vw;
  }
  .frame {
    width: auto;
    margin: 0 5vw;
  }
  .inner {
    width: auto;
  }
  .mf {
    padding: 10vw 0;
  }
  h2 {
    font-size: 4vw;
  }
  h3 {
    font-size: 3vw;
  }
  .bg_pink {
    width: 80%;
  }
  #mf7 video {
    width: 60%;
  }
  #mf7 video.long {
    width: 40%;
  }
  #mf8 .ibox,
  .cta .ibox {
    width: 100%;
  }
  .btn {
    width: 70%;
  }
  #mf11 .ibox {
    width: 80%;
  }
  #mf12 h2 img {
    width: 45%;
  }
  #mf12 .ibox {
    width: 100%;
    margin: 15vw auto 0;
  }
}

@media screen and (max-width: 780px) {
  body {
    font-size: 2.8vw;
  }
  header .cboxs.pc {
    display: none !important;
  }
  header .cboxs.sp{
    display: flex !important;
    justify-content: space-between;
    align-items: center;
  }
  header .logo {
    width: 45vw;
  }
  header .hbtn {
    width: 30vw;
  }
  h2 {
    font-size: 5vw;
  }
  .border {
    width: 100%;
  }
  h3 {
    font-size: 4vw;
  }
  #mv {
    margin-bottom: 0;
  }
  #mv .cam {
    width: 100%;
    top: 60%;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #mv .btn {
    width: 80%;
    top: auto;
    bottom: 7vw;
    left: 50%;
    transform: translate(-50%, 0);
  }
  #mf1 .cbox .cboxs {
    width: 70%;
  }
  #mf1 .cbox .arr {
    width: 5%;
    margin: 2vw auto;
    transform: rotate(90deg);
  }
  #mf3 .cbox {
    flex-direction: column-reverse !important;
  }
  #mf3 .cbox .cboxs {
    width: 100%;
  }
  #mf3 .cbox figure {
    width: 28%;
    margin: 1em 0 0 auto;
  }
  #mf3 .arr {
    width: 35%;
  }
  .bg_pink {
    width: 100%;
  }
  #mf5 .cbox img,
  #mf5 .cbox img:first-child {
    width: 80%;
    margin: 0 auto 3vw;
  }
  #mf6, #mf7 {
    padding-top: 5vw;
  }
  #mf6 .ibox img {
    width: calc((100% - 40px) / 3);
    margin: 0 20px 0 0;
  }
  #mf6 .cbox .cboxs {
    width: 100%;
  }
  #mf6 .cbox figure {
    width: 60%;
    margin: 0 auto 1em;
  }
  #mf9 .swiper {
    width: 100%;
  }
  #mf9 .swiper-button-next, #mf9 .swiper-button-prev {
    top: auto;
    bottom: -15vw;
  }
  #mf9 .swiper-button-prev {
    left: 10vw;
  }
  #mf9 .swiper-button-next {
    right: 10vw;
  }
  #mf9 .swiper-button-prev::after, #mf9 .swiper-button-next::after {
    width: 10vw;
    height: 10vw;
  }
  #mf10 .abox {
    width: 100%;
    margin: 8vw auto 0;
  }
  #mf10 .abox figure {
    width: 100%;
    margin: 0 auto 5vw;
  }
  #mf10 .abox .aboxs {
    width: 100%;
  }
  #mf10 .abox .aboxs img {
    width: 10%;
  }
  #mf12 h2 img {
    width: 55%;
  }
  #mf13 .tab {
    display: block !important;
  }
    #mf13 .sp_notab {
    display: none !important;
  }
  #mf16 .cbox figure {
    width: 60%;
  }
  #mf16 .cbox .cboxs {
    width: 80%;
    margin: 2em auto 0;
  }
  #mf17 .ibox {
    width: 100%;
    margin: 0 auto;
  }
  #mf18 dt {
    width: 100%;
    float: none;
  }
  #mf18 dd {
    margin: 0 0 .8em;
    padding-left: 0;
  }
  
}

@media screen and (max-width: 540px) {
  body {
    font-size: 3.8vw;
  }
  h2 {
    font-size: 6vw;
  }
  h3 {
    font-size: 5vw;
  }
  .btn {
    width: 90%;
  }
  #mf1 .cbox .cboxs {
    width: 100%;
  }
  #mf1 .cbox .arr {
    width: 8%;
  }
  #mf2 .cbox {
    width: 100%;
  }
  #mf5 h2 img {
    left: .3em;
  }
  #mf5 .cbox img, #mf5 .cbox img:first-child {
    width: 100%;
  }
  #mf6 .ibox img,
  #mf6 .ibox img:last-child{
    width: 100%;
    margin: 0 auto 3vw;
    float: none;
  }
  #mf6 .cbox figure {
    width: 100%;
  }
  #mf7 video {
    width: 90%;
  }
  #mf7 video.long {
    width: 60%;
  }
  #mf8 h3 {
    margin-top: 15vw;
  }
  #mf9 .swiper-button-prev {
    left: 10vw;
    bottom: -30vw;
  }
  #mf9 .swiper-button-next {
    right: 8vw;
    bottom: -30.5vw;
  }
  #mf9 .swiper-horizontal>.swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal, .swiper-pagination-custom, .swiper-pagination-fraction {
    bottom: -5px;
  }
  #mf10 .cbox {
    width: 100%;
  }
  #mf10 .cbox h3 {
    padding-left: 4em;
    font-size: 5vw;
    position: relative;
  }
  #mf10 .line {
    margin: 15vw 0;
  }
  #mf11 .ibox {
    width: 100%;
  }
  #mf11 {
    padding-bottom: 20vw;
  }
  #mf12 h2 img {
    width: 70%;
  }
  #mf12 .ibox {
    margin-top: 20vw;
  }
  #mf13 .tab {
    display: none !important;
  }
  #mf13 .sp_notab {
    display: block !important;
  }
  #mf14 .question {
    font-size: 4vw;
  }
  #mf14 .answer {
    margin: 0 0 2em;
    font-size: 3.6vw;
  }
  #mf16 .cbox figure img,
  #mf16 .cbox .cboxs {
    width: 100%;
  }
}