@charset "UTF-8";
/* =====================================
	全体設定
===================================== */

html{
    font-size: 62.5%;
}

a{
	color: #333333;
	text-decoration: none;
    transition: 0.3s opacity ease;
}

.sp{
	display: none !important;
}

body{
	position: relative;
	margin: 0 auto;
	font-size: 2.0rem;
    font-weight: normal;
	font-family: "Noto Sans JP", serif;
	color: #333333;
    line-height: 2;
	text-align: left;
	text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;/*Chrome,Safari*/
	-ms-text-size-adjust: 100%;/*EgdeMobile*/
	-moz-text-size-adjust: 100%;/*firefox*/
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
    letter-spacing: 0.03em;
    font-feature-settings: "palt";
    min-width: 1080px;
}

.en{
    font-family: "Roboto", serif;
}

.mincho{
    font-family: "Noto Serif JP", serif;
    font-weight: 600;
}

img {
    max-width: 100%;
    pointer-events: none;
}

/* =====================================
	header
===================================== */

.header.pc{
	width:980px;
	height:100px;
	margin:0 auto;
	overflow:hidden;
	zoom:1;
}
.header.pc .slide_block
{
	width:980px;
}
.header.pc .logo{
	position:absolute;
	margin-left:32px;
	top:10px;

}
.header.pc .telno{
	position:absolute;
	margin-left:450px;
	top:10px;
}

.header.pc .header_cv_btn{
	position:absolute;
	margin-left:730px;
	top:10px;
}
.header.pc .telno .counseling
{
position:absolute;
display:block;
width:250px;
height:70px;
background:#FFF;
margin-left:280px;
margin-top:-76px;
opacity:0;
filter: alpha(opacity=0);
-moz-opacity:0;

}
.header.pc .telno .counseling:hover,
.header.pc .telno .mail:hover
{
opacity:0.4;
filter: alpha(opacity=40);
-moz-opacity:40;
}
.header.pc .telno .mail
{
position:absolute;
display:block;
width:250px;
height:25px;
background:#FFF;
opacity:0;
filter: alpha(opacity=0);
-moz-opacity:0;
margin-left:280px;
margin-top:-31px;
}

/* =====================================
	main
===================================== */

.visual{
    width: 100%;
    height: 779px;
    background: #8b3b4e url("../img/bg01.jpg") no-repeat center;
    position: relative;
    padding: 132px 0 0;
}

.visual div{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 988px;
    height: 779px;
}

.visual p{
    position: absolute;
    left: 0;
    bottom: 654px;
    width: 100%;
    max-width: 576px;
    font-family: "Noto Serif JP", serif;
    font-size: 4.4rem;
    text-align: center;
    color: #fff;
     display: none;
}

.visual h1 img{
    margin: 0 auto;
}

.visual nav{
    position: absolute;
    bottom: -74px;
    left: 50%;
    transform: translateX(-50%);
}

.visual nav ul{
    display: flex;
    width: 1000px;
    margin: 0 auto;
}

#sec01{
    width: 100%;
    padding: 100px 0 100px;
    background: #fbedf2;
}

.ttlType01{
    font-size: 3.6rem;
    font-weight: 300;
    line-height: 1;
    text-align: center;
    padding-bottom: 51px;
    position: relative;
    margin-bottom: 50px;
}

.ttlType01::before{
    content: "";
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    width: 103px;
    height: 2px;
    background: #a23056;
}

.ttlType01 small{
    font-size: 1.8rem;
    font-weight: normal;
    line-height: 1;
    color: #a23056;
    display: block;
    margin-bottom: 15px;
}

#sec01 > ul{
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#sec01 > ul > li{
    position: relative;
}

#sec01 > ul > li li{
    position: absolute;
}

#sec01 > ul > li.face li:nth-child(1){
    top: 89px;
    left: 18px;
    width: 134px;
}

#sec01 > ul > li.face li:nth-child(2){
    top: 173px;
    left: 18px;
    width: 98px;
}

#sec01 > ul > li.face li:nth-child(3){
    top: 257px;
    left: 18px;
    width: 131px;
}

#sec01 > ul > li.face li:nth-child(4){
    top: 341px;
    left: 18px;
    width: 168px;
}

#sec01 > ul > li.face li:nth-child(5){
    top: 425px;
    left: 18px;
    width: 97px;
}

#sec01 > ul > li.face li:nth-child(6){
    top: 89px;
    right: 17px;
    width: 98px;
}

#sec01 > ul > li.face li:nth-child(7){
    top: 174px;
    right: 17px;
    width: 199px;
}

#sec01 > ul > li.face li:nth-child(8){
    top: 257px;
    right: 17px;
    width: 98px;
}

#sec01 > ul > li.face li:nth-child(9){
    top: 341px;
    right: 17px;
    width: 157px;
}

#sec01 > ul > li.face li:nth-child(10){
    top: 425px;
    right: 17px;
    width: 177px;
}

#sec01 > ul > li.body li:nth-child(1){
    top: 77px;
    right: 20px;
    width: 158px;
}

#sec01 > ul > li.body li:nth-child(2){
    top: 148px;
    right: 20px;
    width: 99px;
}

#sec01 > ul > li.body li:nth-child(3){
    top: 220px;
    right: 20px;
    width: 158px;
}

#sec01 > ul > li.body li:nth-child(4){
    top: 295px;
    right: 20px;
    width: 145px;
}

#sec01 > ul > li.body li:nth-child(5){
    top: 370px;
    right: 20px;
    width: 99px;
}

#sec01 > ul > li.body li:nth-child(6){
    top: 445px;
    right: 20px;
    width: 165px;
}

#sec02{
    width: 100%;
    padding: 100px 0;
    background: #a23056;
}

#sec02 .ttlType01{
    color: #fff;
}

#sec02 .ttlType01::before{
    background: #fff;
}

#sec02 .ttlType01 small{
    color: #fff;
}

#sec02 h3 img{
    margin: 57px auto 0;
}

#sec02 ul{
    margin: -355px auto 0;
    width: 1000px;
    display: flex;
    justify-content: space-between;
}

#sec03{
    width: 100%;
    padding: 100px 0 50px;
    background: #fbedf2;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 40px;
}

#sec03 h2{
    width: 100%;
}

#sec03 dl{
    width: 480px;
    margin-top: 20px;
}

#sec03 dl div{
    margin-bottom: 20px;
}

#sec03 dl div:last-child{
    margin-bottom: 0;
}

#sec03 dl div dt{
    background: #fff;
    font-size: 2.0rem;
    line-height: 1;
    color: #a23056;
    padding: 30px 67px 30px 17px;
    position: relative;
    cursor: pointer;
}

#sec03 dl div dt span{
    background: #a23056;
    width: 30px;
    height: 30px;
    position: absolute;
    top: 50%;
    right: 20px;
    border-radius: 50%;
    transform: translateY(-50%);
}

#sec03 dl div dt span::before{
    content: "";
    background: #fff;
    width: 15px;
    height: 1px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
}

#sec03 dl div dt span::after{
    content: "";
    background: #fff;
    width: 1px;
    height: 15px;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: 0.3s all ease;
}

#sec03 dl div dt.active span::after{
    opacity: 0;
}

#sec03 dl div dd{
    background: #f2e0e6;
    display: none;
}

#sec03 dl div dd ul{
    display: flex;
    flex-wrap: wrap;
}

#sec03 dl div dd ul li{
    width: 50%;
    position: relative;
}

#sec03 dl div dd ul li a{
    width: 100%;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    font-size: 1.6rem;
    line-height: 1.1875;
    color: #a44d5f;
    position: relative;
}

#sec03 dl div dd ul li a::before{
  content: "";
  width: 14px;
  height: 14px;
  border-top: solid 2px #a23056;
  border-right: solid 2px #a23056;
  position: absolute;
  right: 14px;
  top: 50.8%;
  transform: translateY(-50%) rotate(45deg);
}

#sec03 dl div dd ul li:nth-child(odd){
    border-top: 1px solid #cfa4ad;
    border-right: 1px solid #cfa4ad;
}

#sec03 dl div dd ul li:nth-child(even){
    border-top: 1px solid #cfa4ad;
}

#sec03 dl div dd ul li:last-child:nth-child(odd){
    position: relative;
}

#sec03 dl div dd ul li:last-child:nth-child(odd)::before{
    content: "";
    position: absolute;
    top: -1px;
    left: 100%;
    width: 100%;
    height: 1px;
    background: #cfa4ad;
}

#sec04{
    width: 100%;
    padding: 100px 0 162px;
    background: #fff;
}

#sec04 .ttlType01{
    margin-bottom: 74px;
}

#sec04 .index{
    width: 702px;
    margin: 0 auto 58px;
    display: flex;
    justify-content: space-between;
}

#sec04 .index li{
    width: 130px;
    height: 80px;
    border-radius: 12px;
    background: #ccc2c2;
    display: flex;
    justify-content: center;
    align-items: center;
    position: relative;
    font-size: 2.0rem;
    font-weight: 500;
    color: #fff;
    cursor: pointer;
    transition: 0.3s all ease;
}

#sec04 .index li.active{
    background: #a23056;
}

#sec04 .index li::before{
    content: "";
    position: absolute;
    bottom: -12px;
    left: 50%;
    transform: translateX(-50%);
    width: 0;
    height: 0;
    border-style: solid;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    border-top: 12px solid #ccc2c2;
    border-bottom: 0;
    opacity: 0;
    transition: 0.3s all ease;
}

#sec04 .index li.active::before{
    border-top: 12px solid #a23056;
    opacity: 1;
}

#sec04 .slide .slick-slide{
    width: 610px;
    opacity: 0.3;
    transition: 0.5s all ease;
}

#sec04 .slide .slick-slide.slick-now{
    opacity: 1;
}

#sec04 .slide .slick-slide img{
    width: 469px;
    margin: 0 auto;
}

#sec04 .slide .slick-slide a{
    width: 270px;
    height: 60px;
    background: #a23056;
    margin: 42px auto 0;
    font-size: 1.6rem;
    font-weight: 500;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    border-radius: 30px;
    position: relative;
}


#sec04 .slide .slick-slide a::before{
    content: "";
    width: 11px;
    height: 11px;
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    position: absolute;
    right: 17px;
    top: 50.8%;
    transform: translateY(-50%) rotate(45deg);
}

.slick-prev, .slick-next{
    width: 24px;
    height: 71px;
    z-index: 1000;
}

.slick-prev{
    left: 50%;
    margin-left: -317px;
    background: url("../img/prev01.png") no-repeat;
}

.slick-next{
    left: 50%;
    margin-left: 297px;
    background: url("../img/next01.png") no-repeat;
}

.slick-dots{
    bottom: -62px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

.slick-dots li{
    width: 13px;
    height: 13px;
    margin: 0 calc(43px / 2);
}

.slick-dots li button{
    width: 13px;
    height: 13px;
}

.slick-dots li button::before{
    width: 13px;
    height: 13px;
    background: #ffccdd;
    border-radius: calc(13px / 2);
}

.slick-dots li.slick-active button::before{
  background: #a23056;
  border: none;
  margin-top: 0;
}

#sec05{
    width: 100%;
    background: #a23056 url("../img/bg02.jpg") no-repeat center top;
    padding: 178px 0 130px;
}

#sec05 h2 img{
    margin: 0 auto;
}

#sec05 > p{
    margin: -19px auto 0;
    width: 1000px;
    height: 474px;
    font-size: 2.4rem;
    font-weight: 300;
    color: #fff;
    line-height: 2;
    padding: 57px 0 0 105px;
    background: url("../img/women01.png") no-repeat top left 478px;
}

#sec05 .point{
    margin: 0 auto;
    width: 1000px;
    border-radius: 12px;
    background: #fff;
    padding: 62px 40px 70px;
}

#sec05 .point ul{
    width: 100%;
    display: flex;
    justify-content: space-between;
}

#sec05 .point ul li{
    width: 280px;
    padding-top: 145px;
    position: relative;
}

#sec05 .point ul li img{
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
}

#sec05 .point ul li h4{
    font-size: 2.4rem;
    line-height: 1.5;
    height: 72px;
    color: #a23157;
    text-align: center;
    margin-bottom: 15px;
}

#sec05 .point ul li p{
    font-size: 1.6rem;
    line-height: 1.75;
}

#sec06{
    width: 100%;
    padding: 100px 0;
    background: #f4f2f8;
}

#sec06 p{
    font-size: 1.8rem;
    text-align: center;
    font-weight: bold;
    color: #a23056;
    line-height: 1;
    margin-bottom: 60px;
}

#sec06 .map{
    width: 1000px;
    height: 705px;
    position: relative;
    margin: 0 auto;
    background: url("../img/bg_hokkaido.png") no-repeat top left 191px;
}

#sec06 .map li{
    position: absolute;
    cursor: pointer;
}

#sec06 .map li:nth-child(1){
    top: 122px;
    left: 708px;
}

#sec06 .map li:nth-child(2){
    top: 304px;
    left: 731px;
}

#sec06 .map li:nth-child(3){
    top: 459px;
    left: 601px;
}

#sec06 .map li:nth-child(4){
    top: 203px;
    left: 458px;
}

#sec06 .map li:nth-child(5){
    top: 475px;
    left: 405px;
}

#sec06 .map li:nth-child(6){
    top: 212px;
    left: 300px;
}

#sec06 .map li:nth-child(7){
    top: 290px;
    left: 169px;
}

#sec06 .map li::before{
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    opacity: 0;
    transition: 0.3s all ease;
}

#sec06 .map li.active::before{
    opacity: 1;
}

#sec06 .map li:nth-child(1)::before{
    background: url("../img/hokkaido_on.png") no-repeat center;
}

#sec06 .map li:nth-child(2)::before{
    background: url("../img/kanto_on.png") no-repeat center;
}

#sec06 .map li:nth-child(3)::before{
    background: url("../img/tokyo_on.png") no-repeat center;
}

#sec06 .map li:nth-child(4)::before{
    background: url("../img/tyubu_on.png") no-repeat center;
}

#sec06 .map li:nth-child(5)::before{
    background: url("../img/kansai_on.png") no-repeat center;
}

#sec06 .map li:nth-child(6)::before{
    background: url("../img/tyugoku_on.png") no-repeat center;
}

#sec06 .map li:nth-child(7)::before{
    background: url("../img/kyusyu_on.png") no-repeat center;
}

#sec06 .shopList{
    width: 100%;
    max-width: 690px;
    margin: 56px auto 0;
}

#sec06 .shopList > li{
    width: 100%;
    display: none;
}

#sec06 .shopList > li.active{
    display: block;
}

#sec06 .shopList h3{
    width: 100%;
    height: 80px;
    font-size: 2.8rem;
    font-weight: bold;
    line-height: 1;
    text-align: center;
    color: #fff;
    padding-top: 27px;
    background: #545d72;
}

#sec06 .shopList dl{
    width: 100%;
    display: flex;
}

#sec06 .shopList dl div{
    width: 50%;
    position: relative;
}

#sec06 .shopList li.kanto dl div:first-child::before,
#sec06 .shopList li.kansai dl div:first-child::before,
#sec06 .shopList li.kyusyu dl div:first-child::before{
    content: "";
    width: 1px;
    height: calc(100% - 99px);
    background: #cdc3c3;
    position: absolute;
    bottom: 0;
    left: calc(100% - 1px);
}

#sec06 .shopList li.tyugoku dl div:first-child::before{
    content: "";
    width: 1px;
    height: calc(100% - 99px);
    background: #cdc3c3;
    position: absolute;
    bottom: 0;
    left: 100%;
}

#sec06 .shopList dl div dt{
    font-size: 2.8rem;
    line-height: 1;
    text-align: center;
    color: #fff;
    padding-top: 36px;
    background: #f57da4;
    width: 100%;
    height: 99px;
}

#sec06 .shopList dl div:nth-child(2) dt{
    background: #ba89c6;
}

#sec06 .shopList dl div dd ul{
    display: flex;
    flex-wrap: wrap;
    background: #cdc3c3;
    gap: 2px;
    width: 100%;
    position: relative;
}

#sec06 .shopList dl div dd ul li{
    width: calc((100% - 2px) / 2);
    height: 86px;
    background: #fff;
    position: relative;
}

#sec06 .shopList dl div:first-child dd ul li:nth-child(odd)::before{
    content: "";
    height: 2px;
    width: 5px;
    background: #fff;
    position: absolute;
    bottom: -2px;
    left: 0;
}

#sec06 .shopList dl div:nth-child(2) dd ul li:nth-child(even)::before{
    content: "";
    height: 2px;
    width: 5px;
    background: #fff;
    position: absolute;
    bottom: -2px;
    right: 0;
}

#sec06 .shopList dl div:first-child dd ul li:nth-child(odd):last-child::before{
    content: "";
    height: 100%;
    width: 1px;
    background: #cdc3c3;
    position: absolute;
    top: 0;
    bottom: auto;
    left: auto;
    right: calc(-100% - 2px);
    z-index: 100;
}

#sec06 .shopList dl div dd ul li:nth-child(odd):last-child::after{
    content: "";
    height: 100%;
    width: 100%;
    background: #fff;
    position: absolute;
    top: 0;
    right: calc(-100% - 2px);
}

#sec06 .shopList dl div:first-child dd ul li:nth-child(even)::before{
    content: "";
    height: 100%;
    width: 1px;
    background: #cdc3c3;
    position: absolute;
    top: 0;
    right: 0;
}

#sec06 .shopList dl div:nth-child(2) dd ul li:nth-child(odd)::before{
    content: "";
    height: 100%;
    width: 1px;
    background: #cdc3c3;
    position: absolute;
    top: 0;
    left: 0;
}

#sec06 .shopList dl div dd ul li a{
    font-size: 2.0rem;
    line-height: 1;
    text-align: center;
    color: #f57da4;
    padding-top: 34px;
    width: 100%;
    height: 86px;
    display: block;
}

#sec06 .shopList dl div:nth-child(2) dd ul li a{
    color: #ba89c6;
}

#sec06 .shopList dl div dd ul li a::before{
    content: "";
    width: 14px;
    height: 14px;
    border-top: solid 2px #f57da4;
    border-right: solid 2px #f57da4;
    position: absolute;
    right: 16px;
    top: 50.8%;
    transform: translateY(-50%) rotate(45deg);
}

#sec06 .shopList dl div:nth-child(2) dd ul li a::before{
    border-top: solid 2px #ba89c6;
    border-right: solid 2px #ba89c6;
}

#sec07{
    width: 100%;
    padding: 100px 0 70px;
    background: #fbedf2;
}

#sec07 h2{
    margin-bottom: 58px;
}

#sec07 .box{
    border-radius: 17px;
    filter: drop-shadow(6px 6px 0px rgba(0,0,0,0.05));
    width: 100%;
    max-width: 1000px;
    background: #fff;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}

#sec07 .box h3{
    width: 100%;
    font-size: 2.8rem;
    line-height: 1;
    color: #fff;
    text-align: center;
    height: 90px;
    background: #f57da4;
    padding-top: 32px;
    border-radius: 17px 17px 0 0;
    margin-bottom: 50px;
}

#sec07 .box .imgArea{
    width: 40.3%;
    margin: 0 0 50px 4%;
}

#sec07 .box .imgArea img{
    width: 100%;
}

#sec07 .box .txtArea{
    width: 46%;
    margin: 0 4% 50px 0;
}

#sec07 .box .txtArea .affiliation_info{
    font-size: 2.8rem;
    line-height: 1;
    font-weight: 500;
    color: #ec749b;
    position: relative;
    display: table;
    margin-bottom: 20px;
}

#sec07 .box .txtArea .info{
    font-size: 2rem;
    line-height: 1.5;
    color: #494949;
}

@media screen and (max-width: 768px) {
#sec07 .box .txtArea .affiliation_info{
    font-size: 3.9vw;
    line-height: 1.5;
    margin-bottom: 3.467vw;
}

#sec07 .box .txtArea .info{
    font-size: 3.8vw;
    line-height: 1.5;
    color: #494949;
}
}

#sec07 .box .txtArea h4 .affiliation{
    padding: 0 70px;
    font-size: 2.8rem;
    line-height: 1;
    font-weight: 500;
    color: #ec749b;
    position: relative;
    display: table;
    margin-bottom: 26px;
}

#sec07 .box .txtArea h4 .affiliation::before{
    content: "";
    width: 55px;
    height: 1px;
    background: #ec749b;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}

#sec07 .box .txtArea h4 .affiliation::after{
    content: "";
    width: 55px;
    height: 1px;
    background: #ec749b;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
}

#sec07 .box .txtArea h4 .icon{
    padding: 15px 13px 0;
    font-size: 2.6rem;
    line-height: 1;
    font-weight: 500;
    border: 1px solid #494949;
    border-radius: 9px;
    height: 60px;
    display: inline-block;
    margin-right: 32px;
    color: #494949;
}

#sec07 .box .txtArea h4 .name{
    display: inline-flex;
    flex-direction: column;
    text-align: center;
    vertical-align: bottom;
    position: relative;
    top: -1px;
}

#sec07 .box .txtArea h4 .name .kanji{
    font-size: 3.6rem;
    line-height: 1;
    font-weight: bold;
    color: #494949;
}

#sec07 .box .txtArea h4 .name .kana{
    font-size: 2.0rem;
    line-height: 1;
    color: #494949;
    margin-bottom: 5px;
}

#sec07 .box .txtArea p{
    font-size: 1.6rem;
    line-height: 1.75;
    color: #494949;
    margin-top: 18px;
}

#sec07 .box .txtArea a {
  width: 270px;
  height: 60px;
  background: #f57da4;
  margin: 35px 0 0;
  font-size: 1.6rem;
  font-weight: 500;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  border-radius: 30px;
  position: relative;
}

#sec07 .box .txtArea a::before {
  content: "";
  width: 11px;
  height: 11px;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 17px;
  top: 50.8%;
  transform: translateY(-50%) rotate(45deg);
}

#sec08{
    width: 100%;
    padding: 100px 0;
}

#sec08 h2{
    margin-bottom: 60px;
}

#sec08 ul{
    width: 1000px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
}

#sec08 ul li{
    width: 235px;
    background: #fbedf2;
    border-radius: 12px;
}

#sec08 ul li a{
    display: flex;
    align-items: center;
    padding: 20px 20px 20px 84px;
    font-size: 1.6rem;
    line-height: 1.5;
    text-align: center;
    height: 100%;
}

#sec08 ul li:nth-child(1) a{
    background: url("../img/icon_line.png") no-repeat center left 20px;
    background-size: 50px auto;
}

#sec08 ul li:nth-child(2) a{
    background: url("../img/icon_inst.png") no-repeat center left 20px;
    background-size: 50px auto;
}

#sec08 ul li:nth-child(3) a{
    background: url("../img/icon_tiktok.png") no-repeat center left 20px;
    background-size: 50px auto;
}

#sec08 ul li:nth-child(4) a{
    background: url("../img/icon_youtube.png") no-repeat center left 20px;
    background-size: 50px auto;
}

.footer_pc{
	background:url(../img/bg_f.jpg) repeat-x right bottom;
	text-align:center;
}

.footer_pc address{
	font-size:13px;
	margin-top:15px;
	padding:20px 0;
	color:#FFFFFF;
	font-style:normal;
}

.floating{
    width: 238px;
    padding: 20px;
    background: #fff;
    border-radius: 12px 0 0 12px;
    position: fixed;
    bottom: 140px;
    right: 0;
}

.floating li{
    width: 100%;
    height: 62px;
    background: #a23056 url("../img/icon_tel.png") no-repeat center left 18px;
    border-radius: 8px;
    filter: drop-shadow(2px 2px 4px rgba(0,0,0,0.11));
    margin-bottom: 12px;
}

.floating li:last-child{
    margin-bottom: 0;
}

.floating li a{
    width: 100%;
    height: 62px;
    font-size: 1.8rem;
    font-weight: bold;
    line-height: 1;
    color: #fff;
    padding: 22px 40px 0 69px;
    display: block;
}

.floating li:nth-child(2){
    background: #f57da4 url("../img/icon_sp.png") no-repeat center left 18px;
}


/****************
  追加 202506
****************/
#counseling {
    width: 100%;
    padding: 100px 0 100px;
    background: #fbedf2;
}
#counseling .counseling_img {
    width: 690px;
    margin: 0 auto 50px;
 
}
#counseling h3 {
    color: #a23056;
    text-align: center;
    font-size: 2.8rem;
    line-height: 1.65;
    margin-bottom: 40px;
  letter-spacing: 1.2px;
}
#counseling .counseling_txt {
    font-size: 1.6rem;
    width: 690px;
    margin: 0 auto;
    letter-spacing: 1.2px;
}
#counseling .counseling_txt .marker {
    background: linear-gradient(transparent 50%, #fcdde8 50%);
}

#promise {
    width: 100%;
    padding: 100px 0 100px;
    background: #a23056;
}
#promise .ttlType01 {
    color: #fff;
}
#promise .ttlType01 small {
    color: #fff;
}
#promise .ttlType01::before {
    background: #fff;
}
#promise .promise_slider {
    width: 550px;
    margin: 0 auto;
}
#promise .promise_slider .slide_item {
    background: #fff;
    border-radius: 20px;
    width: 100%;
    margin: 0 8px;
    box-sizing: border-box;
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    align-items: center;
    padding: 2em;
}

#promise .promise_slider li .circle{
    width:100px;
    height:100px;
    border-radius:50%;
    background:#fff;
    border: #a23056 2px solid;

    display:flex;
    align-items:center;
    justify-content:center;
    flex-direction: column;
    color: #a23056;
    font-weight: 400;
    margin-bottom: 20px;
}
#promise .promise_slider li .circle span {
    line-height: 1;
}
#promise .promise_slider li .circle .small {
    font-size: 1.6rem;
    padding-top: 15px;
}
#promise .promise_slider li .circle .num {
    font-size: 3.5rem;
    padding-top: 5px;
}
#promise .promise_slider li .subTTL {
    font-size: 2rem;
    line-height: 1;
    font-weight: 200;
}
#promise .promise_slider li h3 {
    font-size: 3.5rem;
    color: #a23056; 
    margin-bottom: 20px;
}
#promise .promise_slider li .promise_txt {
    font-size: 1.6rem;
    line-height: 1.75;
    letter-spacing: 1px;
}
#promise .slick-dots li button::before {
    width: 13px;
    height: 13px;
    background: #b6b6b6;
    border-radius: calc(13px / 2);
}
#promise .slick-dots li.slick-active button::before {
    background: #ffffff;
    border: none;
    margin-top: 0
}
#promise .slick-track {
    display: flex;
}
#promise .slick-slide {
    height: auto !important;
}

/****************
  追加 202510
****************/
#sec07,#counseling,.btnarea {
    a.counseling_cta{
        width: 480px;
        height: 80px;
        background-image: linear-gradient(175deg, #fc719a 50%, #ae293f);
        box-shadow: 2px 2px 4px gray;
        margin: 0 auto;
        font-size: 2.4rem;
        font-weight: 600;
        letter-spacing: 0.2rem;
        display: flex;
        justify-content: center;
        align-items: center;
        color: #fff;
        border-radius: 50px;
        position: relative;
        text-align: center;

        &::before {
            content: "";
            width: 16px;
            height: 16px;
            border-top: solid 3px #fff;
            border-right: solid 3px #fff;
            position: absolute;
            right: 20px;
            top: 50.8%;
            transform: translateY(-50%) rotate(45deg);
        }
    }
}
.mt35 {
    margin-top: 35px;
}

#sec07 .btnarea {
    padding-bottom: 0;
    p {
        margin: 50px auto 0;
        text-align: center;
        font-size: 2.2rem;
    }
}

.btnarea {
    background-color: #fbedf2;
    margin: 0;
    padding-bottom: 100px;

    p {
        margin: 0 auto;
        text-align: center;
        font-size: 2.2rem;
    }
}

@media screen and (max-width: 768px) {

.pc{
	display:none !important;
}

.sp{
	display:block !important;
}

a:hover{
	opacity: 1;
}

body{
	font-size: 4.1604vw;
    width: 100%;
    overflow-x: hidden;
    min-width: inherit;
}

/* =====================================
	header
===================================== */

.header.sp {
    position: fixed;
    width: 640px;
    margin: 0 auto;
    background: #FFF;
    border-bottom: solid 1px #DAC36E;
    overflow: hidden;
    zoom:1;box-shadow: 0px 6px 3px -3px rgba(64,64,64,0.2);
    -webkit-box-shadow: 0px 6px 3px -3px rgba(64,64,64,0.2);
    -moz-box-shadow: 0px 6px 3px -3px rgba(64,64,64,0.2);
    z-index: 10000;
}

.header.sp .logo {
    float: left;
    padding-top: 18px;
    padding-left: 18px;
}

.header.sp .headnavi {
    float: right;
}

.header.sp .headnavi ul li {
    float: left;
}

.header.sp .headnavi ul {
    overflow: hidden;
    zoom:1;}

.menublock {
    margin: 0px;
    width: 640px;
    z-index: 101;
    padding-top: 0px;
    position: fixed;
    top: -2000px;
    overflow-y: hidden;
    background: #FFF;
}

.sinryou_area.menublock ul {
    border-left: solid 1px #FFF;
    border-top: solid 2px #FFF;
}

.sinryou_area.menublock ul li {
    background: #FCE0EC;
    border-right: solid 1px #FFF;
    border-bottom: solid 2px #FFF;
}

.sinryou_area.menublock ul li.half {
    border-left: solid 1px #FFF;
}

.sinryou_area.menublock ul li.close {
    text-align: center;
}

.sinryou_area.menublock ul li.close a {
    background: url(../img/sp/icon_close.webp) no-repeat 38% center;
}

.sinryou_area h3 {
    width: 100%;
    background: #FF8BB2;
    color: #FFFFFF;
    font-size: 36px;
    padding: 10px;
    display: block;
}

.sinryou_area ul {
    letter-spacing: -.4em;
    border-left: solid 1px #CCC;
    border-top: solid 1px #CCC;
}

.sinryou_area ul li {
    width: 100%;
    display: inline-block;
    letter-spacing: normal;
    background: rgb(255,255,255);
    background: -moz-linear-gradient(top, rgba(255,255,255,1) 26%, rgba(240,240,240,1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(26%,rgba(255,255,255,1)), color-stop(100%,rgba(240,240,240,1)));
    background: -webkit-linear-gradient(top, rgba(255,255,255,1) 26%,rgba(240,240,240,1) 100%);
    background: -o-linear-gradient(top, rgba(255,255,255,1) 26%,rgba(240,240,240,1) 100%);
    background: -ms-linear-gradient(top, rgba(255,255,255,1) 26%,rgba(240,240,240,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,1) 26%,rgba(240,240,240,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f0f0f0',GradientType=0 );
    margin: 0;
    padding: 0;
    vertical-align: top;
    border-right: solid 1px #CCC;
    border-bottom: solid 1px #CCC;
}

.sinryou_area ul li:hover {
    background: rgb(255,255,255);
    background: -moz-linear-gradient(top, rgba(255,255,255,1) 26%, rgba(247,215,240,1) 100%);
    background: -webkit-gradient(linear, left top, left bottom, color-stop(26%,rgba(255,255,255,1)), color-stop(100%,rgba(247,215,240,1)));
    background: -webkit-linear-gradient(top, rgba(255,255,255,1) 26%,rgba(247,215,240,1) 100%);
    background: -o-linear-gradient(top, rgba(255,255,255,1) 26%,rgba(247,215,240,1) 100%);
    background: -ms-linear-gradient(top, rgba(255,255,255,1) 26%,rgba(247,215,240,1) 100%);
    background: linear-gradient(to bottom, rgba(255,255,255,1) 26%,rgba(247,215,240,1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#f7d7f0',GradientType=0 );
}

.sinryou_area ul li.half {
    width: 50%;
}

.sinryou_area ul li a {
    width: 100%;
    padding: 5px 15px;
    text-decoration: none;
    vertical-align: middle;
    font-size: 32px;
    line-height: 1.2;
    height: 100px;
    display: table;
    table-layout: fixed;
    color: #333333;
}

.sinryou_area ul li.half a {
    font-size: 28px;
}

.sinryou_area ul li a span {
    display: table-cell;
    vertical-align: middle;
}

.sinryou_area ul li a span.icon1 {
    background: url(../img/sp/icon_hutae.webp) no-repeat left center;
    padding-left: 100px;
}

.sinryou_area ul li a span.icon2 {
    background: url(../img/sp/icon_face.webp) no-repeat left center;
    padding-left: 100px;
}

.sinryou_area ul li a span.icon3 {
    background: url(../img/sp/icon_nose.webp) no-repeat left center;
    padding-left: 100px;
}


/* =====================================
	main
===================================== */

.visual{
    height: auto;
    background: none;
    padding: 101px 0 0;
}
  
.visual div{
    width: 100%;
    height: 100%;
}

.visual p{
    left: 0;
    bottom: 190vw;
    max-width: inherit;
    font-size: 5.8vw;
    line-height: 1.35;
}

.visual nav{
    position: relative;
    bottom: auto;
    left: auto;
    transform: translateX(0);
}

.visual nav ul{
    width: 100%;
    flex-wrap: wrap;
    border-bottom: 1px solid #fff;
}

.visual nav ul li {
    width: calc(100% / 3);
}
.visual nav ul li img {
    width: 100%;
}
  
#sec01{
    padding: 16.4vw 0 13.6vw;
}

.ttlType01{
    font-size: 6.4vw;
    padding-bottom: 6.4vw;
    margin-bottom: 11.067vw;
}

.ttlType01::before{
    width: 13.733vw;
}

.ttlType01 small{
    font-size: 3.2vw;
    margin-bottom: 2.533vw;
}

#sec01 > ul{
    width: 100%;
    display: block;
}

#sec01 > ul li{
    position: relative;
}

#sec01 > ul li .tab01{
    position: absolute;
    top: 0;
    right: 0;
    width: 48vw;
    z-index: 100;
}

#sec01 > ul li .tab02{
    position: absolute;
    top: 0;
    left: 0;
    width: 48vw;
    z-index: 100;
}

#sec01 > ul > li.face li:nth-child(1){
    top: 18.533vw;
    left: 3.467vw;
    width: 28vw;
}

#sec01 > ul > li.face li:nth-child(2){
    top: 36vw;
    left: 3.467vw;
    width: 20.4vw;
}

#sec01 > ul > li.face li:nth-child(3){
    top: 53.467vw;
    left: 3.467vw;
    width: 27.33vw;
}

#sec01 > ul > li.face li:nth-child(4){
    top: 70.933vw;
    left: 3.467vw;
    width: 35.067vw;
}

#sec01 > ul > li.face li:nth-child(5){
    top: 88.67vw;
    left: 3.467vw;
    width: 20.133vw;
}

#sec01 > ul > li.face li:nth-child(6){
    top: 18.533vw;
    right: 3.33vw;
    width: 20.533vw;
}

#sec01 > ul > li.face li:nth-child(7){
    top: 36vw;
    right: 3.33vw;
    width: 41.467vw;
}

#sec01 > ul > li.face li:nth-child(8){
    top: 53.467vw;
    right: 3.33vw;
    width: 20.533vw;
}

#sec01 > ul > li.face li:nth-child(9){
    top: 70.933vw;
    right: 3.33vw;
    width: 32.67vw;
}

#sec01 > ul > li.face li:nth-child(10){
    top: 88.67vw;
    right: 3.33vw;
    width: 36.8vw;
}

#sec01 > ul > li.body{
    display: none;
}

#sec01 > ul > li.body li:nth-child(1){
    top: 17vw;
    right: 3.733vw;
    width: 32.3vw;
}

#sec01 > ul > li.body li:nth-child(2){
    top: 32vw;
    right: 3.733vw;
    width: 20.4vw;
}

#sec01 > ul > li.body li:nth-child(3){
    top: 47vw;
    right: 3.733vw;
    width: 32.3vw;
}

#sec01 > ul > li.body li:nth-child(4){
    top: 62vw;
    right: 3.733vw;
    width: 30.3vw;
}

#sec01 > ul > li.body li:nth-child(5){
    top: 77vw;
    right: 3.733vw;
    width: 20.4vw;
}

#sec01 > ul > li.body li:nth-child(6){
    top: 92vw;
    right: 3.733vw;
    width: 33.6vw;
}

#sec02{
    padding: 15.067vw 0 17.067vw;
}

#sec02 h3 img{
    margin: 7.6vw auto 0;
}

#sec02 ul{
    margin: 0 auto;
    width: 92vw;
    display: block;
}

#sec02 ul li{
    margin-bottom: 2.8vw;
}

#sec02 ul li:last-child{
    margin-bottom: 0;
}

#sec03{
    padding: 17.33vw 0 10vw;
    display: block;
}

#sec03 dl{
    width: 92vw;
    margin: 10.67vw auto 0;
}

#sec03 dl div{
    margin-bottom: 1.467vw;
}

#sec03 dl div dt{
    font-size: 4.8vw;
    padding: 9.33vw 6.67vw;
}

#sec03 dl div dt span{
    width: 6.133vw;
    height: 6.133vw;
    right: 5.467vw;
}

#sec03 dl div dt span::before{
    width: 2.8vw;
    height: 0.4vw;
}

#sec03 dl div dt span::after{
    width: 0.4vw;
    height: 2.8vw;
}

#sec03 dl div dd{
    margin-bottom: 2.933vw;
}

#sec03 dl div:last-child dd{
    margin-bottom: 0;
}

#sec03 dl div dd ul li a{
    height: 17.867vw;
    font-size: 3.2vw;
}

#sec03 dl div dd ul li a::before{
  width: 1.867vw;
  height: 1.867vw;
  right: 3.6vw;
}

#sec04{
    padding: 16.133vw 0 29.067vw;
}

#sec04 .ttlType01{
    margin-bottom: 9.867vw;
}

#sec04 .index{
    width: 93.6vw;
    margin: 0 auto 13.33vw;
}

#sec04 .index li{
    width: 17.33vw;
    height: 17.33vw;
    border-radius: 2.267vw;
    font-size: 3.867vw;
    text-align: center;
    line-height: 0.89655;
}

#sec04 .index li::before{
    bottom: -1.8vw;
    border-right: 1.6vw solid transparent;
    border-left: 1.6vw solid transparent;
    border-top: 2.2vw solid #ccc2c2;
}

#sec04 .index li.active::before{
    border-top: 2.2vw solid #a23056;
}

#sec04 .slide .slick-slide{
    width: 100vw;
}

#sec04 .slide .slick-slide img{
    width: 78vw;
}

#sec04 .slide .slick-slide a{
    width: 70.67vw;
    height: 15.733vw;
    margin: 8.933vw auto 0;
    font-size: 4.267vw;
    border-radius: 7.867vw;
}


#sec04 .slide .slick-slide a::before{
    width: 2.8vw;
    height: 2.8vw;
    right: 4.133vw;
}

.slick-prev, .slick-next{
    width: 3.2vw;
    height: 9.467vw;
}

.slick-prev{
    left: 2.133vw;
    margin-left: 0;
    background: url("../img/prev01.png") no-repeat;
    background-size: 3.2vw auto;
}

.slick-next{
    left: auto;
    right: 2.133vw;
    margin-left: 0;
    background: url("../img/next01.png") no-repeat;
    background-size: 3.2vw auto;
}

.slick-dots{
    bottom: -62px;
    right: auto;
    left: 50%;
    transform: translateX(-50%);
}

.slick-dots li{
    width: 13px;
    height: 13px;
    margin: 0 calc(43px / 2);
}

.slick-dots li button{
    width: 13px;
    height: 13px;
}

.slick-dots li button::before{
    width: 13px;
    height: 13px;
    background: #ffccdd;
    border-radius: calc(13px / 2);
}

.slick-dots li.slick-active button::before{
  background: #a23056;
  border: none;
  margin-top: 0;
}

#sec05{
    background: #a23056 url("../img/sp/bg02.jpg") no-repeat center top;
    background-size: 100% auto;
    padding: 18.4vw 0 16.267vw;
}

#sec05 h2 img{
    width: 69.067vw;
}

#sec05 > p{
    margin: 3.467vw auto 0;
    width: 100%;
    height: 135.067vw;
    font-size: 4vw;
    text-align: center;
    padding: 0;
    background: url("../img/sp/women01.png") no-repeat center bottom;
    background-size: 84.933vw;
}

#sec05 .point{
    width: 92vw;
    border-radius: 1.6vw;
    padding: 11.2vw 8vw 12vw 4.67vw;
}

#sec05 .point ul{
    display: block;
}

#sec05 .point ul li{
    width: 100%;
    padding-top: 12vw;
}

#sec05 .point ul li img{
    left: 0;
    transform: translateX(0);
}

#sec05 .point ul li:nth-child(1) img{
    width: 28.267vw;
}

#sec05 .point ul li:nth-child(2) img{
    width: 26.4vw;
}

#sec05 .point ul li:nth-child(3) img{
    width: 26.533vw;
}

#sec05 .point ul li h4{
    font-size: 4.42267vw;
    line-height: 1;
    height: auto;
    text-align: left;
    margin: 0 0 2.933vw 18.67vw;
    position: relative;
    z-index: 1;
}

#sec05 .point ul li p{
    font-size: 3.2vw;
    width: 45.867vw;
    margin: 0 0 0 auto;
}

#sec06{
    padding: 13.867vw 0 12.133vw;
}

#sec06 p{
    font-size: 4vw;
    margin-bottom: 5.2vw;
}

#sec06 .map{
    width: 100%;
    height: 94vw;
    background: url("../img/bg_tokyo.png") no-repeat center top;
    background-size: 86.933vw;
}

#sec06 .map li:nth-child(1){
    top: 16.267vw;
    left: 77.733vw;
    width: 17.067vw;
}

#sec06 .map li:nth-child(2){
    top: 40.533vw;
    left: 80.8vw;
    width: 17.067vw;
}

#sec06 .map li:nth-child(3){
    top: 60.933vw;
    left: 63.33vw;
    width: 25.867vw;
}

#sec06 .map li:nth-child(4){
    top: 27.067vw;
    left: 44.4vw;
    width: 17.067vw;
}

#sec06 .map li:nth-child(5){
    top: 63.33vw;
    left: 37.33vw;
    width: 17.067vw;
}

#sec06 .map li:nth-child(6){
    top: 28.267vw;
    left: 23.33vw;
    width: 17.067vw;
}

#sec06 .map li:nth-child(7){
    top: 38.67vw;
    left: 5.867vw;
    width: 17.067vw;
}

#sec06 .map li:nth-child(1)::before{
    background: url("../img/hokkaido_on.png") no-repeat center;
    background-size: cover;
}

#sec06 .map li:nth-child(2)::before{
    background: url("../img/kanto_on.png") no-repeat center;
    background-size: cover;
}

#sec06 .map li:nth-child(3)::before{
    background: url("../img/tokyo_on.png") no-repeat center;
    background-size: cover;
}

#sec06 .map li:nth-child(4)::before{
    background: url("../img/tyubu_on.png") no-repeat center;
    background-size: cover;
}

#sec06 .map li:nth-child(5)::before{
    background: url("../img/kansai_on.png") no-repeat center;
    background-size: cover;
}

#sec06 .map li:nth-child(6)::before{
    background: url("../img/tyugoku_on.png") no-repeat center;
    background-size: cover;
}

#sec06 .map li:nth-child(7)::before{
    background: url("../img/kyusyu_on.png") no-repeat center;
    background-size: cover;
}

#sec06 .shopList{
    width: 92vw;
    margin: 7.467vw auto 0;
}

#sec06 .shopList h3{
    height: 10.67vw;
    font-size: 3.733vw;
    padding-top: 3.6vw;
}

#sec06 .shopList li.kanto dl div:first-child::before,
#sec06 .shopList li.kansai dl div:first-child::before,
#sec06 .shopList li.kyusyu dl div:first-child::before{
    height: calc(100% - 10.67vw);
}

#sec06 .shopList li.tyugoku dl div:first-child::before{
    height: calc(100% - 10.67vw);
}

#sec06 .shopList dl div dt{
    font-size: 3.733vw;
    padding-top: 4.8vw;
    height: 13.2vw;
}

#sec06 .shopList dl div dd ul li{
    height: 11.733vw;
}

#sec06 .shopList dl div:first-child dd ul li:nth-child(odd)::before{
    width: 0.8vw;
}

#sec06 .shopList dl div:nth-child(2) dd ul li:nth-child(even)::before{
    height: 2px;
    width: 0.8vw;
}

#sec06 .shopList dl div dd ul li a{
    font-size: 2.67vw;
    padding-top: 4.4vw;
    height: 11.6vw;
}

#sec06 .shopList dl div dd ul li a::before{
    width: 1.867vw;
    height: 1.867vw;
    right: 2.267vw;
}

#sec07{
    padding: 11.467vw 0 13.467vw;
}

#sec07 h2{
    margin-bottom: 7.733vw;
}

#sec07 .box{
    border-radius: 2.267vw;
    width: 92vw;
    padding-bottom: 8.67vw;
}

#sec07 .box h3{
    font-size: 3.733vw;
    height: 12vw;
    padding-top: 4.4vw;
    border-radius: 2.267vw 2.267vw 0 0;
    margin-bottom: 6.533vw;
}

#sec07 .box .imgArea{
    width: 31.733vw;
    margin: 0 0 3.2vw 6.67vw;
}

#sec07 .box .txtArea{
    width: 42vw;
    margin: 0 6.67vw 3.2vw 0;
}

#sec07 .box .txtArea h4 .affiliation{
    padding: 0 9vw;
    font-size: 3.733vw;
    margin-bottom: 3.467vw;
}

#sec07 .box .txtArea h4 .affiliation::before{
    width: 7.467vw;
}

#sec07 .box .txtArea h4 .affiliation::after{
    width: 7.467vw;
}

#sec07 .box .txtArea h4 .icon{
    padding: 1.9vw 1.733vw 0;
    font-size: 3.51vw;
    border-radius: 1.2vw;
    height: 8vw;
    margin-right: 4.267vw;
}

#sec07 .box .txtArea h4 .name{
    top: 0;
}

#sec07 .box .txtArea h4 .name .kanji{
    font-size: 4.76267vw;
}

#sec07 .box .txtArea h4 .name .kana{
    font-size: 2.67vw;
    margin-bottom: 1.2vw;
}

#sec07 .box p{
    font-size: 3.2vw;
    line-height: 1.75;
    color: #494949;
    margin: 2.4vw auto 0;
    width: 78.67vw;
}

#sec07 .box > a{
    width: 54.8vw;
    height: 12.267vw;
    background: #f57da4;
    margin: 5.33vw auto 0;
    font-size: 3.2vw;
    font-weight: 500;
    display: flex!important;
    justify-content: center;
    align-items: center;
    color: #fff;
    border-radius: 6.1335vw;
    position: relative;
}

#sec07 .box a::before {
  content: "";
  width: 1.867vw;
  height: 1.867vw;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  position: absolute;
  right: 4.933vw;
  top: 50.8%;
  transform: translateY(-50%) rotate(45deg);
}

#sec08{
    padding: 10.133vw 0 11.467vw;
}

#sec08 h2{
    margin-bottom: 8vw;
}

#sec08 ul{
    width: 89.33vw;
    flex-wrap: wrap;
}

#sec08 ul li{
    width: 43.64vw;
    border-radius: 2.267vw;
    margin-bottom: 1.867vw;
}

#sec08 ul li:nth-last-child(-n+2){
    margin-bottom: 0;
}

#sec08 ul li a{
    padding: 2.4vw 4vw 2.4vw 15.467vw;
    font-size: 2.67vw;
}

#sec08 ul li:nth-child(1) a{
    background: url("../img/icon_line.png") no-repeat center left 4vw;
    background-size: 8.4vw auto;
}

#sec08 ul li:nth-child(2) a{
    background: url("../img/icon_inst.png") no-repeat center left 4vw;
    background-size: 8.4vw auto;
}

#sec08 ul li:nth-child(3) a{
    background: url("../img/icon_tiktok.png") no-repeat center left 4vw;
    background-size: 8.4vw auto;
}

#sec08 ul li:nth-child(4) a{
    background: url("../img/icon_youtube.png") no-repeat center left 4vw;
    background-size: 8.4vw auto;
}

/****************
  追加 202506
****************/
#counseling {
    padding: 10.133vw 0 11.467vw;
}
#counseling .counseling_img {
    width: 100%;
}
#counseling h3 {
    font-size: 4.8vw;
}
#counseling .counseling_txt {
    font-size: 3.2vw;
    width: 84%;
}
  
#promise {
    padding: 10.133vw 0 15.467vw;
}
#promise .promise_slider {
    width: 92%;
}
#promise .promise_slider .slide_item {
    width: 100%;
    margin: 0 8px;
    padding: 1.5em;
}

#promise .promise_slider li .circle{
    width:120px;
    height:120px;
    margin-bottom: 20px;
}
#promise .promise_slider li .circle span {
    line-height: 1;
}
#promise .promise_slider li .circle .small {
    font-size: 3.2vw;
}
#promise .promise_slider li .circle .num {
    font-size: 6vw;
}
#promise .promise_slider li .subTTL {
    font-size: 4vw;
}
#promise .promise_slider li h3 {
    font-size: 6vw;    
}
#promise .promise_slider li .promise_txt {
    font-size: 3.2vw;
}

/****************
  追加 202510
****************/
#sec07,#counseling,.btnarea {
    a.counseling_cta{
        width: 80%;
        height: 12.267vw;
        font-size: 4vw;

        &::before {
            content: "";
            width: 11px;
            height: 11px;
            border-top: solid 2px #fff;
            border-right: solid 2px #fff;
        }
    }
}

#sec07 .btnarea {
    padding-bottom: 0;
    p {
        font-size: 4vw;
    }
}

.btnarea {
    padding-bottom: 70px;

    p {
        font-size: 4vw;
    }
}

  


/* =====================================
	footer
===================================== */

.footer_sp{
    background: #FE68A5;
    color: #FFFFFF;
    text-align: center;
    padding: 10px;
    font-size: 14px;
}

.floating{
    width: 100%;
    bottom: 0;
    right: auto;
    left: 50%;
    filter: none;
    bottom: -100%;
    transform: translateX(-50%);
}

.floating img{
    width: 100%;
}

@keyframes fadein {
  0% {
    bottom: 0;
    opacity: 0;
  }
  100% {
    bottom: 0;
    opacity: 1;
  }
}
.floating.hidden {
  animation: .5s ease-in forwards fadeout;
}
@keyframes fadeout {
  0% {
    bottom: 0;
    opacity: 1;
  }
  99% {
    bottom: 0;
    opacity: 0;
  }
  100% {
    bottom: -100%;
    opacity: 0;
  }
}

}