@charset "utf-8";




/* CSS Document */

/*===============================

1.common

2.header

3.intro

4.lineup

5.check

6.footer

===============================*/



/*=================common=====================*/

html {

    font-size: 62.5%;

}



body {

 color: #18306d;

}



p {

    margin: 0;

}



section {

    margin-top: 6rem;

}



img {

    max-width: 100%;

}

@media(max-width:640px) {

section {

    margin-top: 2rem;

}
}

/*hidden,visible*/

@media screen and (min-width: 991px) {

    .visible-md {

        display: none;

    }

}



@media screen and (min-width: 767px) {



    section {


    }



    .visible-sm {

        display: none;

    }

}



@media screen and (max-width: 991px) {

    .hidden-md {

        display: none;

    }

}



@media screen and (max-width: 767px) {

    .hidden-sm {

        display: none;

    }

}



/*IE*/

@media all and (-ms-high-contrast: none) {

    

    #intro figure img[src$=".svg"] {

    width: 100%;

    height: auto;

}

    .no img[src$=".svg"] {

    width: 40%;

    height: auto;

}



    

}





/*=================header,intro=====================*/



header {

    text-align: center;

}



header img {

    width: 2000px;

}



#intro {

    text-align: center;


    padding-top: 0;


    position: relative;

}



#intro p {

    font-size: 2rem;
    line-height: 1.2;


}

@media(max-width:640px) {
#intro p {

    font-size: 1.6rem;


}

}

@media(min-width:768px) {



    #intro {

        text-align: center;


    }





    #intro p {

        font-size: 2.4rem;

    }



    #intro p span {


    }

}





/*=================lineup=====================*/

/*

#lineup {

    background-image: url(../img/curve01.jpg), url(../img/curve02.jpg), url(../img/bg02.jpg);

    background-position: top, bottom, center;

    background-repeat: no-repeat, no-repeat, repeat;

    background-size: 100%;

}

*/



#lineup .list {

    display: -webkit-box;

    display: -ms-flexbox;

    display: flex;



    -webkit-box-align: start;

    -ms-flex-align: start;

    align-items: flex-start;



    -webkit-box-pack: space-between;

    -ms-flex-pack: space-between;

    justify-content: space-between;



    -ms-flex-wrap: wrap;

    flex-wrap: wrap;



}



#lineup .box {

    width: 47%;

    margin-bottom: 3rem;

    background: #ffeff5;

    border-radius: 10px;
}



#lineup .md {

    position: relative;

}



#lineup h3 {

    font-size: 2rem;

    text-align: center;


    padding: 0.3em 0;

    /*上下の余白*/

    border-top: dotted 2px rgba(250, 154, 182, .5);

    /*上線*/

    border-bottom: dotted 2px rgba(250, 154, 182, .5);

    /*下線*/

    margin: 1rem 0;

}



#lineup .box p {

    font-size: 1.6rem;
    padding: 1.5rem;
    box-sizing: border-box;

}



#lineup .no {

    position: absolute;

    top: -100%;

    left: -1rem;

    min-width: 80px;
    
    font-size: 2.4rem;
    
    color: #fa9ab6;

    font-family:'Noto Serif', serif;
    
    border-bottom: 3px solid #fa9ab6;
    border-bottom: 3px solid rgba(250,154,182,0.6);
    text-shadow: 2px 1px 1px #bac7e8;
}





@media(min-width:768px) {



    #lineup .box {

        width: 30%;

    }



    #lineup h3 {

        font-size: 2.5rem;

        margin: 1rem 0;

    }



    #lineup .box p {

        font-size: 1.8rem;

    }



}


@media(max-width:640px) {
#lineup .no {
    font-size:2rem;
    
}
#lineup .box p {
    padding: 0 1rem 1rem 1rem;

}
#lineup h3 {

    font-size: 1.7rem;

}
}
/*=================check=====================*/



#check .flex {

    -webkit-box-pack: space-between;

    -ms-flex-pack: space-between;

    justify-content: space-between;

    margin-top: 5rem;

}





#check .box {

    font-size: 1.8rem;


    text-align: center;

}





#check p {

    margin-bottom: 2rem

}



#check .box a {

    padding: 1.5rem;

    text-align: center;


    display: block;

    text-decoration: none;

    color: #fa9ab6;

    background: #fff;
    
 
    border: 5px solid #fa9ab6; 
    
    border-radius: 10px;
    
    font-weight: bold;

}



/*

#check .box a:before,

#check .box a:after {

    content: '';

    position: absolute;

    left: 0;

    display: block;

    width: 100%;

    height: 3px;


}



#check a:before {

    top: 0;

}



#check a:after {

    bottom: 0;

}
*/


#check .box a:hover {

    background: #fa9ab6;
    transition: all .5s;

    letter-spacing: .5rem;
    color: #fff;

}





@media(min-width:768px) {

    #check a {

        width: 400px;

    }





    #check .flex {

        display: -webkit-box;

        display: -ms-flexbox;

        display: flex;



        -ms-flex-line-pack: center;

        align-content: center;



        -webkit-box-pack: space-around;

        -ms-flex-pack: space-around;

        justify-content: space-around;



        -webkit-box-align: start;

        -ms-flex-align: start;

        align-items: flex-start;


    }



}



@media screen and (min-width:768px) and (max-width:991px) {

    #check a {

        width: 300px;

    }



}



/*=================footer=====================*/






footer {

    position: relative;

    text-align: center;

    font-size: 1.2rem;
    
    margin-top: 3rem;

}





footer .copy {

    position: absolute;

    left: 0;

    right: 0;

    bottom: 1rem;

}





footer a {


    text-decoration: none;

}



footer a:hover {

    text-decoration: none;


    transition: all .3s;



}



.material-icons {

    font-size: 1.8rem !important;

    vertical-align: bottom

}



@media (min-width:2000px) {



    footer img {

        width: 100%;

    }

}



/* add      */


.box figure img{
    transform: rotate(5deg);
    border-radius: 10px;

}

.image_mouseover_4 img:hover {
transform: scale(1.5);
transition-duration: 0.5s;
opacity: 0.6;
}








#check .container h2{
    font-size: 3.5rem;
    text-align: center;  
    position: relative;
    z-index: 10;
}

#lineup .container h2{
    font-size: 3.5rem;
    text-align: center;  
    padding: 0 0 6rem 0;
    position: relative;
}
@media(max-width:640px) {
#check .container h2{
    font-size: 2.8rem;

}
#lineup .container h2{
    font-size: 2.8rem;

}
}
/* ------------------------------
     ページトップ
  ------------------------------ */

.page-top {
  position: fixed;
  bottom: 1.5rem;
  right: 1rem;
  font-size: 1.2rem;
  -webkit-transition: all .25s;
  transition: all .25s;
  z-index: 100;
}

.page-top a {
  text-decoration: none;
  width: 7rem;
  height: 7rem;
  text-align: center;
  display: block;
  border-radius: 50%;
  position: relative;
  color: rgba(255, 255, 255, 0.9);
}

.page-top a::after {
  position: absolute;
  content: "TOPへ";
  top: -1rem;
  left: 20%;
  color: #fa9ab6;
  font-size: 1.5rem;
/*  border-left: 2px solid rgba(255, 255, 255, 0.9);
  border-top: 2px solid rgba(255, 255, 255, 0.9);
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  */
}

.page-top:hover {
  bottom: 2.5rem;
  right: .9rem;
  opacity: 0.8;
}


.sub{
    display: block;
    font-size: 1.7rem;   
    font-family:'Noto Serif', serif;
    color: #fa9ab6;
}

#check{
     background: #ffeff5; 
     position: relative;
     padding-top: 5rem;   
}
.end{
     position: relative;
     z-index: 10;  
     min-height: 80px; 
}


.outer{
     position: absolute; 
     left: 43%;
     top: -20px;  
}


.heart {
  width: 100px;  /* 正方形を作る */
  height: 100px; /* 正方形を作る */
  position: relative;/* 基準位置とする */
  display: inline-block;
  z-index: -1;
}
.heart::before,
.heart::after {
  content: "";  /* 疑似要素に必須 */
  width: 50%;   /* ハートの丸い部分の大きさにかかわる */
  height: 80%;  /* ハートの高さにかかわる */
  background: #fa9ab6; /* ハートの色 */
  border-radius: 25px 25px 0 0; /* ハートの半円を生成 */
  display: block; /* ブロック要素にする */
  position: absolute; /* 相対位置に指定 */
}
.heart::before {
  transform: rotate(-45deg); /* 左に回転 */
  left: 14%;                 /* 左からの位置を指定 */
}
.heart::after {
  transform: rotate(45deg);  /* 右に回転 */
  right: 14%;                /* 右からの位置を指定 */
}

.outer2{
     position: absolute; 
     left: 47%;
     top: -30px;  
}

.heart2 {
  width: 100px;  /* 正方形を作る */
  height: 100px; /* 正方形を作る */
  position: relative;/* 基準位置とする */
  display: inline-block;
  z-index: -1;
}
.heart2::before,
.heart2::after {
  content: "";  /* 疑似要素に必須 */
  width: 50%;   /* ハートの丸い部分の大きさにかかわる */
  height: 80%;  /* ハートの高さにかかわる */
  background: #bac7e8; /* ハートの色 */
  border-radius: 25px 25px 0 0; /* ハートの半円を生成 */
  display: block; /* ブロック要素にする */
  position: absolute; /* 相対位置に指定 */
}
.heart2::before {
  transform: rotate(-45deg); /* 左に回転 */
  left: 14%;                 /* 左からの位置を指定 */
}
.heart2::after {
  transform: rotate(45deg);  /* 右に回転 */
  right: 14%;                /* 右からの位置を指定 */
}

@media(max-width:640px) {
.sub{
    font-size: 1.4rem;   
    
}
}

.em{
 color: #f76795;
 font-weight: bold;
}
@media(max-width:768px) {

.br{
    display:block;
    content: "";
    font-size: 1.7rem;
}

}
.marker1{
    background:linear-gradient(transparent 20%, #fa9ab6 20%);
     font-weight:bold; 
}
.marker2{
    background:linear-gradient(transparent 20%, #bac7e8 20%);
     font-weight:bold; 
}

.container {
  box-sizing:border-box!important;   
}
.mmm{
    padding-bottom: 2.5rem;   
    
}

.footer__logo{
    position: absolute;
    bottom: 30px;
    left: 0;
    right: 0;  
}
.footer__logo img{
  max-width:150px;
  max-height:100px;

}