/*******************************
    共通
*******************************/
*, *::before, *::after {
    box-sizing: inherit;
}
html {
    box-sizing: border-box;
    font-size: calc(1.0 * 62.5%);
    height: 100%;
}
body{
    font-family: Montaga, Shippori Mincho, Noto Sans JP, serif;
    color:#373737!important;
}
.main_color_black {
    color:#373737;
}
.main_color_usui_blue {
    color:#F3F6FA;
}
.main_color_usui_blue2 {
    color:#E1EEFF;
}
.main_color_koi_blue {
    color:#4465FF;
}
.main_color_blue {
    color:#85ABE8;
}
.background_color_koi_blue {
    background-color:#4465FF;
}
.background_color_usui_blue {
    background-color:#E1EEFF;
}
.background_color_usui2_blue {
    background-color:#F3F6FA;
}

@media screen and (min-width: 750px) {
    body {
        font-size: 1.6rem;
    }
}


.homeService {
    background: #E1EEFF;
}


.r {
    position:relative
}
.c {
    text-align: center;
}
.b {
    font-weight: bold;
}


.wrapper-contents {
    width:900px;
    margin: 0 auto;
}
@media screen and (max-width: 914px) {
    .wrapper-contents {
        width:96%;
        margin:0 2%;
    }
    .wrapper-contents img {
        width:70%;
    }
}


.homeService .box .btn__outer {
    font-family: Montaga, serif;
}

.eng {
    font-weight:normal!important;
}
.jpn {
    font-weight:normal!important;
}


/*******************************
    ヘッダー
*******************************/
.header__inline-menu .list-menu .header__btn a {
    background: #4465FF;
    color: #fff;
}

/* --- sp --- */
header-drawer .header__icon {
    background: #4465FF;
}
.menu-drawer#menu-drawer {
    background: #4465FF;
    border-color: #4465FF;
}
.menu-drawer__menu-item {
    border-bottom: #ccc 1px solid;
}

@media screen and (max-width: 1279px) {
    .header {
        width: 100%;
        position: sticky;
        top: 0;
        z-index: 1000;
        background-color: #FFF;
    }
    .header__heading, .header__heading-link {
        grid-area: heading;
        justify-self: center;
    }
    .header__heading-link {
        padding: 25px 0 25px;
    }
    body.cm-index header-drawer #Details-menu-drawer-container {
        top: 25px;
    }
}

@media only screen and (max-width: 640px) {
    body.cm-index header-drawer #Details-menu-drawer-container {
        top: 5px;
    }
    .header_logo_img {
        width:150px;
    }
    header-drawer .header__icon {
        width: 43px;
        height: 43px;
    }
    header-drawer .header__icon::before, header-drawer .header__icon::after {
        width: 21px;
        right: 11px;
        bottom: 17px;
    }
    header-drawer .header__icon::before {
        top: 17px;
    }

    .header__heading-link {
        padding: 10px 0;
    }
}




/*******************************
    TOP
*******************************/
.homeKV {
    padding-bottom: 50px;
    overflow: hidden;
    margin-bottom: 50px;
}
.homeKV .sub {
    padding-top: 0;
}
.homeKV .imgArea {
  /* width: 100vw;
  max-width: none; */
}
.homeKV .imgArea::before {
    display:none;
}
.homeKV .title {
    padding-top: 6.5vw;
}
.homeKV .outer {
    background: #F3F6FA;
}
.area_line {
    background: #4465FF;
    width:100%;
    height:16vw;
    position:absolute;
    bottom:-10px;
}
@media only screen and (min-width: 1920px) {
    .area_line {
        height:200px;
    }
}
@media only screen and (max-width: 640px) {
    .homeKV {
        padding-bottom: 8vw;
    }
}


/*******************************
    お知らせ
*******************************/
/* .homeInfoList__list .item time
,.homeInfoList__list .item > div {
    font-family: "Noto Sans JP", sans-serif;
} */
.homeInfoList__list .item {
    font-family: "Noto Sans JP", sans-serif;
}
/* .homeInfoList .contentsTitle .jpn {
    font-size: 2.5rem;
} */
.homeInfoList__list .item .title:after {
    display:none;
}
.homeInfoList__list .item .tag .a_design {
    width: 168px;
    display: inline-block;
    background: #fff;
    border-radius: 100px;
    text-align: center;
    font-size: 1.3rem;
    font-weight: 500;
    color: #373737;
    letter-spacing: .05em;
    text-decoration: none;
    border: #85abe8 1px solid;
    padding: .25em;
}



/*******************************
    about us
*******************************/
.homeAbout__img {
    background: #4463FF;
}
.homeAbout__img::before {
    background: #4463FF;
}

.homeAbout .leadBox .satellite .item span {
    background: #E1EEFF;
    border: #85ABE8 3px solid;
    color: inherit;
}
.homeAbout .leadBox .core {
    background: linear-gradient(to bottom, #80F0E9, #4463FF);
}
.homeAbout .leadBox .satellite .item:nth-child(1) {
    top: 0;
    left: 33%;
}
.homeAbout .leadBox .satellite .item:nth-child(2) {
    top: 31%;
    right: 0;
}
.homeAbout .leadBox .satellite .item:nth-child(4) {
    bottom: 0;
    right: 33%;
    border-color: #85abe8;
}
.homeAbout .leadBox .satellite .item:nth-child(3) {
    bottom: 31%;
    left: 0;
}
.homeAbout .leadBox .imgArea {
    font-family: "Noto Sans JP", sans-serif;
}



/*******************************
    選ばれる３つの理由
*******************************/
.homeAbout .reason {
    background: none;
}
.homeAbout .reason .list {
    margin: 40px auto 40px;
    font-family: "Noto Sans JP", sans-serif;
}
.torihiki {
    margin: 0 2% 80px ;
}

.homeAbout .reason .list .item a {
    background: #E1EEFF;
    border: #85ABE8 3px solid;
    color: inherit;

    padding: 5%;
}

.homeAbout .reason .point {
    background: none;
}
.homeAbout .reason .point#point01 {
    background: none;
}
.homeAbout .reason .point .wrapper .text
,.homeAbout .reason .point .chart {
    font-family: "Noto Sans JP", sans-serif;
}



/*******************************
    contact us
*******************************/
.homeAbout__contact {
    background: #E1EEFF;
}
.homeAbout__contact .textArea {
    background: #4465FF;
}
.contentsTitle.line_about_us::after {
    background: linear-gradient(to right, #E1EEFF 50%, #4465FF 51%);
}
.homeAbout__contact .textArea .title{
    font-weight: normal!important;
}



/*******************************
    サービス
*******************************/
.contentsTitle.line_service::after {
    background: linear-gradient(to right, #80F0E9 50%, #4465FF 51%);
}
.homeService .wrap .lead
,.homeService .box {
    font-family: "Noto Sans JP", sans-serif;
}



/*******************************
    よくある質問
*******************************/
.homeFaq {
    background: none;
}
.homeFaq__list {
    font-family: "Noto Sans JP", sans-serif;
}
.homeFaq__q {
    background: #E1EEFF;
    color: #373737;
}
.homeFaq__q::before {
    background: #4465ff;

}
.homeFaq__a {
    background: #E1EEFF;
}


/*******************************
    contact us 2
*******************************/
.homeContact {
    background: #F3F6FA;
    padding: 40px 0;
}
.homeContact .wrapper {
    background: #4465ff;
}
.contentsTitle.line_contact_us::after {
    background: linear-gradient(to right, #FFFFFF 50%, #E1EEFF 51%);
}







/*******************************
    お問い合わせ
*******************************/
.floating a {
    border: #E1EEFF 2px solid;
    color: #fff;
    background: #4465FF;
}
.floating a::before {
    background: #E1EEFF;

}



/*******************************
    footer
*******************************/
.footer {
    margin-top:50px;
    background-color: #F3F6FA;
}
.footBottom {
    border-top: none;
    
}
.footer .navArea {
    align-items: center;
}
.footer .navArea > * {
    flex: 1 1 auto;
    /* または必要に応じて width: auto; や display: inline-block; を指定 */
}



.footer .navArea .footNav {
    width:auto;
}
@media only screen and (max-width: 1279px) {
    .footer .navArea .footNav:first-child {
        width: auto;
        margin-left: 0;
    }
}

.footer .navArea {
  display: flex;
  justify-content: center; /* 中央寄せ（必要に応じて） */
  align-items: center;
}

.footer .footNav {
  display: flex; /* 横並びにする */
  justify-content: center;
  gap: 2rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer .footNav li {
  padding: 0;
}

@media only screen and (max-width: 640px) {
    .footer .navArea .footNav li a {
        padding: 0vw;
        font-size: 1.4rem;
    }
}
@media only screen and (max-width: 480px) {
    .footer .navArea .footNav li a {
        padding: 0vw;
        font-size: 3.0vw;
    }
}
@media only screen and (max-width: 640px) {
    .footer .logoArea .logo {
        margin: 0 auto 7.5vw;
        width: 150px;
    }
}

.footBottom a {
    color: #000;
    text-decoration: none;
    font-size: 1.4rem;
}
.footBottom a:visited,
.footBottom a:hover,
.footBottom a:active,
.footBottom a:focus {
    color: #000;
    text-decoration: none;
}
@media only screen and (max-width: 500px) {
    .footBottom a {
        font-size: 3vw;
    }
    .footBottom .visible500{
        display: block;
    }
}



/*******************************
    特定商
*******************************/
.pp_area {
    font-size:18px;
}
.pp_area p {
    margin: 0 20px 30px;
}
@media only screen and (max-width: 640px) {
    .pp_area {
        font-size:15px;
    }
}