body {
    font-size: 14px;
    font-family: YuGothic, "游ゴシック", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

img {
    display: block;
    margin: 0;
    padding: 0;
    height: auto;
}

button {
    background-color: transparent;
    border: none;
    cursor: pointer;
    outline: none;
    padding: 0;
    appearance: none;
}

section:before {
    content: "";
    display: block;
    height: 66px;
    /* 調整したい高さ（固定ヘッダーの高さ） */
    margin-top: -66px;
    /* heightと同じ分のネガティブマージン */
    visibility: hidden;
}

.header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 99;
    background: #fff;
    border-bottom: 1px solid #d4d4d4;
}

a:hover {
    opacity: 0.7;
}

.hd-inner {
    position: relative;
}

.menu-trigger {
    display: block;
    position: absolute;
    z-index: 999;
    top: 50%;
    transform: translateY(-50%);
    width: 6vw;
    max-width: 30px;
    height: 4.2vw;
    max-height: 25px;
}

.menu-trigger.open {
    left: 2vw;
}

.menu-trigger span {
    display: block;
    position: absolute;
    width: 100%;
    height: 1px;
    background: #919191;
}

.menu-trigger span:first-child {
    top: 0;
}

.menu-trigger span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%);
}

.menu-trigger span:last-child {
    bottom: 0;
}

.header .logo {
    display: block;
    margin: 0 auto;
    width: 50px;
    padding-block: 10px
}

.header .logo img {
    width: 100%;
}

.hd-nav {
    position: fixed;
    /* 追従ヘッダーなどでも表示できるよう設定しておく */
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgb(0 0 0 / 50%);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.hd-nav.active {
    opacity: 1;
    visibility: visible;
    z-index: 999;
}

.hd-nav .hd-navinner {
    position: relative;
    top: 0;
    width: 400px;
    padding-bottom: 30vw;
    border-top: none;
    background: #fff;
    z-index: 9999;
    transform: translateX(-100%);
    transition: transform 0.3s ease;

}

.hd-nav.active .hd-navinner {
    transform: translateX(0);
    transition: transform 0.3s ease;
}

body.active {
    height: 100%;
    overflow: hidden;
}


.hd-nav ul li {
    position: relative;
    font-size: 17px;
    border-bottom: 1px solid #d4d4d4;
}

.hd-nav ul li:nth-child(n+2) a {
    padding-block: 1em;
    padding-inline: 1.8em 3em;
    display: block;
}

.menu-trigger.close {
    right: 40px;
    transform: translate(50%, -50%);
}

.menu-trigger.close span {
    top: 50%;
    transform-origin: center;
}

.menu-trigger.close span:first-child {
    transform: translateY(-50%) rotateZ(45deg);
}

.menu-trigger.close span:last-child {
    transform: translateY(-50%) rotateZ(-45deg);
}


.main-image {
    padding-top: 66px;
}

.main-image img {
    width: 100%;
}

.inner {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 80px;
}

.inner02 {
    max-width: 1000px;
    width: 100%;
    margin: 0 auto;
    padding: 80px 0;
}

.inner-vo {
    max-width: 1020px;
    width: 100%;
    margin: 0 auto;
    padding: 80px 0 0;
}

.cv01 {
    padding: 40px;
    margin-top: 60px;
    border: 8px solid #ecedf1;
}

.cv01 {
    padding: 40px;
    margin-top: 60px;
    border: 8px solid #ecedf1;
}

a img,
.cv01 img,
.cv02 img {
    margin: 0 auto;
}

.ttl {
    margin: 0 auto 70px;
    display: block;
}

#voice .slider {
    margin-bottom: 90px;
}

#voice .slider .sl-vi {
    margin: 0 10px;
}

#voice .slider .slide-arrow {
    bottom: 0;
    cursor: pointer;
    margin: auto;
    position: absolute;
    top: 0;
    width: 30px;
}

#voice .slider .prev-arrow {
    left: -40px;
}

#voice .slider .next-arrow {
    right: -40px;
}

.slick-dots li button:before {
    color: #f87587;
}

#voice .slider li.slick-active button:before {
    color: #f87587;
}



.br-cont .cv-br {
    position: relative;
}

.br-cont li {
    margin-bottom: 60px;
}

.br-cont li:last-child {
    margin-bottom: 0;
}

.br-cont .cv-br .cv-br-btn {
    position: absolute;
    top: 0;
    left: 168px;
}

.mt60 {
    margin-top: 60px;
}
.rc-01{
    width: 100%;
    max-width: 1200px;
    display: block;
    margin: 60px auto 0;
}
.bg-gray {
    background: linear-gradient(#FFFFFF 25px, #f2f6f9 25px);
}

.bg-pink {
    background: linear-gradient(#FFFFFF 25px, #fff5f3 25px);
}

.bg-grpink {
    background: rgb(249, 139, 155);
    background: linear-gradient(75deg, rgba(249, 139, 155, 1) 0%, rgba(248, 117, 136, 1) 100%);
}

.bg-gray2 {
    background: #f2f6f9;
}


footer {
    margin: 0 auto;
    max-width: 400px;
    width: 100%;
    padding: 20px;
}

.f-link {
    display: flex;
    justify-content: space-between;
}

.f-link li a {
    color: #000000;
    font-weight: bold;
    font-size: 12px;
}

.copy {
    font-size: 10px;
    color: #878787;
    text-align: center;
    margin-top: 10px;
}


/*--エントリーフォーム--*/


/* iOSリセット */
input[type="submit"],
input[type="button"] {
    border-radius: 0;
    -webkit-box-sizing: content-box;
    -webkit-appearance: button;
    appearance: button;
    border: none;
    box-sizing: border-box;
    cursor: pointer;
}

input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
    display: none;
}

input[type="submit"]::focus,
input[type="button"]::focus {
    outline-offset: -2px;
}

#entry {
    font-family: 'Noto Sans JP', sans-serif;
}

.entry-ttl-box {
    text-align: center;
    padding: 60px 0 0;
}

.entry-ttl-box .entry-ttl {
    font-size: 24px;
    font-weight: 700;
}

.entry-ttl-box .entry-txt {
    font-size: 14px;
}

.form-inner {
    max-width: 600px;
    margin: 0 auto;
    padding: 60px 0;
}

.entryFormBox dt {
    border-top: 1px solid #e2e3e5;
    font-size: 16px;
    font-weight: 700;
}

.entryFormBox dt .ico-required {
    font-size: 13px;
    display: inline-block;
    background: #f50017;
    color: #fff;
    border-radius: 5px;
    padding: 5px;
    line-height: 1;
    vertical-align: middle;
    margin: 0 0 0 10px;
}

.entryFormBox dt .multiple {
    font-size: 13px;
    display: inline-block;
    color: #f50017;
    border: 1px solid #f50017;
    border-radius: 5px;
    padding: 5px;
    line-height: 1;
    vertical-align: middle;
    margin: 0 0 0 5px;
}

.entryFormBox dt {
    padding: 10px;
}

.entryFormBox dd {
    padding: 0 10px 10px;
}

.entryFormBox input {
    padding: 5px;
    border: 1px solid #e2e3e5;
    background: #f5f6f8;
}

.entryFormBox .notice-text {
    font-size: 12px;
    display: inline-block;
    margin: 0 0 0 5px;
}

.entryFormBox .fullinput input {
    display: block;
    width: 100%;
}

.entryFormBox .halfInput input {
    display: inline-block;
    width: 48.5%;
    margin-left: 2%;
}

.entryFormBox .halfInput input:first-child {
    margin-left: 0;
}

.entryFormBox .thirdinput {
    display: flex;
    justify-content: space-between;
}

.entryFormBox .thirdinput input {
    width: 31%;
}

.entryFormBox .thirdinput input[type="tel"] {
    position: relative;
    display: block;
}

.entryFormBox .thirdinput input[type="tel"]::after {
    position: absolute;
    display: block;
    top: 50%;
    right: -10px;
    transform: translateY(-50%);
    width: 7px;
    height: 2px;
    border: 2px;
    background: #212224;
}

.entryFormBox .thirdinput input:first-child {
    margin-left: 0;
}

.entryFormBox .birthInput select {
    padding: 5px;
    border: 1px solid #e2e3e5;
    background: #f5f6f8;
    display: inline-block;
}

.entryFormBox .birthday-year {
    max-width: 90px;
    width: 15%;
    margin: 0 5px 0 0;
}

.entryFormBox .birthday-month,
.entryFormBox .birthday-day {
    max-width: 90px;
    width: 12%;
    margin: 0 5px 0 0;
}

.entryFormBox .entry-brand {
    font-size: 16px;
    padding: 10px;
    background: #f5f6f8;
    border: 1px solid #e2e3e5;
    border-bottom: none;
    position: relative;
    cursor: pointer;
}

.entryFormBox .entry-brand::after,
.entryFormBox .entry-brand::before {
    content: "";
    position: absolute;
    width: 12px;
    height: 2px;
    background: #f98798;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    transition: .3s;
}

.entryFormBox .entry-brand::before {
    transform: rotate(90deg);
    top: calc(50% - 1px);
}

.entryFormBox .entry-brand input[type="checkbox"] {
    width: 0;
    height: 0;
    visibility: hidden;
}

.entryFormBox .entry-brand.open::before {
    transform: translateY(-50%) rotate(0deg);
    top: 50%;
}

.entryFormBox .entry-brand.open {
    color: #f87587;
    background: #fff4f6;
    border-bottom: 1px solid #e2e3e5;
}

.entryFormBox .entry-brand.last {
    border-bottom: 1px solid #e2e3e5;
}

.entryFormBox .entry-certificate {
    padding: 10px 0;
}
.entryFormBox .entry-area {
    max-height: 0;
    visibility: hidden;
    transition: padding .25s, visibility .25s, max-height .25s;
}

.entryFormBox .entry-area.open{
    max-height: 500px;
    visibility: visible;
    padding: 10px 0;
}

.entryFormBox .entry-certificate-inner,
.entryFormBox .entry-area-inner {
    display: flex;
    flex-wrap: wrap;
}

.entryFormBox .entry-certificate-inner li,
.entryFormBox .entry-area-inner li {
    padding: 10px;
    display: flex;
}
.entryFormBox .entry-certificate-inner li {
    width: 50%;
}
.entryFormBox .entry-area-inner li {
    width: 19%;
}

.entryFormBox .entry-certificate label,
.entryFormBox .entry-area label {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 0 0 0 30px;
    position: relative;
}

.entryBtn .entry-action {
    display: block;
    max-width: 150px;
    margin: 30px auto 0;
    background: #f87587;
    padding: 15px 30px;
    line-height: 1;
    color: #fff;
    border-radius: 99px;
}


.entryFormBox input[type=checkbox] {
    height: 0;
    width: 0;
    visibility: hidden;
}

.entryFormBox .radio01 {
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
    padding: 0 0 0 20px;
    position: relative;
    width: auto;
}

.entryFormBox .radio01::before {
    background: #fff;
    border: 1px solid #231815;
    border-radius: 50%;
    content: '';
    display: block;
    height: 16px;
    left: 5px;
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    width: 16px;
}

.entryFormBox .radio01::after {
    background: #ed7a9c;
    border-radius: 50%;
    content: '';
    display: block;
    height: 10px;
    left: 8px;
    opacity: 0;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 10px;
}

.entryFormBox input[type=checkbox]:checked+.radio01::after {
    opacity: 1;
    background: #fff;
}

.entryFormBox input[type=checkbox]:checked+.radio01::before {
    border: 1px solid #ed7a9c;
    background: #ed7a9c;
}

.entryFormBox input[type=checkbox]:checked+.radio01 {
    color: #ed7a9c;
}

/*--エラー用--*/
.entryFormBox .error-txt {
    display: block;
    margin: 5px 0 0 0;
    color: #d70d19;
    font-size: 12px;
}

.required.error input[type="text"] {
    border: 1px solid #f87587;
    background: #fff4f6;
}

.entryFormBox input.error {
    border: 1px solid #f87587;
    background: #fff4f6;
}

.entryFormBox select.error {
    border: 1px solid #f87587;
    background: #fff4f6;
}

.pc-hide{
    display: none;
}
article{
    position: relative;
}
.fixed-btn{
    display: block;/*最初は隠す*/
    position: fixed;
    bottom: 10px;
    left: 0;
    right: 0;
    margin: 0 auto;
    z-index: 9;
}

/*--//エントリーフォーム--*/


@media screen and (max-width:820px) {
    img {
        width: 100%;
    }

    .mt60 {
        margin-top: 40px;
    }

    .header .logo {
        width: 7.733vw;
        padding-block: 3.5997115vw;
    }

    .menu-trigger.open {
        left: 6vw;
    }

    .hd-nav .hd-navinner {
        width: 87%;
    }


    .menu-trigger.close {
        right: 8vw;
    }

    .main-image {
        padding-top: 52px;
    }

    .inner {
        padding-bottom: 40px;
    }

    .inner02{
        padding: 40px 0;
    }

    .inner-vo {
        padding: 40px 0 0;
    }
    .inner a img {
        width: 85%;
    }

    .cv01 {
        padding: 30px 10px;
        margin-top: 20px;
        border: 4px solid #ecedf1;
    }

    .cv02 {
        padding: 0 10px;
    }


    .ttl {
        margin: 0 auto 40px;
    }

    #voice .slider {
        margin: 0 auto;
        width: 96%;
    }

    #voice .slider .slider-img img {
        height: auto;
        width: 100%;
        z-index: 0;
    }

    #voice .slider .prev-arrow {
        left: -5px;
        z-index: 1;
    }

    #voice .slider .next-arrow {
        right: -5px;
        z-index: 1;
    }

    .br-cont li {
        margin-bottom: 40px;
    }

    .br-cont .cv-br .cv-br-btn {
        position: absolute;
        top: 0;
        left: 50%;
        transform: translateX(-50%);
        width: 80%;
    }

    .last-cv {
        width: 90%;
        display: block;
        margin: 0 auto;
    }


    #voice .slider {
        margin-bottom: 60px;
    }

    .bg-gray {
        background: linear-gradient(#FFFFFF 15px, #f2f6f9 15px);
    }

    .bg-pink {
        background: linear-gradient(#FFFFFF 15px, #fff5f3 15px);
    }
    .bg-spgray {
        background: linear-gradient(#FFFFFF 40px, #f2f6f9 40px);
    }
    .bg-spgray2{
        background: #f2f6f9;
    }
    .fixed-btn{
        /*left: 50%;*/
        
    }

}


@media screen and (max-width:500px) {
    .pc-hide{
        display: block;
    }

    .entryFormBox .entry-area-inner li {
        width: 33.33%;
        font-size: 16px;
    }

    .entryFormBox .birthday-year,
    .entryFormBox .birthday-month,
    .entryFormBox .birthday-day{
        max-width: unset;
        width: 26%;
    }
    .entryFormBox .entry-certificate-inner li {
        width: 100%;
    }
    .entryFormBox .entry-certificate {
        padding: 0;
    }
    .fixed-btn{
        width: 90%;
        /*left: 0;
        transform: translateX(0);*/
    }
}

@media screen and (max-width:360px){
    .entryFormBox .entry-area-inner li {
        padding: 9px;
    }
}