/* BK COLOR */

.u-bkBaseGradi {
    background-image: linear-gradient(180deg, #FF8860, #FF9E57);
}

.u-bkBaseColor {
    background-color: #FF8860;
}


/* FONT COLOR */

.u-baseColor {
    color: #ffffff;
}

.u-themeColor {
    color: #FF8860;
}

.u-themeColor2 {
    color: #F87549;
}

.u-grayColor {
    color: #DDDDDD;
}

.u-whiteColor {
    color: #fff;
}


/* //変更0909:以下追加 */

.u-greenColor {
    color: #0EC392;
}


/* FONT SIZE */

.u-fs12 {
    font-size: 12px;
}

.u-fs14 {
    font-size: 14px;
}

.u-fs16 {
    font-size: 16px;
}

.u-fs24 {
    font-size: 24px;
}

.u-fs30 {
    font-size: 30px;
}


/* FONT WEIGHT */

.u-bold {
    font-weight: bold;
}


/* BOX */

.u-container {
    /* padding: 20px; */
    background-color: #fff;
    border-radius: 10px;
}

.u-innerContainer {
    padding: 20px;
}

.u-innerContainer--borderBottom {
    border-bottom: 1px solid #DDD;
}


/* MARGIN */

.u-mR10 {
    margin-right: 10px;
}

.u-mL10 {
    margin-left: 10px;
}

.u-mB10 {
    margin-bottom: 10px;
}

.u-mB20 {
    margin-bottom: 20px;
}

.u-mB30 {
    margin-bottom: 30px;
}

.u-mT05 {
    margin-top: 5px;
}

.u-mT10 {
    margin-top: 10px;
}

.u-mT20 {
    margin-top: 20px;
}

.u-mT30 {
    margin-top: 30px;
}

.u-mTB10 {
    margin-top: 10px;
    margin-bottom: 10px;
}

.u-mTB20 {
    margin-top: 20px;
    margin-bottom: 20px;
}

.u-mTB30 {
    margin-top: 30px;
    margin-bottom: 30px;
}

.u-mWA {
    margin-left: auto;
    margin-right: auto;
}

.u-mW20 {
    margin-left: 20px;
    margin-right: 20px;
}


/* PADDING */

.u-pA20 {
    padding: 20px;
}

.u-pT20 {
    padding-top: 20px;
}

.u-pT30 {
    padding-top: 30px;
}

.u-pT40 {
    padding-top: 40px;
}

.u-pB20 {
    padding-bottom: 20px;
}

.u-pTB20 {
    padding-top: 20px;
    padding-bottom: 20px;
}


/* WIDTH */

.u-w50per-5px {
    width: calc(50% - 5px);
}


/* BLOCK */

.u-block {
    display: block;
}


/* FLEX */

.u-flex {
    display: flex;
}

.u-flexAlignItemCenter {
    align-items: center;
}

.u-flex__alignBottom {
    align-items: flex-end;
}

.u-flexJustifyBetween {
    justify-content: space-between;
}

.u-flexDirectionCol {
    flex-direction: column;
}


/* ALIGN */

.u-alignCenter {
    text-align: center;
}


/* //変更0909:以下追加 */


/* LINE HEIGHT */

.u-lineHight14-25 {
    line-height: 1.786;
}


/* //変更0910:以下追加 */

.u-lineHight12-20 {
    line-height: 1.667;
}


/* //変更0910:以下追加 */

.u-lineHight2 {
    line-height: 2;
}


/* BUTTON */

.u-button01 {
    background-color: #FDE67C;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-weight: bold;
    line-height: 1;
    font-size: 14px;
}

.u-button02 {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 36px;
    padding-top: 2px;
    border: 1px solid #fff;
    border-radius: 10px;
    background-color: rgba(255, 255, 255, .15);
    color: #fff;
    font-weight: bold;
}

.u-button03 {
    background-color: #F4F4F4;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 10px;
    font-weight: bold;
    line-height: 1;
}

.u-button04 {
    background-color: #fff;
    border-radius: 10px;
    display: flex;
    align-items: center;
    padding: 15px;
}

.u-button04__arrow {
    background: no-repeat center url(../images/icon_arrownext.svg);
    width: 12.41px;
    height: 8px;
}

.u-button04__icon {
    margin-right: 10px;
}

.u-button04__detail {
    flex-grow: 1;
}


/* 追加（いいえボタンをグレーに） */

.js-close--modalSend {
    background-color: #F4F4F4;
}


/* HIDE */

.is-hide {
    position: absolute;
    visibility: hidden;
    pointer-events: none;
}


/* TITLE */

.u-title01 {
    display: flex;
    align-items: center;
    font-weight: bold;
}

.u-title01::before {
    content: "";
    display: block;
    width: 4px;
    height: 16px;
    background-color: #F87549;
    margin-right: 8px;
    border-radius: 1px;
}

.u-title01--green {
    display: flex;
    align-items: center;
    font-weight: bold;
}

.u-title01--green::before {
    content: "";
    display: block;
    width: 4px;
    height: 16px;
    background-color: #0EC392;
    margin-right: 8px;
    border-radius: 1px;
}

.u-title02 {
    background-color: #F87549;
    border-radius: 10px 10px 0 0;
    color: #fff;
    font-weight: bold;
    height: 64px;
    line-height: 64px;
    text-align: center;
}

.userInfoEdit__title {
    background-color: #F87549;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    font-weight: bold;
    border-radius: 10px;
}

.u-title03 {
    background-color: #F87549;
    border-radius: 10px 10px 0 0;
    color: #fff;
    height: 64px;
    text-align: center;
    line-height: 64px;
    font-weight: bold;
}


/* link */

.u-link01 {
    color: #F87549;
    text-decoration: underline;
    display: flex;
    align-items: center;
}

.u-link01__external {
    width: 12px;
    height: 11px;
    display: block;
    margin-left: 5px;
    background: no-repeat center url(../images/icon_external.svg);
}

.u-link02 {
    color: #F87549;
    text-decoration: underline;
}

.u-link03 {
    text-decoration: underline;
}


/* input */

.u-inputCheck {
    position: relative;
}

.u-inputCheck__input {
    visibility: hidden;
    pointer-events: none;
}

.u-inputCheck__text {
    padding-left: 16px;
}

.u-inputCheck__text::before {
    content: "";
    display: block;
    position: absolute;
    width: 20px;
    height: 20px;
    border-radius: 2px;
    box-sizing: border-box;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background-color: #F4F4F4;
}

.u-inputCheck__input:checked+.u-inputCheck__text::after {
    content: "";
    display: block;
    position: absolute;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    /* background-color: #000; */
    background: no-repeat center url(../images/icon_radio_check.svg);
    top: 50%;
    left: 5px;
    transform: translateY(-50%);
}

.inputValue {
    width: 100%;
}

.u-selectLabel {
    display: flex;
    align-items: center;
    position: relative;
}

.u-select {
    flex-grow: 1;
}

.u-selectIcon {
    pointer-events: none!important;
    position: absolute;
    right: 10px;
}


/* =============
  PC
 */

body {
    min-height: 100vh;
    width: 100vw;
}

main {
    padding: 70px 20px 20px;
    box-sizing: border-box;
    background-image: linear-gradient(180deg, #FF8860, #FF9E57);
}

.index .bodyWrap {
    background-color: #fff;
}

.index main {
    background-image: none;
}

.pcBackgrpund,
.pcBackgrpund__containerInner {
    display: none;
}

@media all and (max-height: 667px) {
    main,
    .bodyWrap {
        min-height: 100vh;
    }
}

@media all and (max-width: 529px) {
    .bodyWrap {
        min-height: 100vh;
    }
    main {
        min-height: 100vh;
    }
}

@media all and (min-width: 530px) {
    body {
        /* background-color: black; */
        display: flex;
        justify-content: center;
        align-items: center;
        position: relative;
    }
    .bodyWrap {
        width: 100%;
        max-width: 375px;
        max-height: 667px;
        overflow: hidden;
        border: 8px solid #f4f4f4;
        box-shadow: 8px 8px 8px rgba(0, 0, 0, .5);
        box-sizing: content-box;
        padding-top: 1px;
        transform: scale(1);
        transition: all .4s ease;
        position: relative;
        z-index: 10;
    }
    header {
        position: absolute;
    }
    main {
        overflow-y: auto;
    }
    .pcBackgrpund {
        display: block;
        z-index: 0;
        position: absolute;
        width: 100%;
        height: 100%;
        background-image: linear-gradient(#FF8860, #FF9E57);
    }
    .pcBackgrpund__inner {
        width: 100%;
        height: 100%;
        background-image: repeating-linear-gradient( -52deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0) 20px, rgba(255, 255, 255, .06) 20px, rgba(255, 255, 255, .06) 40px);
        display: flex;
        align-items: center;
    }
    .pcBackgrpund__container {
        max-height: 500px;
        height: 100%;
        width: 100%;
        background-color: #fff;
        display: flex;
        justify-content: space-between;
    }
}

@media all and (min-height: 668px) and (min-width: 530px) {
    main {
        max-height: 667px;
        height: 100vh;
    }
}

@media all and (min-width: 530px) and (min-height: 921px) {
    .bodyWrap {
        /* transform: scale(1.3811); */
    }
}

@media all and (min-width: 1080px) {
    .pcBackgrpund__containerInner {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        width: calc(50% - 375px / 2);
        height: 100%;
    }
}


/* =============
  HEADER
 */

header {
    position: fixed;
    padding: 10px;
    height: 60px;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    background-color: #FF8860;
    border-radius: 0 0 30px 30px;
    z-index: 500;
}

.pageTitle {
    font-weight: bold;
    font-size: 16px;
}

.backButton {
    width: 40px;
    height: 40px;
    display: block;
}

.backButton.is-inactive {
    visibility: hidden;
}


/* =============
GLOBAL NAV
*/

.globalMenu {
    width: 40px;
    height: 40px;
    display: block;
    position: relative;
}

.navButton {
    display: block;
}

.globalMenu__wrap {
    position: fixed;
    width: 100%;
    min-height: 100%;
    top: 0;
    left: 0;
    padding: 10px;
    box-sizing: border-box;
    z-index: 1000;
    pointer-events: none;
    opacity: 0;
    transition: opacity .3s ease;
}

.globalMenu__wrap1 {
    overflow-y: scroll;
}

.globalMenu__wrap.is-active {
    pointer-events: all;
    opacity: 1;
}

.normalMenu__list {
    border: 1px solid #fff;
    padding: 15px 20px;
    border-radius: 10px;
    margin: 0 10px 10px;
}

.normalMenu__item {
    font-size: 14px;
    padding: 4px 0;
}

.normalMenu__link {
    font-size: 14px;
    padding: 5px 0;
    display: block;
}

.navCloseButton {
    display: block;
    width: 40px;
    height: 40px;
    margin-left: auto;
}


/* =============
  LOGIN MENU
 */

.loginMenu__list {
    padding: 0 10px;
    margin-bottom: 16px;
    font-size: 14px;
}

.loginMenu__item {
    background-color: #fff;
    margin-bottom: 1px;
}

.loginMenu__item:first-child {
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

.loginMenu__item:last-child {
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}

.loginMenu__link {
    padding: 0 20px;
    display: flex;
    align-items: center;
    height: 54px;
}


/* //変更 */


/* .loginMenu__icon {
    width: 22px;
    height: 22px;
    display: block;
    margin-right: 10px;
} */

.loginMenu__icon {
    width: 100%;
    max-width: 23px;
    height: 100%;
    display: block;
    margin-right: 10px;
}

.loginMenu__icon--leave {
    background: no-repeat center url(../images/icon_leave.svg);
    background-size: 50px;
}

.loginMenu__icon--request {
    background: no-repeat center url(../images/icon_request.svg);
}

.loginMenu__icon--user {
    background: no-repeat center url(../images/icon_user.svg);
}

.loginMenu__icon--child {
    background: no-repeat center url(../images/icon_child.svg);
}

.loginMenu__icon--credit {
    background: no-repeat center url(../images/icon_credit.svg);
}


/* =============
  MESSAGE
 */

.message {
    border: 1px solid #fff;
    border-radius: 10px;
    padding: 20px;
    font-size: 14px;
    position: relative;
    line-height: 1.4;
}

.message::before {
    content: "";
    display: block;
    width: 14px;
    height: 14px;
    position: absolute;
    bottom: -8px;
    left: 0;
    right: 0;
    margin: auto;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
    transform: rotate(135deg);
    background-color: #FF8860;
}

.sitter .message::before {
    background-color: #15D9A5;
}


/* =============
  FORM
 */

.inputWrap {
    background-color: #ffffff;
    padding: 10px 20px;
    border-radius: 10px;
    min-height: 60px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    position: relative;
}

.inputWrap.is-valid {
    border: 2px solid #EF6565;
    background-color: #FCE5E5;
    padding: 8px 18px;
}

.inputWrap__label {
    display: block;
    font-size: 12px;
    color: #7F7F7F;
}

.inputWrap__input {
    display: block;
    width: 100%;
}

.inputRequire {
    font-size: 10px;
    color: #F87549;
    margin-left: 2px;
    transform: scale(0.9) translateY(-2px);
    display: inline-block;
}


/* .inputMail {
} */


/* valid */

.valid {
    width: 100%;
    font-size: 11px;
    color: crimson;
    border: 1px solid crimson;
    padding: 1px 4px 2px;
    border-radius: 4px;
    position: absolute;
    background-color: #fff;
    top: calc(100% - 10px);
    z-index: 10;
    left: 5px;
    box-shadow: 2px 2px 3px rgba(0, 0, 0, 0.3);
    line-height: 1.2;
}

.valid::before {
    content: "";
    display: block;
    position: absolute;
    border-bottom: 6px solid crimson;
    border-left: 4px solid rgba(0, 0, 0, 0);
    border-right: 4px solid rgba(0, 0, 0, 0);
    top: -7px;
    left: 8px;
    z-index: 10;
}

.valid::after {
    content: "";
    display: block;
    position: absolute;
    border-bottom: 6px solid #fff;
    border-left: 4px solid rgba(0, 0, 0, 0);
    border-right: 4px solid rgba(0, 0, 0, 0);
    top: -5px;
    left: 8px;
    z-index: 11;
}


/* =============
  MODAL
 */

.modal {
    pointer-events: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    margin: 0;
    /* background-color: rgba(0,0,0,.3); */
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s ease;
    padding: 20px;
    z-index: 2000;
}

.modal.is-active {
    opacity: 1;
    pointer-events: all;
}

.modal__header {
    background-color: #F87549;
    color: #fff;
    height: 64px;
    border-radius: 10px 10px 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.sitter .modal__header {
    background-color: #0EC392;
}

.modal__body {
    background-color: #fff;
    padding: 20px;
    border-radius: 0 0 10px 10px;
}

.modal__box {
    display: flex;
    justify-content: space-between;
    padding: 10px 20px;
    margin-top: 20px;
}

.modal__text {
    font-size: 14px;
    line-height: 1.6;
}

.modal--mailSend .u-button01,
.modal--mailSend2 .u-button01,
.modal--1st .u-button01,
.modal--2nd .u-button01 {
    width: 116px;
    height: 60px;
}

.modal--mailSend2 .u-button01 {
    margin-left: auto;
    margin-right: auto;
}

.modal--2nd .u-button01,
.modal--3rd .u-button01 {
    width: 182px;
    height: 60px;
}

.modal__link {
    color: #F87549;
    font-size: 14px;
    text-decoration: underline;
}


/* CONTACT US */

.contactUs__button {
    width: 134px;
    height: 60px;
    margin: 30px auto;
}


/* SEEKING SITTER */

.hiringProcess {
    display: flex;
    justify-content: space-between;
    align-items: center;
    text-align: center;
    padding: 20px 30px 0 30px;
}

.hiringProcess__item {
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 14px;
}

.hiringProcess__item:not(.hiringProcess__item--arrow) {
    border-radius: 10px;
    border: solid 1px #000;
    height: 54px;
    padding: 0 10px;
}

.icon_arrow {
    background: no-repeat center url(../images/icon_arrownext.svg);
    width: 8px;
    height: 13px;
}


/* NEWS */

.news {
    padding-bottom: 20px;
}

.news__filter {
    background-color: #F4F4F4;
    border-radius: 10px;
    height: 36px;
    display: flex;
    align-items: center;
    padding: 0 10px;
}

.news__filterIcon {
    background: no-repeat center url(../images/icon_filter.svg);
    width: 15px;
    height: 15px;
    margin-right: 8px;
    flex-shrink: 0;
}

.news__filterSelect {
    transform: scale(calc(12/16)) translateX(-14%);
}

.news__item {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.news__itemInfo {
    display: flex;
    align-items: center;
}

.news__date {
    color: #7F7F7F;
    font-size: 12px;
    margin-right: 8px;
}

.news__category {
    background-color: #F87549;
    color: #fff;
    border-radius: 5px;
    padding: 6px;
    line-height: 10px;
    font-size: 10px;
}

.news__itemTitle {
    font-size: 14px;
    margin-top: 6px;
}

.news__arrowIcon {
    background: no-repeat center url(../images/icon_arrownext.svg);
    height: 13px;
    width: 8px;
    flex-shrink: 0;
}

.news__more {
    display: block;
    color: #F87549;
    text-decoration: underline;
    margin: 20px 20px 0 20px;
    font-size: 14px;
}

.newsDetail .news__itemTitle {
    font-size: 16px;
    font-weight: bold;
}

.news__back {
    width: 150px;
    height: 60px;
    margin: 20px auto;
}

.newsDetail__title {
    padding: 20px 20px 10px;
}

.newsDetail__text {
    padding: 0 20px 20px;
    line-height: 1.8;
    font-size: 14px;
}