@charset "UTF-8";

/*
theme Name: カイタク
Description:　
*/

/* 共通 */
html {
    font-size: 62.5%;
}
 @media (min-width: 835px) {
    html {
        font-size: calc(1vw * 100 / 1920);
    }
}    
@media (max-width: 834px) and (min-width: 441px) {
    html {
        font-size: calc(1vw * 100 / 834);
    }
} 
@media (max-width: 440px) {
    html {
        font-size: calc(1vw * 100 / 440);
    }
}   
body {
    font-family: "Albert Sans", "Noto SansJP", sans-serif;
    color: #2E4053;
}
@media (min-width: 835px) {
    br.tb {
        display: none;
    }
    }
@media (max-width: 834px) {
    br.tb_none {
        display: none;
    }
    }
   br.tb_sp_none {
		display:none;
}
@media (max-width: 834px) and (min-width: 441px) {
    br.tb_sp_none {
        display: block;
    }
    }
@media (min-width: 441px) {
    br.sp {
        display: none;
    }
    }

/* スクロール時に背景画像を固定する〜iOSのsafariにも対応 */
.container {
    position: relative;
    overflow: hidden;
    z-index: 0;
}
.section_bg {
    position: fixed; 
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    z-index: -2;
}
.section_bg::before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    background-image: url(https://cloud.kaitakunet.com/wp-content/uploads/2026/03/22014096-scaled.jpg);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
}
.container::before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    background-color: rgba(255,255,255,0.9);
    z-index: -1;
}
/* スクロール時に背景画像を固定する〜iOSのsafariにも対応 */
.comoon_contact_btn a {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 15rem;
    padding: 27rem 30rem 25rem 30rem;
    border-radius: 50rem;
    transition: 0.3s ease;
    width: 450rem;
    height: 95rem;
    position: relative;
    z-index: 0;
}
.comoon_contact_btn a::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #E6762F;
    border-radius: 100rem;
    transform: translate(4rem, 7rem);
    z-index: -2;
    transition: 0.3s ease;
}
.comoon_contact_btn a::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #FF8A3D;
    border-radius: 100rem;
    z-index: -1;
    transition: 0.3s ease;
}
.comoon_contact_btn img {
    width: 45rem;
    position: relative;
    z-index: 1;
}
.comoon_contact_btn span {
    color: #fff;
    font-size: 32rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    position: relative;
    z-index: 1;
}
@media (max-width: 834px) {
.comoon_contact_btn a {
    width: 400rem;
    height: 75rem;
    padding: 18rem 20rem 15rem 20rem;
    margin: 0 auto;
}
.comoon_contact_btn a::before {
    transform: translate(3rem, 5rem);
}
.comoon_contact_btn img {
    width: 35rem;
}
.comoon_contact_btn span {
    font-size: 26rem;
}
}
@media (max-width: 440px) {
.comoon_contact_btn a {
    width: 300rem;
    height: 50rem;
    padding: 18rem 20rem 15rem 20rem;
    gap: 10rem;
}
.comoon_contact_btn a::before {
    transform: translate(2rem, 4rem);
}
.comoon_contact_btn img {
    width: 30rem;
}
.comoon_contact_btn span {
    font-size: 20rem;
}
}
.comoon_contact_btn a:hover {
    transform: translate(4rem, 7rem);
}

.comoon_contact_btn a:hover::before {
    transform: translate(0, 0);
}



.section_title {
    text-align: center;
    margin-bottom: 80rem;
}
@media (max-width: 834px) {
    .section_title {
        margin-bottom: 45rem;
    }
}
@media (max-width: 440px) {
    .section_title {
        margin-bottom: 30rem;
    }
}
.section_title p {
    font-size: 28rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    color: #2E83C4;
    margin-bottom: 5rem;
    font-family: "Noto SansJP", sans-serif;
}
@media (max-width: 834px) {
    .section_title p {
        font-size: 20rem;
    }
}
@media (max-width: 440px) {
    .section_title p {
        font-size: 16rem;
    }
}
.section_title h2 {
    font-size: 54rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.3;
}
@media (max-width: 834px) {
    .section_title h2 {
        font-size: 36rem;
    }
}
@media (max-width: 440px) {
    .section_title h2 {
        font-size: 28rem;
    }
}
.white {
    color: #fff;
}
.common_contact_bg {
    background: linear-gradient(90deg, #2E83C4, #5AA9E6);    
    padding: 140rem;
}
@media (max-width: 834px) {
    .common_contact_bg {
        padding: 80rem 6%;
    }
}
@media (max-width: 440px) {
    .common_contact_bg {
        padding: 60rem 0;
    }
}
.common_contact_wrapper {
    background-color: #fff;
    padding: 70rem 70rem 80rem 70rem;
    border-radius: 5rem;
    width: 1080rem;
    margin: 0 auto;
}
@media (max-width: 834px) {
    .common_contact_wrapper {
        padding: 40rem 30rem 50rem 30rem;
        width: 100%;
    }
}
@media (max-width: 440px) {
    .common_contact_wrapper {
        padding: 35rem 15rem 45rem 15rem;
        width: 90%;
        margin: 0 auto;
    }
}
.tb_contact_wrapper {
    width: 90%;
    margin: 0 auto;
}
.common_contact_message {
    font-size: 38rem;
    letter-spacing: 0.03em;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
    margin-bottom: 40rem;
}
@media (max-width: 834px) {
    .common_contact_message {
        font-size: 26rem;
        margin-bottom: 30rem;
    }
}
@media (max-width: 440px) {
    .common_contact_message {
        font-size: 20rem;
        margin-bottom: 20rem;
    }
}
.common_contact_content {
    display: flex;
    justify-content: space-between;
}
@media (max-width: 440px) {
    .common_contact_content {
       flex-direction: column;
       align-items: center;
       gap: 20rem;
    } 
}
.common_contact_link,
.common_contact_line {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 27rem 30rem 25rem 30rem;
    position: relative;
    width: 450rem;
    height: 90rem;
    z-index: 0;
    transition: 0.3s ease;
}
@media (max-width: 834px) {
    .common_contact_link,
    .common_contact_line {
        padding: 18rem 10rem 15rem 10rem;
        width: 325rem;
        height: 65rem;
    }
}
@media (max-width: 440px) {
    .common_contact_link,
    .common_contact_line {
        padding: 18rem 10rem 15rem 10rem;
        height: 55rem;
    }
}
.common_contact_link::before,
.common_contact_line::before {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 100rem;
    transform: translate(4rem, 6rem);
    z-index: -2;
    transition: 0.3s ease;
}
@media (max-width: 834px) {
    .common_contact_link::before,
    .common_contact_line::before {
        transform: translate(3rem, 4rem);
    }
}
.common_contact_link::before {
    background-color: #E6762F;
}

.common_contact_line::before {
    background-color: #05A94A;
}
.common_contact_link::after,
.common_contact_line::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 100rem;
    z-index: -1;
    transition: 0.3s ease;
}
.common_contact_link::after {
    background-color: #FF8A3D;
}
.common_contact_line::after {
    background-color: #06C755;
}
.common_contact_link img,
.common_contact_line img {
    position: relative;
    z-index: 1;
}
.common_contact_link img {
    width: 45rem;
    margin-right: 15rem;
}
@media (max-width: 834px) {
    .common_contact_link img {
        width: 30rem;
        margin-right: 10rem;
    }
}
.common_contact_line img {
    width: 55rem;
    margin-right: 10rem;
}
@media (max-width: 834px) {
    .common_contact_line img {
        width: 40rem;
        margin-right: 7rem;
    }
}
.common_contact_link span,
.common_contact_line span {
    color: #fff;
    font-size: 32rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    position: relative;
    z-index: 1;
}

@media (max-width: 834px) {
    .common_contact_link span,
    .common_contact_line span {
        font-size: 22rem;
    }
}
.common_contact_link:hover,
.common_contact_line:hover {
    transform: translate(4rem, 6rem);
}

.common_contact_link:hover::before,
.common_contact_line:hover::before {
    transform: translate(0, 0);
}
/* 共通 */

/* ヘッダー */
.header {
    width: 100%;
    position: fixed;
    top: 1.5%;
    left: 0;
    z-index: 9999;
}
.header_content {
    display: flex;
    justify-content: space-between;
    align-items:center;
    height: 110rem;
	background-color: #fff;
    border-radius: 50rem;
    width: 90%;
    margin: 0 auto;
    padding: 0 3%;
	box-shadow: 0px 0px 7px #dadbdc;
}
.header_content.sp_change_color {
        box-shadow: none;
} 
@media (max-width: 834px) {
    .header_content {
        height: 90rem;
		padding: 0 6%;
    }
}
@media (max-width: 440px) {
    .header_content {
        height: 60rem;
        width: 95%;
		box-shadow: 0px 0px 4px #dadbdc;
    }
}
.header_logo h1 {
    font-size: 40rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    color: #2E83C4;
}
@media (max-width: 834px) {
    .header_logo h1 {
        font-size: 30rem;
    }
}
@media (max-width: 440px) {
    .header_logo h1 {
        font-size: 24rem;
    }
}
.header_nav {
    display: flex;
    align-items: center;
}
.header_nav_item {
    font-size: 28rem;
    font-weight: bold;
    margin: 0 12rem;
	letter-spacing:0.03em;
}
@media (max-width: 834px) {
    .header_nav_item {
        display: none;
    }
}
.header_nav_item a {
    display: inline-block;
    padding: 15rem;
    position: relative; 
    text-decoration: none;
}
.header_nav_item a::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    width: 0%;        
    height: 3.5rem;      
    background-color: #2E83C4; 
    transition: width 0.4s ease; 
}
.header_nav_item a:hover::after {
    width: 100%; 
}
.header_nav_item.current a::after {
    width: 100%;
}
.header_item_contact {
    margin-left: 30rem;
}
@media (max-width: 834px) {
    .header_item_contact {
        margin-left: 0;
        margin-right: 80rem;
        margin-top: -8rem;
    }
}
@media (max-width: 440px) {
    .header_item_contact {
        margin-right: 62rem;
        margin-top: -4rem;
    }
}
.header_item_contact_link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10rem;
    padding: 28rem 30rem 25rem 30rem;
    width: 288rem;
    height: 80rem;
    position: relative;
    z-index: 0;
    transition: 0.3s ease;
}
.header_item_contact_link::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #E6762F;
    border-radius: 100rem;
    transform: translate(3rem, 5rem);
    z-index: -2;
    transition: 0.3s ease; 
}
.header_item_contact_link::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: #FF8A3D;
    border-radius: 100rem;
    z-index: -1;
    transition: 0.3s ease; 
}
.header_item_contact_link img {
    width: 30rem;
    position: relative;
    z-index: 1; 
}
.header_item_contact_link span {
    color: #fff;
    font-size: 26rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    position: relative;
    z-index: 1; 
}
@media (max-width: 834px) {
.header_item_contact_link {
    padding: 18rem 20rem 15rem 30rem;
    width: 250rem;
    height: 55rem;
}
.header_item_contact_link::before {
    transform: translate(2rem, 4rem);
}
.header_item_contact_link img {
    width: 25rem;
}
.header_item_contact_link span {
    font-size: 20rem;
}
}
@media (max-width: 440px) {
.header_item_contact_link {
    width: 180rem;
    height: 40rem;
    padding: 10rem 7rem 5rem 10rem;
    gap: 7rem;
}
_::-webkit-full-page-media, _:future, :root .header_item_contact_link {
    padding: 10rem 7rem 7rem 10rem;
}
.header_item_contact_link::before {
    transform: translate(1rem, 3rem);
}
.header_item_contact_link img {
    width: 20rem;
}
.header_item_contact_link span {
    font-size: 17rem;
}
}
.header_item_contact_link:hover {
    transform: translate(3rem, 5rem);
}

.header_item_contact_link:hover::before {
    transform: translate(0, 0);
}
/* ヘッダー */

/* ファーストビュー */
.top_fv_wrapper {
    /* height: calc(var(--vh, 1vh) * 100); */
    min-height: 100svh;
    position: relative;
}
.top_title {
    font-size: 48rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    text-align: center;
    margin-bottom: 50rem;
}
@media (max-width: 834px) {
    .top_title {
        font-size: 26rem;
        margin-bottom: 40rem;
    }
}
@media (max-width: 440px) {
    .top_title {
        font-size: 18rem;
        margin-bottom: 20rem;
    }
}
.top_fv {
    position: absolute;
    left: 50%;
    top: 55%;
    transform: translate(-50%,-50%);
}
@media (max-width: 834px) {
.top_fv {
    width: 100%;
    top: 54%;
    }
}
@media (max-width: 440px) {
    .top_fv {
        top: 55%;
        }
    }
.top_fv_content {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 1600rem;
    margin: 0 auto;
    }
@media (max-width: 834px) {
    .top_fv_content {
        flex-direction: column;
        width: 90%;
        }
}
.top_fv_box {
    width: 840rem;
}
@media (max-width: 834px) {
    .top_fv_box {
        width: 100%;
    }
}
.top_fv_box_list {
    display: flex;
    gap: 15rem;
    margin-bottom: 25rem;
}
@media (max-width: 834px) {
    .top_fv_box_list {
        justify-content: center;
        margin-bottom: 20rem;
    }
}
@media (max-width: 440px) {
    .top_fv_box_list {
        gap: 10rem;
        margin-bottom: 15rem;
    }
}
.top_fv_box_list span {
    background-color: #2E83C4;
    font-size: 28rem;
    padding: 10rem 15rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    color: #fff;
    border-radius: 5rem;
}
@media (max-width: 834px) {
    .top_fv_box_list span {
        font-size: 20rem;
    }
}
@media (max-width: 440px) {
    .top_fv_box_list span {
        font-size: 16rem;
        padding: 8rem 10rem;
    }
}
.top_fv_message {
    font-size: 70rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    line-height: 1.3;
    margin-bottom: 50rem;
}
@media (max-width: 834px) {
    .top_fv_message {
        font-size: 50rem;
        margin-bottom: -10rem;
        text-align: center;
    }
}
@media (max-width: 440px) {
    .top_fv_message {
        font-size: 30rem;
    }
}
.top_fv_sub_list {
    display: flex;
    align-items: center;
    gap: 10rem;
    margin-bottom: 25rem;
}
@media (max-width: 834px) {
    .top_fv_sub_list {
        justify-content: center;
        margin-bottom: 15rem;
    }
}
@media (max-width: 440px) {
    .top_fv_sub_list {
       gap: 6rem;
       margin-bottom: 10rem;
    }
}
.top_fv_message span {
    color: #2E83C4;
}
.top_fv_sub_item p {
    font-size: 34rem;
    letter-spacing: 0.03em;
    font-weight: bold;
}
@media (max-width: 834px) {
    .top_fv_sub_item p {
        font-size: 24rem;
    }
}
@media (max-width: 440px) {
    .top_fv_sub_item p {
        font-size: 20rem;
    }
}
.top_fv_sub_item img {
    width: 30rem;
    object-fit: cover;
}
@media (max-width: 834px) {
    .top_fv_sub_item img {
        width: 24rem;
    }
}
@media (max-width: 440px) {
    .top_fv_sub_item img {
        width: 20rem;
    }
}
.top_fv_text {
    font-size: 28rem;
    letter-spacing: 0.03em;
    margin-bottom: 50rem;
}
@media (max-width: 834px) {
    .top_fv_text {
        font-size: 20rem;
        margin-bottom: 40rem;
        text-align: center;
    }
}
@media (max-width: 440px) {
    .top_fv_text {
        font-size: 18rem;
        line-height: 1.4;
        margin-bottom: 15rem;
    }
}
.top_fv_image {
    width: 700rem;
}
@media (max-width: 834px) {
    .top_fv_image {
       display: none;
    }
}
.top_fv_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
@media (min-width: 835px) {
.top_fv_image_tb {
    display: none;
}
}
.top_fv_image_tb {
    width: 400rem;
    margin: 0 auto;
}
@media (max-width: 440px) {
    .top_fv_image_tb {
        width: 250rem;
        margin: 5rem auto;
    } 
}
.top_fv_image_tb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
/* ファーストビュー */

/* トップ */
.worry_bg {
    background: linear-gradient(90deg, #2E83C4, #5AA9E6);    
    padding: 140rem 0;
}
@media (max-width: 834px) {
    .worry_bg {
        padding: 80rem 0;
    }
}
@media (max-width: 440px) {
    .worry_bg {
        padding: 60rem 0;
    }
}
.worry_wrapper {
    width: 1760rem;
    margin: 0 auto;
}
@media (max-width: 834px) {
    .worry_wrapper {
        width: 85%;
    } 
}
@media (max-width: 440px) {
    .worry_wrapper {
        width: 90%;
    } 
}
.worry_list {
    display: flex;
    flex-wrap: wrap;
    gap: 25rem;
}
@media (max-width: 834px) {
    .worry_list {
       flex-direction: column;
    }
}
.worry_item {
    background-color: #fff;
    border-radius: 5rem;
    padding: 50rem 20rem 55rem 20rem;
    width: 570rem;
}
@media (max-width: 834px) {
    .worry_item {
        padding: 40rem 30rem 45rem 30rem;
        width: 100%;
    }
}
@media (max-width: 440px) {
    .worry_item {
        padding: 30rem 15rem;
    }
}
.worry_item h3 {
    font-size: 40rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.3;
    color: #2E83C4;
    margin-bottom: 30rem;
    text-align: center;
}
@media (max-width: 834px) {
    .worry_item h3 {
        font-size: 28rem;
        margin-bottom: 20rem;
    }
}
@media (max-width: 440px) {
    .worry_item h3 {
        font-size: 24rem;
    }
}
.worry_sublist {
    display: flex;
    flex-direction: column;
    gap: 15rem;
}
@media (max-width: 440px) {
    .worry_sublist {
       gap: 7rem;
    }
}
.worry_subitem {
    display: flex;
    gap: 8rem;
}
@media (max-width: 440px) {
    .worry_subitem {
        gap: 6rem;
    }
}
.worry_subitem img {
    width: 30rem;
    height: 30rem;
    object-fit: cover;
    margin-top: 4rem;
}
@media (max-width: 834px) {
    .worry_subitem img {
        width: 24rem;
        height: 24rem;
        margin-top: 2.5rem;
    }
}
@media (max-width: 440px) {
    .worry_subitem img {
        width: 20rem;
        height: 20rem;
        margin-top: 1.7rem;
    }
}
.worry_subitem p {
    font-size: 28rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.4;
    flex: 1;
}
@media (max-width: 834px) {
    .worry_subitem p {
        font-size: 22rem;
    }
}
@media (max-width: 440px) {
    .worry_subitem p {
        font-size: 18rem;
    }
}
.solution_bg {
    background-color: #F0FAFF;
    padding: 140rem 0;
}
@media (max-width: 834px) {
    .solution_bg {
        padding: 80rem 0;
    } 
}
@media (max-width: 440px) {
    .solution_bg {
        padding: 60rem 0;
    } 
}
.solution_wrapper {
    width: 90%;
    margin: 0 auto;
}
.solution_title {
    text-align: center;
    margin-bottom: 60rem;
}
@media (max-width: 834px) {
    .solution_title {
        margin-bottom: 30rem;
    }
}
.solution_title h2 {
    font-size: 58rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.3;
}
@media (max-width: 834px) {
    .solution_title h2 {
        font-size: 36rem;
    }
}
@media (max-width: 440px) {
    .solution_title h2 {
        font-size: 26rem;
    }
}
.solution_logo {
    color: #2E83C4;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
}
.solution_text_ft,
.solution_text_sec {
    font-size: 32rem;
    letter-spacing: 0.03em;
    line-height: 1.5;
    text-align: center;
}
@media (max-width: 834px) {
    .solution_text_ft,
    .solution_text_sec {
        font-size: 22rem;
    } 
}
@media (max-width: 440px) {
    .solution_text_ft,
    .solution_text_sec {
        font-size: 18rem;
    } 
}
.solution_content span {
    font-weight: bold;
}
.solution_text_ft {
    margin-bottom: 15rem;
}
@media (max-width: 834px) {
    .solution_text_ft {
        margin-bottom: 10rem;
    }
}
.service_wrapper {
    margin:  140rem auto;
    width: 1420rem;
}
@media (max-width: 834px) {
    .service_wrapper {
        margin:  80rem auto;
        width: 90%;
    } 
}
@media (max-width: 440px) {
    .service_wrapper {
        margin:  60rem auto;
    } 
}
.service_list {
    display: flex;
    flex-direction: column;
    gap: 60rem;
}
@media (max-width: 834px) {
    .service_list {
        gap: 50rem;
    }
}
@media (max-width: 440px) {
    .service_list {
        gap: 40rem;
    }
}
.service_item {
    display: flex;
    align-items: center;
    gap: 140rem;
}
@media (max-width: 834px) {
    .service_item {
       flex-direction: column-reverse;
        gap: 30rem;
    }
}
@media (max-width: 440px) {
    .service_item {
        gap: 20rem;
    }
}
.service_content {
    flex: 1;
}
@media (max-width: 834px) {
    .service_content {
       width: 100%;
       padding: 0 6%;
    }
}
@media (max-width: 440px) {
    .service_content {
       padding: 0 3%;
    }
}
.service_list_title {
    font-size: 40rem;
    letter-spacing: 0.03em;
    line-height: 1.3;
    color: #2E83C4;
    font-weight: bold;
    margin-bottom: 20rem;
}
@media (max-width: 834px) {
    .service_list_title {
        font-size: 28rem;
        margin-bottom: 15rem;
    }
}
@media (max-width: 440px) {
    .service_list_title {
        font-size: 24rem;
        margin-bottom: 15rem;
    }
}
.service_item h4 {
    font-size: 28rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.5;
    margin-bottom: 10rem;
}
@media (max-width: 834px) {
    .service_item h4 {
        font-size: 22rem;
    } 
}
@media (max-width: 440px) {
    .service_item h4 {
        font-size: 20rem;
        margin-bottom: 5rem;
    } 
}
.service_list_text {
    font-size: 25rem;
    letter-spacing: 0.03em;
    line-height: 1.6;
}
@media (max-width: 834px) {
    .service_list_text {
        font-size: 22rem;
    }
}
@media (max-width: 440px) {
    .service_list_text {
        font-size: 18rem;
    }
}
.service_sublist {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    margin-bottom: 15rem;
}
@media (max-width: 834px) {
    .service_sublist {
        gap: 2rem;
        margin-bottom: 10rem;
    }
}
.service_subitem {
    display: flex;
    gap: 8rem;
}
@media (max-width: 440px) {
    .service_subitem {
        gap: 6rem;
    }
}
.service_subitem img {
    width: 25rem;
    height: 25rem;
    object-fit: cover;
    margin-top: 7.5rem;
}
@media (max-width: 834px) {
    .service_subitem img {
        width: 22rem;
        height: 22rem;
        margin-top: 5.5rem;
    }
}
@media (max-width: 440px) {
    .service_subitem img {
        width: 20rem;
        height: 20rem;
        margin-top: 4rem;
    }
}
.service_subitem p {
    font-size: 25rem;
    letter-spacing: 0.03em;
    line-height: 1.6;
}
@media (max-width: 834px) {
    .service_subitem p {
        font-size: 22rem;
    }
}
@media (max-width: 440px) {
    .service_subitem p {
        font-size: 18rem;
    }
}
.service_image {
    width: 700rem;
    box-shadow: 1px 1px 6px rgb(147, 147, 147, .16);
}
@media (max-width: 834px) {
    .service_image {
        width: 100%;
    }
}
.service_image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.service_merit {
    background: linear-gradient(90deg, #2E83C4, #5AA9E6);    
    padding: 30rem;
    width: 820rem;
    margin: 80rem auto 0;
    border-radius: 5rem;
}
@media (max-width: 834px) {
    .service_merit {
        width: 80%;
        margin: 50rem auto 0;
        padding: 20rem;
    }
}
@media (max-width: 440px) {
    .service_merit {
        width: 100%;
        margin: 30rem auto 0;
        padding: 15rem;
    }
}
.service_merit h5 {
    font-size: 36rem;
    letter-spacing: 0.03em;
    color: #fff;
    line-height: 1.4;
    font-weight: bold;
    text-align: center;
}
@media (max-width: 834px) {
    .service_merit h5 {
        font-size: 26rem;
    }
}
@media (max-width: 440px) {
    .service_merit h5 {
        font-size: 22rem;
    }
}
.price_wrapper {
    margin: 140rem auto;
    width: 1740rem;
}
@media (max-width: 834px) {
    .price_wrapper {
        margin: 80rem auto;
        width: 90%;
    } 
}
@media (max-width: 440px) {
    .price_wrapper {
        margin: 60rem auto;
    } 
}
.price_list {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 45rem;
}
.price_item {
    border: 7rem solid #2E83C4;
    border-radius: 5rem;
    padding: 60rem 50rem;
    width: 550rem;
    background-color: #fff;
}
@media (max-width: 834px) {
    .price_item {
        border: 5rem solid #2E83C4;
        padding: 40rem 50rem;
        width: 640rem;
        margin: 0 25rem;
    }
}
@media (max-width: 440px) {
    .price_item {
        border: 4rem solid #2E83C4;
        padding: 30rem 25rem;
        width: 365rem;
        margin: 0 12rem;
    }
}
.price_title {
    background-color: #2E83C4;
    border-radius: 5rem;
    width: 240rem;
    font-size: 36rem;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0.03em;
    text-align: center;
    padding: 12rem 0;
    display: block;
    margin: 0 auto 20rem;
}
@media (max-width: 834px) {
    .price_title {
        width: 200rem;
        font-size: 28rem;
    }
}
@media (max-width: 440px) {
    .price_title {
        width: 180rem;
        font-size: 24rem;
        padding: 10rem 0;
        margin: 0 auto 15rem;
    }
}
.price_text {
    font-size: 25rem;
    line-height: 1.5;
    letter-spacing: 0.03em;
    text-align: center;
    margin-bottom: 10rem;
}
@media (max-width: 834px) {
    .price_text {
        font-size: 22rem;
    }
}
@media (max-width: 440px) {
    .price_text {
        font-size: 18rem;
        margin-bottom: 10rem;
    }
}
.price {
    font-size: 40rem;
    font-weight: bold;
    letter-spacing: 0.08em;
    text-align: center;
    margin-bottom: 20rem;
}
@media (max-width: 834px) {
    .price {
        font-size: 22rem;
    } 
}
@media (max-width: 440px) {
    .price {
        font-size: 18rem;
        margin-bottom: 20rem;
    } 
}
.price span {
    font-size: 80rem;
    text-align: center;
}
@media (max-width: 834px) {
    .price span {
        font-size: 66rem;
    } 
}
@media (max-width: 440px) {
    .price span {
        font-size: 48rem;
    } 
}
.price_sublist {
    display: flex;
    flex-direction: column;
    gap: 5rem;
    margin-bottom: 30rem;
}
@media (max-width: 440px) {
    .price_sublist {
        margin-bottom: 20rem;
    }
}
.price_subitem {
    display: flex;
    gap: 8rem;
}
@media (max-width: 440px) {
    .price_subitem {
        gap: 6rem;
    }
}
.price_subitem img {
    width: 25rem;
    height: 25rem;
    object-fit: cover;
    margin-top: 7.5rem;
}
@media (max-width: 834px) {
    .price_subitem img {
        width: 22rem;
        height: 22rem;
        margin-top: 6rem;
    }
}
@media (max-width: 440px) {
    .price_subitem img {
        width: 20rem;
        height: 20rem;
        margin-top: 4rem;
    }
}
.price_subitem p {
    font-size: 25rem;
    letter-spacing: 0.03em;
    line-height: 1.6;
}
@media (max-width: 834px) {
    .price_subitem p {
        font-size: 22rem;
    }
}
@media (max-width: 440px) {
    .price_subitem p {
        font-size: 18rem;
    }
}
.function_title {
    font-size: 32rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    margin-bottom: 20rem;
}
@media (max-width: 834px) {
    .function_title {
        font-size: 24rem;
    }
}
@media (max-width: 440px) {
    .function_title {
        font-size: 20rem;
        margin-bottom: 15rem;
    }
}
.function_list {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30rem;
    border-bottom: 2.5rem solid #D3D3D3;
    padding: 17rem;
}
@media (max-width: 834px) {
    .function_list {
        padding: 15rem;
    }
}
@media (max-width: 440px) {
    .function_list {
        padding: 12rem;
        border-bottom: 1.5rem solid #D3D3D3;
    }
}
.function_list:first-of-type {
    border-top: 2.5rem solid #D3D3D3;
}
@media (max-width: 440px) {
    .function_list:first-of-type {
        border-top: 1.5rem solid #D3D3D3;
    }
}
.function_list dt {
    font-size: 25rem;
    letter-spacing: 0.03em;
    font-weight: normal;
    width: 320rem;
}
@media (max-width: 834px) {
    .function_list dt {
        font-size: 22rem;
        width: 300rem;
    }
}
@media (max-width: 440px) {
    .function_list dt {
        font-size: 18rem;
    }
}
.function_list dd {
    font-size: 32rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    color: #2E83C4;
    width: 60rem;      
    text-align: center; 
    flex: none;        
}
@media (max-width: 834px) {
    .function_list dd {
        font-size: 26rem;
        width: 40rem;
    }
}
@media (max-width: 440px) {
    .function_list dd {
        font-size: 22rem;
        width: 30rem;
    }
}
.price_message {
    font-size: 36rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    margin-top: 50rem;
}
@media (max-width: 834px) {
    .price_message {
        font-size: 24rem;
        margin-top: 70rem;
    }
}
@media (max-width: 440px) {
    .price_message {
        font-size: 20rem;
        margin-top: 55rem;
    }
}
.voice_bg {
    background-color: #F0F0F0;
    padding: 140rem 0;
}
@media (max-width: 834px) {
    .voice_bg {
        padding: 80rem 0;
    }
}
@media (max-width: 440px) {
    .voice_bg {
        padding: 60rem 0;
    }
}
.voice_wrapper {
    width: 1350rem;
    margin: 0 auto;
}
@media (max-width: 834px) {
    .voice_wrapper {
        width: 90%;
    }
}
.voice_list {
    display: flex;
    flex-wrap: wrap;
    gap: 50rem;
}
@media (max-width: 834px) {
    .voice_list {
        gap: 30rem;
    }
}
@media (max-width: 440px) {
    .voice_list {
        gap: 20rem;
        flex-direction: column;
    }
}
.voice_item {
    width: 650rem;
    background-color: #fff;
    border-radius: 5rem;
    padding: 45rem;
    box-shadow: 1px 1px 6px rgb(147, 147, 147, .16);
}
@media (max-width: 834px) {
    .voice_item {
        width: 360rem;
        padding: 30rem 20rem;
    }
}
@media (max-width: 440px) {
    .voice_item {
        width: 100%;
        padding: 30rem 20rem;
    }
}
.voice_image {
    width: 200rem;
    height: 200rem;
    background-color: #2E83C4;
    border-radius: 50%;
    margin: 0 auto 20rem;
    display: flex;
    justify-content: center;
    align-items: flex-end;
    overflow: hidden;
}
@media (max-width: 834px) {
    .voice_image {
        width: 150rem;
        height: 150rem;
    }
}
@media (max-width: 440px) {
    .voice_image {
        width: 100rem;
        height: 100rem;
    }
}
.voice_image img {
    width: 170rem;
    height: 175rem;
    object-fit: cover;
    border-radius: 50%;
    margin-bottom: -5rem;
}
@media (max-width: 834px) {
    .voice_image img {
        width: 120rem;
        height: 125rem;
        margin-bottom: -2rem;
    }
}
@media (max-width: 440px) {
    .voice_image img {
        width: 80rem;
        height: 85rem;
    }
}
.voice_item_title {
    font-size: 32rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    line-height: 1.4;
    text-align: center;
    margin-bottom: 20rem;
}
@media (max-width: 834px) {
    .voice_item_title {
        font-size: 22rem;
        margin-bottom: 15rem;
        text-align: left;
    }
}
@media (max-width: 440px) {
    .voice_item_title {
        text-align: center;
        margin-bottom: 10rem;
    }
}
.voice_item_text {
    font-size: 28rem;
    letter-spacing: 0.03em;
    line-height: 1.6;
}
@media (max-width: 834px) {
    .voice_item_text {
        font-size: 20rem;
    }
}
@media (max-width: 440px) {
    .voice_item_text {
        font-size: 18rem;
    }
}
.question_wrapper {
    margin: 140rem auto;
    width: 1300rem;
}
@media (max-width: 834px) {
    .question_wrapper {
        margin: 80rem auto;
        width: 90%;
    }
}
@media (max-width: 440px) {
    .question_wrapper {
        margin: 60rem auto;
    }
}
.accordion-area li {
    margin-bottom: 30rem;
    border: 3px solid #2E83C4;
    border-radius: 5rem;
}
@media (max-width: 440px) {
    .accordion-area li {
        margin-bottom: 15rem;
        border: 2px solid #2E83C4;
    }
}
.accordion-area li:last-child {
    margin-bottom: 0;
}
@media (min-width: 835px) {
.accordion-area li:hover {
    cursor: pointer;
}
}
.question_box {
    padding: 25rem 20rem 25rem 30rem;
    background-color: #2E83C4;
    display: flex;
    transition: all .2s ease;
    position: relative;
}
@media (max-width: 834px) {
    .question_box {
        padding: 20rem 20rem 20rem 30rem;
    }
}
@media (max-width: 440px) {
    .question_box {
        padding: 10rem;
    }
}
.question_acd_open::before,.question_acd_open::after  {
    content: '';
    display: inline-block;
    width: 30rem;
    height: 3rem;
    background-color: #fff;
    position: absolute;
	right: 5%;
    top: 50%;
    transform: translateY(-50%);
    transition: opacity .2s;
}
@media (max-width: 440px) {
    .question_acd_open::before,.question_acd_open::after  {
        width: 20rem;
        height: 2rem;
    }
}
.question_acd_open::after {
    transform: translateY(-50%) rotate(90deg);
    transition: transform 0.3s;
}
.question_acd_open.show::before {
    opacity: 0;
}
.question_acd_open.show::after {
    transform: translateY(-50%) rotate(180deg);
}
.question_title {
    font-weight: 600;
    font-size: 28rem;
    line-height: 1.5;
    width: 85%;
    padding-right: 40rem;
	letter-spacing: 0.08em;
    color: #fff;
    margin-top: 13rem;
    word-wrap: break-word;
  overflow-wrap: break-word;
}
@media (max-width: 834px) {
    .question_title {
        font-weight: 600;
        font-size: 22rem;
        margin-top: 4rem;
    }
}
@media (max-width: 440px) {
    .question_title {
        font-size: 18rem;
        margin-top: 2rem;
        padding-right: 30rem;
    }
}
.question {
    font-size: 32rem;
    font-weight: bold;
    margin-right: 30rem;
    letter-spacing: 0.03em;
    width: 65rem;
    height: 65rem;
    border-radius: 50%;
    background-color: #fff;
    color: #2E83C4;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Noto SansJP", sans-serif;
}
@media (max-width: 834px) {
    .question {
        font-size: 22rem;
        margin-right: 15rem;
        width: 40rem;
        height: 40rem;
    }
}
@media (max-width: 440px) {
    .question {
        font-size: 18rem;
        margin-right: 10rem;
        width: 30rem;
        height: 30rem;
    }
}
.answer {
    color: #fff;
    font-size: 32rem;
    font-weight: bold;
    margin-right: 25rem;
    width: 65rem;
    height: 65rem;
    border-radius: 50%;
    background-color: #E94709;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Noto SansJP", sans-serif;
}
@media (max-width: 834px) {
    .answer {
        font-size: 22rem;
        margin-right: 15rem;
        width: 40rem;
        height: 40rem;
    }
}
@media (max-width: 440px) {
    .answer {
        font-size: 16rem;
        margin-right: 10rem;
        width: 30rem;
        height: 30rem;
    }
}
.answer_content {
    display: none;
}
.answer_box {
    padding: 25rem 80rem 25rem 30rem;
    display: flex;
    transition: all .2s ease;
    position: relative;
}
@media (max-width: 834px) {
    .answer_box {
        padding: 20rem 20rem 20rem 30rem;
    }
}
@media (max-width: 440px) {
    .answer_box {
        padding: 15rem 10rem;
    }
}
.answer_box p {
    font-size: 25rem;
    line-height: 1.5;
    width: 90%;
    margin-top: 14rem;
    letter-spacing: 0.03em;
}
@media (max-width: 834px) {
    .answer_box p {
        font-size: 20rem;
        margin-top: 4rem;
    }
}
@media (max-width: 440px) {
    .answer_box p {
        font-size: 18rem;
        margin-top: 2rem;
    }
}
/* トップ */

/* フッター */
.footer {
    padding: 60rem  50rem 30rem 50rem;
    text-align: center;
}
@media (max-width: 834px) {
    .footer {
        padding: 40rem  50rem 30rem 50rem;
        text-align: center;
    }
}
@media (max-width: 440px) {
    .footer {
        padding: 30rem  20rem 20rem 20rem;
    }
}
.footer_logo {
    font-size: 44rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    color: #2E83C4;
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.2);
    margin-bottom: 20rem;
}
@media (max-width: 834px) {
    .footer_logo {
        font-size: 36rem;
    }
}
@media (max-width: 440px) {
    .footer_logo {
        font-size: 30rem;
    }
}
.footer_memo {
    font-size: 28rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    color: #2E83C4;
    margin-bottom: 100rem;
}
@media (max-width: 834px) {
    .footer_memo {
        font-size: 20rem;
        margin-bottom: 60rem;
    } 
}
@media (max-width: 440px) {
    .footer_memo {
        font-size: 18rem;
        margin-bottom: 40rem;
    } 
}
.footer_end {
    font-size: 21rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    color: #2E83C4;
}
@media (max-width: 834px) {
    .footer_end {
        font-size: 18rem;
    }
}
@media (max-width: 440px) {
    .footer_end {
        font-size: 16rem;
    }
}
/* フッター */

/* ハンバーガメニュー */
@media (min-width: 835px) {
    .open {
        display: none;
    }
    }
@media (max-width: 834px) {
    .open {
        position: fixed;
        top: 2.6%;
        right: 10%; 
        z-index: 9999;
        display: flex;
    }
    }
    @media (max-width: 440px) {
        .open {
            top: 2.2%;
            right: 7.5%; 
        }
        }
.open_btn {
    width: 50rem;
    height: 50rem;
}
@media (max-width: 440px) {
    .open_btn {
        width: 40rem;
        height: 40rem;
    }
}
.open_btn {
    position: relative;
}
.open_btn::before {
    content: "メニュー";
    position: absolute;
    bottom: -6rem;
    left: -6rem;
    font-size: 12rem;
    font-weight: 600;
    transition: 0.2s ease;
    -webkit-transition: 0.2s ease;
    }
@media (max-width: 440px) {
    .open_btn::before {
        font-size: 10rem;
        bottom: -2rem;
        } 
}
.open_btn span {
    display: inline-block;
        transition: 0.2s ease;
        -webkit-transition: 0.3s ease;
    position: absolute;
    left: -4rem;
    height: 2rem;
    background: #2E4053;
}
.open_btn.active span {
    left: -1rem
}
@media (max-width: 440px) {
    .open_btn.active span {
        left: 1.5rem
    }
}
@media (max-width: 440px) {
.open_btn span {
    right: 10rem;
    height: 1.3rem;
    }
}
.page_open .open_btn span {
    background-color: #fff;
}
.open_btn span:nth-of-type(1) {
    top: 16rem;
    width: 48rem;
}
@media (max-width: 440px) {
.open_btn span:nth-of-type(1) {
    width: 35rem;
    top: 11rem;
    }
}
.open_btn span:nth-of-type(2) {
    top: 30rem;
    width: 48rem;
    display: none;
}
.open_btn span:nth-of-type(3) {
    top: 28rem;
    width: 34rem;
}
@media (max-width: 440px) {
.open_btn span:nth-of-type(3) {
    width: 24rem;
    top: 20rem;
    }
}
.open_btn.active span:nth-of-type(1) {
    top: 18rem;
    -webkit-transform: translateY(6px) rotate(-45deg);
            transform: translateY(6px) rotate(-45deg);
    width: 38rem;
}
@media (max-width: 440px) {
.open_btn.active span:nth-of-type(1) {
    width: 26rem;
    top: 13rem;
    }
}
@media (max-width: 390px) {
.open_btn.active span:nth-of-type(1) {
    top: 12rem;
    }
}
@media (max-width: 375px) {
    .open_btn.active span:nth-of-type(1) {
        top: 11rem;
        }
    }
.open_btn.active span:nth-of-type(3) {
    top: 30rem;
    -webkit-transform: translateY(-6px) rotate(45deg);
            transform: translateY(-6px) rotate(45deg);
    width: 38rem;
}
@media (max-width: 440px) {
.open_btn.active span:nth-of-type(3) {
    width: 26rem;
    top: 25rem;
    }
}
@media (max-width: 320px) {
    .open_btn.active span:nth-of-type(3) {
        top: 27rem;
        }
    }
.overlay {
    position: fixed;
    inset: 0;
    width: 100%;
    height: 100dvh;        
    background: linear-gradient(90deg, #2E83C4, #5AA9E6); 
    z-index: 9000;
    display: none;        
    overflow-y: auto;    
    -webkit-overflow-scrolling: touch;
    z-index: -1;
    padding-top: 120rem;
}
@media (max-width: 440px) {
    .overlay {
        padding-top: 90rem;
        padding-bottom: 40rem;
    }
}
.sp_header_list {
    width: 85%;
    margin: 0 auto 50rem;
    color: #fff;
}
@media (max-width: 440px) {
    .sp_header_list {
        width: 90%;
        margin: 0 auto 40rem;
    }
}
.sp_header_item {
    font-size: 22rem;
    letter-spacing: 0.03em;
    font-weight: bold;
    border-bottom: 2rem dashed #fff;
}
@media (max-width: 440px) {
    .sp_header_item {
        font-size: 19rem;
        }
}
.sp_header_item a {
    display: block;
    padding: 30rem 0 30rem 10rem;
}
@media (max-width: 440px) { 
    .sp_header_item a {
        padding: 25rem 0 25rem 10rem;
        }
}
/* ハンバーガメニュー */

/* カルーセル */
.slick-list {
    overflow: visible;
}
.slick-initialized .slick-slide {
    border-radius: 5rem!important;
}
.slick-list {
    border-radius: 5rem!important;
}
  .price_list .slick-track {
    display: flex;
}
.slick-dots li button:before {
    font-size: 30rem;
    color: #2E83C4!important;
}
@media (max-width: 440px) {
    .slick-dots li button:before {
        font-size: 26rem;
    }
}
.slick-dots {
    bottom: -45rem;
}
@media (max-width: 440px) {
    .slick-dots {
        bottom: -38rem;
    }
}
.slick-dots li {
    margin: 0 10rem;
}
@media (max-width: 440px) {
    .slick-dots li {
        margin: 0 7rem;
    } 
}
/* slick のスライド高さを揃える */
.slick-slide {
    height: auto !important;   
}
/* slick のスライド高さを揃える */
/* カルーセル */

/* ページ内外リンク位置調整 */
.link-position {
    top: 25rem;
    display: block;
    position: relative;
}
@media (max-width: 834px) {
    .link-position {
        top: 0;
    }
}
/* ページ内外リンク位置調整 */

/* スクロール後、LINEctaボタン */
.floating_line_box {
    display: none;
}
.floating_line {
    position: fixed;
    right: 40rem;
    bottom: 50rem;
    background: #06C755;
    color: #fff;
    border-radius: 100rem;
    z-index: 9999;
    box-shadow: 0 5px 15px rgba(0,0,0,0.2);
    display: flex;
    align-items: center;
    gap: 8rem;
    padding: 20rem 40rem;
}
@media (max-width: 834px) {
    .floating_line {
        right: 30rem;
        padding: 15rem 35rem 15rem 25rem;
        gap: 5rem;
    }
}
@media (max-width: 440px) {
    .floating_line {
        right: 15rem;
        bottom: 35rem;
        padding: 10rem 25rem 10rem 12rem;
    }
}
.floating_close {
    position: absolute;
    top: -10rem;
    right: -10rem;
    width: 50rem;
    height: 50rem;
    border-radius: 50%;
    background: #fff;
    color: #06C755;
    border: none;
    font-size: 26rem;
    cursor: pointer;
    line-height: 1;
    text-align: center;
    border: 3rem solid #06C755;
}
@media (max-width: 834px) {
    .floating_close {
        width: 40rem;
        height: 40rem;
        font-size: 18rem;
        border: 2rem solid #06C755;
    }
}
@media (max-width: 440px) {
    .floating_close {
        width: 32rem;
        height: 32rem;
        font-size: 15rem;
        border: 1.5rem solid #06C755;
    }
}
.floating_line span {
    font-size: 32rem;
    font-weight: bold;
    letter-spacing: 0.03em;
    text-align: center;
    line-height: 1.3;
}
@media (max-width: 834px) {
    .floating_line span {
        font-size: 24rem;
    }
}
@media (max-width: 440px) {
    .floating_line span {
        font-size: 18rem;
    }
}
.floating_line img {
    width: 75rem;
}
@media (max-width: 834px) {
    .floating_line img {
        width: 55rem;
    } 
}
@media (max-width: 440px) {
    .floating_line img {
        width: 40rem;
    } 
}
/* スクロール後、LINEctaボタン */


