@charset "UTF-8";
/*------------*/
/*--- 共通 ----*/
/*------------*/
html {
    font-size: 62.5%;
    scroll-behavior: smooth;
}
body {
    font-family: sans-serif, 游ゴシック体, 游ゴシック, 'Yu Gothic', YuGothic, Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', Osaka, メイリオ, Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic';
    font-size:1.6rem;
    line-height:2;
}
@media (min-width: 769px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}
img {
    max-width: 100%;
    height: auto;
}
a {color:#0079ca/*#0095D8*/;}
a:hover{
    opacity: 0.8;
}
section{
    margin-bottom: 6rem;
}
h2 {
    font-size: 3rem;
    margin-bottom: 2rem;
    font-weight: bold;
}
    @media screen and (max-width: 768px) {
        h2{
            font-size: 2.4rem;
        }
    }
h3 {
    font-size: 2.4rem;
    margin-bottom: 2rem;
    font-weight: bold;
}
p {
    font-size: 1.6rem;
    line-height: 1.75;
    padding-bottom:2rem;
}
sup{
    font-size: 1.6rem;
}
em {
    font-style: normal;
}
small {font-size:100%;}
.pc { display: block; }
.sp { display: none; }
    @media screen and (max-width: 768px) {
        .pc { display: none; }
        .sp { display: block; }
    }
.tab_only{ display:none; }
    @media screen and (max-width: 1100px) {
        .tab_only { display:block; }
    }
    @media screen and (max-width: 768px) {
        .tab_only { display:none; }
    }
.yellow_bg {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  background-color: #FBFAEF;
}
.yellow_bg.y-line {
    border-top:1px solid #FABE00;
    border-bottom:1px solid #FABE00;
    margin-bottom: 6rem;
}

/*------------*/
/*---header---*/
/*------------*/
header {
    height: 130px;
    box-sizing: border-box;
    max-width: 1340px;
    width:100%;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        header {
        height: calc(130px * 0.64);
        }
    }
header h1, header h1 + p {
    content-visibility: hidden;
    display: none;
}
    @media screen and (max-width: 768px) {
        .sub_page header {
            border-bottom: none;
        }
    }
.header_wrap {
    max-width: 1340px;
    width: 100%;
    position: relative;
}
    @media screen and (max-width: 768px) {
        .header_wrap {
        padding: 0 0 0 2rem;
        }
    }
/* header flex----- */
.header_inner {
    display: flex;
    margin-left: 52px;
    box-sizing: border-box;
}
    @media screen and (max-width: 1100px) {
        .header_inner{
            margin-left: 4.7%;
        }
    }
    @media screen and (max-width: 768px) {
        .header_inner {
            height: calc(130px * 0.64);
            margin-left: 0;
            justify-content: space-between;
            align-items: center;
            padding: 0;
        }
    }
.location { flex:3; }
.toiawase { 
    width:120px; 
}
    @media screen and (max-width: 1100px) {
        .header_inner{
            margin-left: 4.7%;
        }
    }
    
/*logo-----*/
.logo { 
    margin-top: 2rem;
    width:200px; 
}
    @media screen and (max-width: 1100px) {
        .logo{ width:19%; }
    }
    @media screen and (max-width: 768px) {
        .logo {
            width: calc(20rem * 0.64);
            margin-top: 0;
            z-index:1001;
        }
    }
header .logo h2 {
    width: 100%;
    height: 8.9rem;
    margin-bottom: 0;
    background-image: url(/image/logo-pc.webp);
    background-repeat: no-repeat;
    background-size: contain;
}
    @media screen and (max-width: 768px) {
        header .logo h2 {
            width: calc(20rem * 0.64);
            height: calc(8.9rem * 0.64);
            font-size: 1rem;
        }
    }
header .logo h2 span {
    visibility: hidden;
}
a.logo:hover {opacity: 1;}

/*location-----*/
.location {
    display: flex;
    flex-direction: column;
    line-height: 1;
    text-align: right;
    padding-right: 2rem;
    padding-top: 0.5rem;
}
    @media screen and (max-width: 1100px) {
        .location{ padding-left: 1.6rem; }
    }
.location p {
    order: 1;
    font-size: 1.2rem;
    padding-bottom: 0;
}
.location h3 {
    order: 2;
    font-size: 1.4rem;
    padding-bottom: 1rem;
    line-height: 1.2;
    margin-bottom: 0;
    font-weight: normal;
}
.location .tel {
    font-size: 3rem;
    line-height:1;
    font-weight: bold;
    color: #0095D8;
    padding-top: 0.7rem;
    margin-bottom: 0.8rem;
}
    @media screen and (max-width: 768px) {
        .location .tel {
            font-size: 2.8rem;
            margin-bottom: 1rem;
        }
    }
.location .jikan {
    font-size: 1.4rem;
    margin-bottom: 0.6rem;
    line-height: 1;
}
    @media screen and (max-width: 768px) {
        .location .jikan {font-size: 1.4rem;}
    }
/*toiawase-----*/
.toiawase {
    background-color: #0079ca;/*#0095D8*/
    color: #fff;
    display: flex;
    justify-content: center;
    align-items: center;
    text-decoration: none;
}
    @media screen and (max-width: 1100px) {
        .toiawase{ width:11.6rem;}
    }
    @media screen and (max-width: 768px) {
        .toiawase {
            display: none;
        }
    }
.toiawase p {
    font-size: 1.4rem;
    font-weight: bold;
    padding-bottom: 0;
}
/*------------*/
/*----main----*/
/*------------*/
main {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    padding: 0 7.2rem;
}
    @media screen and (max-width: 1100px) {
        main{
            padding: 0 6.36%;
            overflow-x: hidden;
        }
    }
    @media screen and (max-width: 768px) {
        main{
            padding: 0 2rem;
        }
    }
.sub_page main {
    padding-top: 4rem;
}
    @media screen and (max-width: 1100px) {
        .sub_page main {
            padding-top: 6rem;
            overflow-x: hidden;
        }
    }
    @media screen and (max-width: 768px) {
        .sub_page main {
            padding-top: 1rem;
        }
    }

/*------------*/
/*---footer---*/
/*------------*/
footer {
    background-color:#0095D8;
    clear: both;
}
    @media screen and (max-width: 768px) {
        footer { }
}
.footer_wrap {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    padding: 2rem 7.2rem;
    box-sizing: border-box;
}
    @media screen and (max-width: 940px) {
        .footer_wrap {
            padding: 2rem;
        }
    }

/* footer flex----- */
.footer_wrap {
    display: flex;
    flex-direction: row-reverse;
}
    @media screen and (max-width: 768px) {
        .footer_wrap {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
    }
.f_left {
    width: 70%;
    padding-right: 3rem;
}
    @media screen and (max-width: 768px) {
        .f_left {
            width: 100%;
            padding-right: 0;
            margin-bottom: 2rem;
        }
    }
.f_right {
    width: 30%;
    padding-top: 3rem;
}
    @media screen and (max-width: 768px) {
        .f_right {
            /*max-width: 247px;*/
            width: 100%;
            padding: 20px 0;
            margin: 0 auto;
        }
    }

/* footer f_right -----*/
.f_right {
    font-size: 1.4rem;
    color: #fff;
    line-height: 1;
    text-align: center;
}
.f_right h3 {
    width: 80%;
    max-width: 183px;
    margin: 0 auto 20px;
}
    @media screen and (max-width: 768px) {
        .f_right h3{
            text-align: center;
            /*margin-bottom: 2rem;*/
        }
    }
.f_right h3 a:hover {
    opacity: 1;
}
.f_right .tel {
    font-size: 3rem;
    font-weight: bold;
    padding-top: 0.7rem;
    padding-bottom: 0;
}
    @media screen and (max-width: 840px) {
        .f_right .tel {
            font-size: 2.6rem;
        }
    }
    @media screen and (max-width: 768px) {
        .f_right .tel {
            font-size: 3rem;
        }
    }
.f_right .tel a {
    color:#fff;
}
/* footer f_left -----*/
.f_left iframe{
    display: block;
}
    @media screen and (max-width: 768px) {
        .f_left iframe{
            display: none;
        }
    }
.f_left .footer_map_icon{
    display: none;
}
    @media screen and (max-width: 768px) {
        .f_left .footer_map_icon{
            display: block;
            margin: 0 auto 3rem;
            width: 4rem;
        }
        .footer_map_icon figure img{
            width: 100%;
        }
    }
/* footer address -----*/
.footer_wrap address {
    font-size: 1.4rem;
    color: #fff;
    text-align: right;
}
    @media screen and (max-width: 768px) {
        .footer_wrap address {
            text-align: center;
            font-size: 1.2rem;
        }
    }
/*footer nav-----*/
.f_nav {
    background-color: #FABE00;
}
    @media screen and (max-width: 768px) {
        .f_nav {
            display: none;
        }
    }
.f_nav ul {
    max-width: 1340px;
    width: 100%;
    font-size: 1.4rem;
    padding: 1rem 5rem;
    margin: 0 auto;
}
.f_nav ul li {
    display: inline-flex;
    padding-right: 3rem;
}
.f_nav ul li::before {
    content:"・";
}
.f_nav ul li a {
    color:#000;
}
.f_nav ul li a:hover {
}
.copyright {
    font-size: 1.2rem;
    background: #fff;
    text-align: center;
    padding-bottom:0;
    line-height:2;
}
    @media screen and (max-width: 768px) {
        .copyright {
            background-color: #FABE00;
            color: #fff;
        }
    }

/* ------------- */
/*nav----------- */
/* ------------- */
/*g_nav -----*/
.g_nav {
    background-color: #0095D8;
    position: absolute;
}
.top .g_nav{
    display: none;
}
    @media screen and (max-width: 1100px) {
        .sub_page .g_nav{
            max-width:100%;
            padding: 0 1rem;
            margin: initial;
        }
    }
.g_nav ul {
    list-style: none;
}
.g_nav a {
    color: #000;
    text-decoration: none;
    display: inline-block;
    padding: 1rem 0;
    font-weight: bold;
}
.g_nav a:hover {
    color: #0095D8;
    opacity: 1;
}
#introduction .g_nav ul li.introduction a {color:#0095D8;}
#change .g_nav ul li.change a {color:#0095D8;}
#support .g_nav ul li.support a {color:#0095D8;}
#sozoku .g_nav ul li.sozoku a {color:#0095D8;}

.sub_page .g_nav {
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    background-color: transparent;
    border-bottom: 1px solid #FABE00;
        border-top: 0.1rem solid #0095D8;
}
.sub_page .g_nav ul {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    font-size: 1.4rem;
    display: flex;
    justify-content: space-evenly;
}
.sub_page .g_nav ul li {
    display: inline;
    line-height: 1.4;
}
    @media screen and (max-width: 1100px) {
        .sub_page .g_nav ul li{
            position: relative;
            padding-left: 20px;
        }
    }
.sub_page .g_nav ul li::before {
    content: "●";
    color: #FABE00;
    margin-right: 1rem;
    position: relative;
}
    @media screen and (max-width: 1100px) {
        .sub_page .g_nav ul li::before {
            position: absolute;
            top: 50%;
            left: 0%;
            transform: translateY(-50%);
            -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
            }
    }

/*sub_nav -----*/
.s_nav {
    position: absolute;
    top: 30px;
    right: 430px;
}
    @media screen and (max-width: 1100px) {
        .s_nav{
            right: 40rem;
        }
    }
.s_nav li {
    display: inline;
    margin-left: 2rem;
    font-size: 1.4rem;
}
.s_nav li.sp{ display: none; }
    @media screen and (max-width: 768px) {
        .s_nav li.sp { display: block; }
    }
.s_nav a {
    color: #000;
}
.s_nav a:hover{
    color:#0095D8;
    opacity: 1;
}
#aboutus .s_nav ul li.aboutus a {color:#0095D8;}
#price .s_nav ul li.price a {color:#0095D8;}
    @media screen and (max-width: 768px) {
        #aboutus .s_nav ul li.aboutus a {color:#fff;}
        #price .s_nav ul li.price a {color:#fff;}
    }
.s_nav a::before {
    content: "●";
    color: #FABE00;
    margin-right: 1rem;
    position: relative;
    top: -0.1rem;
}

/* ------------- */
/* モバイルメニュー */
/* ------------- */
@media screen and (max-width: 768px) {
.header_wrap .mobile_overlay{
    position: fixed;
    bottom: 0;
    right: -100%; /* 初期状態は画面外に配置 */
    width: 100%;
    background-color: rgba(0, 0, 0, 0.4);
    z-index: 999;
}
}
/*hamburger----- */
.hamburger {
    display: none;
    flex-direction: column;
    justify-content: space-between;
    width: calc(3rem * 0.64);
    height: calc(2.4rem * 0.64);
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 0;
    z-index: 1001;
}
    @media screen and (max-width: 768px) {
        .hamburger {
            display: flex;
            background-color: #0095D8;
            width: 8rem;
            height: 8rem;
            padding: 2.5rem 2rem;
            box-sizing: border-box;
        }
        .hamburger span {
            display: block;
            width: 100%;
            height: 0.2rem;
            background-color: #fff;
            transition: all 0.3s ease;
        }
        .header_wrap.menu-open .hamburger span:nth-child(1) {
            transform: translateY(calc((2.5rem) / 2)) rotate(45deg);
        }
        .header_wrap.menu-open .hamburger span:nth-child(2) {
            opacity: 0;
        }
        .header_wrap.menu-open .hamburger span:nth-child(3) {
            transform: translateY(calc((3rem) / -2)) rotate(-45deg);
        }
    /*mobile overlay-----*/
        .header_wrap.menu-open .mobile_overlay {
            right: 0; /* menu-openで画面内にスライド */
            top:80px;
            transition: right 0.3s ease;
        }
    }

/* -------------------------------- */
/* モバイルメニューg_nav・s_nav ------ */
/* -------------------------------- */
    @media screen and (max-width: 769px) {
        .location {
            visibility: hidden;
        }
    }
    /* ----------- */
    /* s_navデザイン */
    /* ----------- */
    @media screen and (max-width: 768px) {
        .top .g_nav, .s_nav,.sub_page .g_nav ul {
            display:block;
        }
        .sub_page .g_nav {
            border-bottom:none;
        }
        .mobile_overlay .g_nav,
        .sub_page .mobile_overlay .g_nav,
        .mobile_overlay .s_nav {
            position: unset;
            z-index: 1000;
        }
        .mobile_overlay .g_nav,
        .sub_page .mobile_overlay .g_nav {
            background-color: #fff;
            border-top: 1px solid #0095D8;
            padding:0;
        }
        .mobile_overlay .s_nav {
            background-color: #0095D8;
        }
        .mobile_overlay .g_nav li {
            border-bottom: 1px solid #0095D8;
        }
        .sub_page .mobile_overlay .g_nav ul li {
            display: block;
            line-height: 2;
            font-size: 1.6rem;
            position: unset;
            padding-left: 0;
        }
        .sub_page .mobile_overlay .g_nav ul li::before {
            content:none;
        }
        .mobile_overlay .s_nav li {
            display:block;
            font-size:1.6rem;
            margin-left:0;
            border-bottom: 1px solid #fff;
        }
        .mobile_overlay .g_nav a,
        .mobile_overlay .s_nav a {
            display:block;
        }
        .mobile_overlay .g_nav a {
            padding:.8rem 0 .8rem 1.6rem;
        }
        .mobile_overlay .s_nav a {
            color:#fff;
            padding:.8rem 0 .8rem 3.6rem;
        }
        .mobile_overlay .g_nav a::before {
            content: "●";
            color: #FABE00;
            font-size: 1rem;
            margin-right: 1rem;
            position: relative;
            top: -0.1rem;
        }
        .mobile_overlay .s_nav a::before {
            content:none;
        }

    /* ----------- */
    /* location をモバイルメニュー内に配置 */
    /* ----------- */
        .header_wrap.menu-open .location {
            visibility: visible;
            display:block;
            position: fixed;
            width: 100%;
            right: 0;
            background-color: #fff;
            z-index: 1001;
            top: 470px;
            padding-top: 1rem;
            padding-bottom: 6rem;
            transition: 0.3s;
        }
        .header_wrap.menu-open .location .tel,
        .header_wrap.menu-open .location .jikan {
            text-align: center;
        }
    }
    @media screen and (max-width: 360px) {
        .mobile_overlay .g_nav li,
        .mobile_overlay .s_nav li,
        .sub_page .mobile_overlay .g_nav ul li {
            font-size:1.4rem;
        }
        .header_wrap.menu-open .location {
            top:440px;
        }
    }

/*--------------*/
/*---topページ---*/
/*--------------*/

/* top_mv ----- */
.top_mv{
    padding-top: 3rem;
    height: 70rem;
}
    @media screen and (max-width: 1200px) {
        .top_mv{ height: 60rem; }
    }
    @media screen and (max-width: 768px) {
        .top_mv{
            margin-bottom: 4rem;
            height: 56rem;
        }
    }
.top_mv h2{
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-weight: normal;
}
    }
    @media screen and (max-width: 460px) {
        .top_mv h2 { font-size: 2.6rem; }
    }
.top_mv p{
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
    @media screen and (max-width: 460px) {
        .top_mv p { font-size: 1.4rem; }
    }
.top_mv figure {
    z-index: -1;
    transform: translateY(-442px);
    position: relative;
    max-width: 136rem;
    margin: 0 auto;
    margin-right: -7rem;
}
    @media screen and (max-width: 1200px) {
        .top_mv figure { transform: translateY(-37rem); }
    }
    @media screen and (max-width: 1000px) {
        .top_mv figure{ padding-top: 15rem; }
    }
    @media screen and (max-width: 768px) {
        .top_mv figure {
            transform: translateY(-41rem);
            margin-right: -2rem;
        }
    }
    @media screen and (max-width: 600px) {
        .top_mv figure {
            transform: translateY(-31rem);
        }
    }
    @media screen and (max-width: 500px) {
        .top_mv figure {
            transform: translateY(-23rem);
        }
    }
.menu{
    max-width: 430px;
    margin: 0 auto 8rem;
}
    @media screen and (max-width: 460px) {
        .menu{ max-width: 310px; }
    }
.menu li{
    margin-bottom: 3rem;
}
    @media screen and (max-width: 498px) {
        .menu li{ margin-bottom: 1rem; }
    }
.menu li a{
    display: block;
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    border-radius: 30px;
    background-color: #3295D8;
    border: 2px solid #3295D8;
    padding: 1rem 2rem;
    cursor: pointer;
}
.menu li a:hover{
    color: #000;
    background: rgba(250, 190, 0, 0.1);
    border: 2px solid #FABE00;
    box-sizing: border-box;
    transition : all 0.5s ease 0s;
}
    @media screen and (max-width: 768px) {
        .menu li a{
            font-size: 2rem;
            line-height: 2rem;
            padding-left: 1rem;
            padding-right: 1rem;
        }
    }
    @media screen and (max-width: 460px) {
        .menu li a{ font-size: 1.4rem; }
    }
.menu li a:hover{
    opacity: 0.7;
}

/*.worries */
.worries {}
.top .worries {}
.worries ul li {
    display: flex;
    align-items: center;
    font-size: 1.8rem;
    background-image: url(/image/check.webp);
    background-repeat: no-repeat;
    background-size: 32px auto;
    padding-left: 4rem;
    margin-bottom: 3rem;
}
    @media screen and (max-width: 640px) {
        .worries ul li {
            margin-bottom: 2rem;
        }
    }
.worries_wrap {
    display: flex;
    flex-direction: column-reverse;
    width: calc(100% + 70px);
    margin-right: -70px;
    background: url(/image/top_worry.webp);
    background-repeat: no-repeat;
    background-position: bottom right;
    background-size: 45%;
    padding-bottom:5rem;
}
    @media screen and (max-width: 768px) {
        .worries_wrap {
            padding-bottom:100px;
            margin-bottom: 2rem;
            background-size: 65%;
        }
    }
.worries_wrap h2 {
    order:1;
    margin-right: 70px;
}
.worries_wrap ul {
    margin-bottom: 3rem;
    margin-right: 70px;
}
.worries_wrap p {
    margin-right: 70px;
}
    @media screen and (max-width: 540px) {
        .worries_wrap p {
            width:70%;
        }
    }

/* .worries_box */
.worries_box{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.worries_box > a{
    color: #000;
    width: 48%;
    height: auto;
    margin-bottom: 3rem;
    display: flex;
    flex-direction: column;
    align-items: stretch
}
.worries_box h3{
    font-weight:normal;
    position: relative;
    padding-left: 40px;
    margin-bottom: 1rem;
    line-height: 1.6;
}
    @media screen and (max-width: 768px) {
        .worries_box h3{
            font-size: 1.6rem;
            padding-left: 3rem;
        }
    }
.worries_box h3:before{
    content: "";
    background-color: #0095D8;
    width:2.8rem;
    height:2.8rem;
    border-radius: 50%;
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}
    @media screen and (max-width: 768px) {
        .worries_box h3:before{
            width: 1.8rem;
            height: 1.8rem;
            top: 1.8rem;
            top: 1.3rem;
        }
    }
.worries_box figure{
    margin-bottom: 2rem;
}
    @media screen and (max-width: 768px) {
        .worries_box p{
            font-size: 1.4rem;
            line-height: 2.4rem;
        }
    }


/* .promise */
.promise {
    display: flex;
    flex-direction: column;
}
.promise > figure {
  order: 1;
}
.promise > h3 {
  order: 2;
}
.promise > div {
  order: 3;
}
.promise div {
    margin-bottom: 1rem;
}
    @media screen and (max-width: 768px) {
        .promise p {
            line-height: 2.4rem;
        }
    }
.promise figure {
  max-width: 1340px;
  width: calc(100% + 14rem);
  margin: 0 -7rem;
}
/* .promise */


/*ハートBG */
.hart_bg {
    margin: 8rem 0;
    position: relative;
    width: 100%;
}
    @media screen and (max-width: 768px) {
        .hart_bg {
            margin: 5rem 0;
            width: 87%;
            line-height: 1.6;
        }
    }
.hart_bg::before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateY(-50%);
    width: 100vw;
    margin-left: -50vw;
    margin-right: -50vw;
    height: 250px;
    background: url(/image/heart_bg.webp) no-repeat center / cover;
}
    @media screen and (max-width: 1100px) {
        .hart_bg::before{
            left: auto;
            width: 131vw;
            right: -35%;
            height: 20rem;
            margin-left: 0;
            margin-right: 0;
            transform: translateY(-41%);
        }
    }
    @media screen and (max-width: 768px) {
        .hart_bg::before{
            height: 140px;
            width: 126vw;
            top: 70%;
            right: -45%;
        }
    }
    @media screen and (max-width: 580px) {
        .hart_bg::before{
            right: -35%;
        }
    }
    @media screen and (max-width: 460px) {
        .hart_bg::before{
            right: -25%;
        }
    }
/*ハートBG */



/* .top_message */
.top_message {
    max-width: 1290px;
    margin: 0 auto;
    padding: 30px 72px;
    display:flex;
}
    @media screen and (max-width: 768px) {
        .top_message {
            flex-direction: column;
            padding: 50px 20px;
        }
    }
.ligt_wrap {
    width: 70%;
    padding-right: 30px;
}
    @media screen and (max-width: 1100px) {
        .ligt_wrap {
            display:flex;
            flex-direction: column-reverse;
        }
        .ligt_wrap h3 {
            order: 1;
        }
    }
    @media screen and (max-width: 768px) {
        .ligt_wrap {
            width:100%;
            padding-right: 0;
        }
    }
.top_message figure {
    width: 30%;
    display:flex;
    justify-content: center;
    align-items: center;
}
    @media screen and (max-width: 768px) {
        .top_message figure {
            width:50%;
            margin:0 auto;
        }
    }
.president_name {
    text-align: right;
}

/* FAQ */
.faq details {
    border-bottom: 1px solid #FABE00;
    margin-bottom: 2rem;
}
.faq summary {
    cursor: pointer;
    list-style: none;
    position: relative;
    padding: 1rem 4rem;
}
.faq summary h3{
    font-size: 1.6rem;
    margin-bottom: 0;
}
    @media screen and (max-width: 768px) {
        .faq summary h3{
            line-height: 1.8;
        }
    }
.faq summary::-webkit-details-marker {
    display: none;
}
.faq summary::before {
    content: "Q";
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0rem;
    top: 50%;
    transform: translateY(-50%);
    width: 3rem;
    height: 3rem;
    background-color: #FABE00;
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
}
    @media screen and (max-width: 768px) {
        .faq details{
            margin-bottom: 1rem;
        }
        .faq summary::before {
            top: 0.8rem;
            transform: translateY(0);
        }
    }
.faq summary::after {
    content: "+";
    position: absolute;
    right: 2rem;
    top: 50%;
    transform: translateY(-50%);
    font-size: 2.4rem;
    font-weight: bold;
    transition: transform 0.3s;
}
.faq details[open] summary::after {
    content: "−";
    transform: translateY(-50%);
}
.faq details p {
    position: relative;
    padding: 1rem 2rem 1rem 4rem;
    margin: 0;
}
.faq details p::before {
    content: "A";
    display: flex;
    align-items: center;
    justify-content: center;
    position: absolute;
    left: 0rem;
    top: 1rem;
    width: 3rem;
    height: 3rem;
    background-color: #0095D8;
    color: #fff;
    font-weight: bold;
    font-size: 1.6rem;
}
.faq details ol {
    margin: 1rem 0 0 4rem;
    padding: 0;
}
.faq details ul {
    margin: 1rem 0 0 4rem;
    padding: 0;
}
.faq details ol li{
    margin-bottom: 0.5rem;
    list-style: decimal;
    list-style-position: inside;
}

/* お打ち合わせスペース */
.top_space{
    padding: 3rem 0 4rem 0;
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    margin-bottom: 0;
}
    @media screen and (max-width: 768px) {
        .top_space{
            flex-direction: column;
        }
    }
.top_space h2 {
    width: 100%;
}
.top_space p {
    line-height: 2.8rem;
    width: 100%;
    margin-bottom: 2rem;
}
    @media screen and (max-width: 768px) {
        .top_space p{
            line-height: 2.4rem;
        }
    }
.top_space figure {
    width: calc(33.333% - 3.4rem);
    margin: 0;
    padding: 0;
    margin: 0 1rem;
}
    @media screen and (max-width: 768px) {
        .top_space figure {
            width: 60%;
            margin: 0 auto;
            margin-bottom: 2rem;
        }
    }
.top_space figure img {
    width: 100%;
    display: block;
}

/*--------------*/
/*---下層ページ---*/
/*--------------*/

/* パンくずリスト */
.Breadcrumbs{
    display: flex;
    justify-content: flex-end;
    margin-bottom: 3rem;
    padding: 1rem;
}
    @media screen and (max-width: 768px) {
        .Breadcrumbs{
            display: none;
        }
    }
.Breadcrumbs li{
    position: relative;
    padding-left: 5rem;
}
.Breadcrumbs li.home::before{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 0rem;
    transform: translateY(-50%);
    width: 1.5rem;
    height: 1.5rem;
    background: url(../image/home.png) no-repeat center/contain;
}
.Breadcrumbs li a::after{
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    right: -1.2rem;
    transform: translateY(-50%);
    width: 0.6rem;
    height: 1em;
    /* 2個目以降のスタイルをここに記述 */
    background: url(../image/allow.png) no-repeat center/contain;
}
.Breadcrumbs li{
    font-size: 1.4rem;
    padding-left: 2rem;
}

/*.top_intro */
.top_intro {
    margin:0 auto;
    display: flex;
    flex-wrap: wrap;
}
    @media screen and (max-width: 768px) {
        .top_intro {
            flex-direction: column;
            align-items: center;
            text-align: center;
        }
    }
.top_intro > h2 {
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    text-align: center;
    font-size:clamp(1.6rem, 0.152rem + 2.297vw, 3rem);
}
    @media screen and (max-width: 768px) {
        .top_intro > h2 {
            width: 100%;
            padding: 1rem;
        }
    }
.top_intro > h2::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 52%;
    transform: translate(-48%, -42%);
    width: 90%;
    height: 94%;
    border: 2px solid #0095D8; /* 枠線の色は適宜変更 */
}
    @media screen and (max-width: 768px) {
        .top_intro > h2::before {
            width: 100%;
            display: none;
        }
    }
.top_intro > h2::after {
    content: "";
    position: absolute;
    top: 52%;
    left: 52%;
    transform: translate(-55%, -55%);
    width: 90%;
    height: 94%;
    border: 0.2rem solid #0095D8; /* 枠線の色は適宜変更 */
}
    @media screen and (max-width: 768px) {
        .top_intro > h2::after {
            transform: translate(-50%, -50%);
            left: 50%;
            width: 100%;
            height: 100%;
        }
    }
.top_intro > figure {
    width: 48%;
    position: relative;
    margin-left: 2%;
}
    @media screen and (max-width: 768px) {
        .top_intro > figure {
            width: calc(100% + 4rem);
            margin: 0 -2rem;
            margin-bottom: 1rem;
        }
    }

.top_intro > div {
    width: 100%;
    border-left: 3px solid #0095D8;
    padding-left: 1.5rem;
    margin-left: 2rem;
    margin-top: 3rem;
    padding-top: 2rem;
}
    @media screen and (max-width: 768px) {
        .top_intro > div {
            text-align: left;
            margin-left: 0rem; 
        }
    }


/* ----------------- */
/* -------目次------- */
/* ----------------- */
.mokuji {
    background-color: #F8D25B;
    border: 0.3rem solid #F8D25B;
    margin: 4rem auto;
    max-width: 60rem;
    margin-bottom: 8rem;
}
    @media screen and (max-width: 768px) {
        .mokuji {
            margin: 2rem auto;
            width: 100%;
        }
    }
.mokuji a {
    color:#000;
}
.mokuji p {
    font-size: 1.8rem;
    font-weight: bold;
    padding: 1rem 1rem 1rem 2rem;
    position: relative;
    cursor: pointer;
    text-align: center;
}
.mokuji p::before {
    font-family: 'Font Awesome 6 Free';
    content: '\f03a';
    font-weight: 900;
    position: absolute;
    top: 50%;
    transform: translate(-50%, -50%);
    left: 45%;
    font-size: 2rem;
}
@media screen and (max-width: 768px) {
    .mokuji p::before {
        left: 43%;
    }
}
.mokuji.closed p::before {
    content: "\2b";
}
.mokuji > ol {
    background-color: #fff;
    list-style: none;
    counter-reset: item;
}
.mokuji > ol > li {
    counter-increment: item;
}
.mokuji > ol > li:last-child {
    margin-bottom: 0;
}
.mokuji > ol > li > a {
    display: block;
    padding: 0.4rem 1.5rem;
    background-color: #fff;
    text-decoration: none;
    transition: background-color 0.3s;
    border-bottom: 0.1rem solid #F8D25B;
}
.mokuji > ol > li > a::before {
    content: counter(item) ".";
    margin-right: 0.8rem;
}
.mokuji > ol > li > ol {
    list-style: none;
    counter-reset: subitem;
}

.mokuji > ol > li > ol > li {
    counter-increment: subitem;
}

.mokuji > ol > li > ol > li:last-child {
    margin-bottom: 0;
}
.mokuji > ol > li > ol > li > a {
    display: block;
    padding-left: 2rem;
    padding: 0.4rem 1rem;
    text-decoration: none;
    transition: background-color 0.3s;
    border-bottom: 0.1rem solid #F8D25B;
    padding-left: 2rem;

}
.mokuji > ol > li > ol > li > a:hover {
    background-color: #FFF8E1;
}
.mokuji > ol > li > ol > li > a::before {
    content: counter(item) "-" counter(subitem) ".";
    margin-right: 0.8rem;
}
/* 閉じた状態 */
.mokuji.closed > ol {
    display: none;
}
/* -------目次------- */

/* .think */
.think figure {
    width: 45%;
    float: right;
    padding-left: 20px;
    margin-right: -70px;
}
    @media screen and (max-width: 768px) {
        .think figure {
            width: 100%;
            float: none;
            margin: 0 auto 1rem;
        }
    }


/* 画像右フロート60% */
.f_img_r figure {
    width: 60%;
    float: right;
    margin-left: 20px;
    margin-top: -50px;
}
/* 画像右フロート */
#sozoku .f_img_r figure {margin-top: 0;}


/* .think */
.think.f_img_r {
    padding-bottom: 6rem;
}
    @media screen and (max-width: 768px) {
    .think.f_img_r {
        display: flex;
        flex-direction: column;
        padding-top: 6rem;
    }
    .think.f_img_r h3 {order:2;}
    .think.f_img_r figure {
        order:1;
        width:100%;
        margin-left:0;
        }
    .think.f_img_r div {order:3;}
    }


/* 下層　黄色背景　4つのお約束 */
.yellow_bg .promise {
    max-width: 1340px;
    margin: 0 auto 6rem;
    padding: 0 7.2rem 6rem;
}
    @media screen and (max-width: 768px) {
        .yellow_bg .promise {
            display:flex;
            padding: 0 2rem 6rem;
        }
    }
    @media screen and (max-width: 768px) {
        .yellow_bg .promise div {
            display:flex;
            flex-direction: column;
        }
    }
.yellow_bg .promise figure {
    width: 45%;
    margin-left: 20px;
    float:right;
}
    @media screen and (max-width: 768px) {
        .yellow_bg .promise figure {
            width:80%;
            margin:0 auto;
            float:none;
            order:2;
        }
    }


/* ---------- */
/* ご相談の流れ */
/* ---------- */
.flow{
    display: flex;
}
    @media screen and (max-width: 768px) {
        .flow {
            flex-direction: column;
            align-items: center;
        }
    }
.flow h2{
    color: #fff;
    font-weight: bold;
    line-height: 1.6;
    width: 240px;
    height: 210px;
    background: #0095D8;
    margin: 0 3rem 0 0;
    display: flex;
    justify-content: center;
    align-items: center;
}
.flow h2 em::after{
    content: "flow";
    display: block;
    font-size: 2.6rem;
    font-weight: normal;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .flow h2 {
            width: 243px;
            height: auto;
            margin: 0 0 2rem 0;
            margin-bottom: 3rem;
            padding: 8rem 0;
        }
    }
.flow dl{
    width: 70%;
    padding-left: 130px;
    position: relative;
}
    @media screen and (max-width: 1100px) {
        .flow dl{
            padding-left: 7rem;
        }
    }
    @media screen and (max-width: 768px) {
        .flow dl {
            width: 100%;
            padding-left: 0;
        }
    }
.flow dl::before{
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    width: 8rem;
    height: 100%;
    background: url(../image/flow_allow.png) no-repeat bottom center/contain;
}
    @media screen and (max-width: 768px) {
        .flow dl::before {
            display: none;
        }
    }
.flow dl dt{
    font-size: 1.8rem;
    display: flex;
    align-items: center;
    line-height: 1;
    margin-bottom: 2rem;
}
    @media screen and (max-width: 768px) {
        .flow dl dt {
            margin-bottom: 1rem;
        }
    }
.flow dl dt em{
    color: #3295D8;
    font-size: 3rem;
    margin-right: 2rem;
}
@media screen and (max-width: 768px) {
    .flow dl dt em {
        font-size: 2.4rem;
    }
}
.flow dl dd{
    margin-bottom: 3rem;
}
.flow dl dd.end {
    margin-bottom: 0;
}
    @media screen and (max-width: 768px) {
        .flow dl dd{
            padding-left: 10rem;
        }
    }
/* ご相談の流れ */


/* 相談 .soudan */
.soudan {
    margin-bottom: 0;
}
    @media screen and (max-width: 768px) {
        .soudan {
            display: flex;
            flex-direction: column-reverse;
        }
    }
.soudan div {
    width: 48%;
    float: left;
    margin-right: 2%;
}
    @media screen and (max-width: 768px) {
        .soudan div { width: 100%; }
    }
.soudan figure {
    width: 50%;
    float: right;
    padding-top: 1.6rem;
}
    @media screen and (max-width: 1100px) {
        .soudan figure {padding-top: 2.4rem;}
    }
    @media screen and (max-width: 1060px) {
        .soudan figure {padding-top: 3.2rem;}
    }
    @media screen and (max-width: 768px) {
        .soudan figure { width: 100%; }
    }

.offer h2 {
    font-size: 2.4rem;
}

/* ---------------------- */
/* プライバシーポリシーページ */
/* ---------------------- */
.privacy p{
    margin-bottom: 2rem;
}
.privacy ul,
.privacy ol {
    margin-bottom: 2rem;
    margin-left:2rem;
}
.privacy ul li{
    position: relative;
    padding-left: 1rem;
    list-style-position: outside;
}
.privacy ul li::before{
    content: "-";
    display: block;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
}
.privacy ol li {
    list-style-type: decimal; /* 1, 2, 3... */
    list-style-position: outside;
}
.privacy-line {
    border-top: 0.1rem solid #FABE00;
    padding-top: 2rem;
}


/* --------------- */
/* ---会社概要----- */
/* --------------- */
/* 代表メッセージ */
.message figure {
    width: 30%;
    padding: 0 0 20px 50px;
    float: right;
}
    @media screen and (max-width: 1100px) {
        .message figure{ width: 40%; }
    }
    @media screen and (max-width: 768px) {
        .message figure{ width: 50%; }
    }
    @media screen and (max-width: 460px) {
        .message figure{
            width: 100%; 
            padding: 0 0 30px 0;
        }
    }

/* ロゴについて */
.logo_sec {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    padding: 3rem 7.2rem;
}
.logo_sec div {
    display: flex;
}
    @media screen and (max-width: 768px) {
        .logo_sec div {
            flex-direction: column-reverse;
        }
    }
.logo_sec div p {
    width: 50%;
}
    @media screen and (max-width: 768px) {
        .logo_sec div p { width: 100%; }
    }
.logo_sec figure {
    width: 50%;
    position: relative;
}
    @media screen and (max-width: 768px) {
        .logo_sec figure {
            width: 100%;
            text-align: center;
            margin-bottom: 2rem;
        }
    }
.logo_sec figure img {
    min-width: 260px;
    width: 50%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
}
    @media screen and (max-width: 768px) {
        .logo_sec figure img {
            position:static;
            transform: unset;
        }
    }
/* ------- */
/* 法人概要 */
/* ------- */
.company table {
  width: 70%;
  margin: 0 auto;
  border-collapse: collapse;
}
    @media screen and (max-width: 768px) {
        .company table {
            width: 100%;
            border-bottom: 1px solid #F8D25B;
        }
    }
.company table th,
.company table td {
  padding: 1rem 2rem;
  border: 1px solid #F8D25B;
  text-align: left;
  vertical-align: top;
}
    @media screen and (max-width: 768px) {
        .company table th, .company table td {
            width: 100%;
            display: block;
        }
    }
.company table th {
  background-color: #f4e4a6;
  font-weight: normal;
  width: 20%;
}
    @media screen and (max-width: 768px) {
        .company table th {
            width:100%;
            border-bottom: none;
        }
    }
.company table td {
  background-color: #fff;
  width: 80%;
}
    @media screen and (max-width: 768px) {
        .company table td {
            width:100%;
            border-bottom: none;
        }
    }
.company table ul {
  margin: 0;
  padding-left: 1.5rem;
  list-style-type: disc;
}
.company figure{
    max-width: 510px;
    width: 100%;
    margin:  0 auto;
    margin-top: 12rem;
}
.company figcaption{
    max-width: 510px;
    width: 100%;
    margin:  0 auto;
}

/* 料金表 */
.yellow_bg section {
    max-width: 1340px;
    width: 100%;
    margin: 0 auto;
    padding: 6rem 7.2rem;
    margin-bottom: 6rem;
}
    @media screen and (max-width:768px) {
        .yellow_bg section {
            padding: 6rem 2rem;
        }
    }

/* ---------- */
/* お問い合わせ */
/* ---------- */
.form{
    max-width: 9960px;
    width: 100%;
    margin: 0 auto;
    padding: 5rem 0;
}
.form h2 {
    text-align: center;
    margin-bottom: 5rem;
}
    @media screen and (max-width: 768px) {
        .form h2{
            font-size: 2.4rem;
            margin-bottom: 3rem;
        }
    }
.form dl {
    display: flex;
    flex-wrap: wrap;
    margin-bottom: 2rem;
}
    @media screen and (max-width: 768px) {
        .form dl{
            flex-direction: column;
        }
    }
.form dt {
    width: 30%;
}
    @media screen and (max-width: 768px) {
        .form dt{
            width: 100%;
            margin-bottom: 0rem;
        }
    }
.form dd {
    width: 70%;
    margin-bottom: 2rem;
}
    @media screen and (max-width: 768px) {
        .form dd{
            width: 100%;
            margin-bottom: 1rem;
        }
    }
.form label{
    font-weight: normal;
}
    @media screen and (max-width: 768px) {
        .form dt label{
            font-size: 1.4rem;
        }
    }
@media screen and (max-width: 486px) {
    .form label{
        font-size: 1.4rem;
    }
}
.form label span{
    background-color: #FABE00;
    color: #fff;
    width: fit-content;
    border-radius: 0.5rem;
    margin-left: 1rem;
    font-size: 1.4rem;
    height: 1.8rem;
    line-height: 1.8rem;
    width: 5.2rem;
    display: inline-block;
    text-align: center;
}
    @media screen and (max-width: 768px) {
        .form label span{
            font-size: 1.2rem;
            height: 1.6rem;
            line-height: 1.6rem;
            width: 4.5rem;
            margin-left: 0.8rem;
        }
    }
    @media screen and (max-width: 486px) {
        .form label span{
            font-size: 1rem;
            height: 1.5rem;
            line-height: 1.5rem;
            width: 4rem;
            margin-left: 0.5rem;
            border-radius: 0.3rem;
        }
    }
.form input,
.form textarea,
.form select{
    width: 100%;
    background-color: #fff;
    padding: 0.8rem 0.5rem;
    border: 0.1rem solid #D9D9D9;
    box-sizing: border-box;
    position: relative;
}
    @media screen and (max-width: 768px) {
        .form input, .form textarea, .form select {
            font-size: 1.4rem;
            padding: 0.6rem 0.4rem;
        }
    }
    @media screen and (max-width: 486px) {
        .form input, .form textarea, .form select{
            font-size: 1.3rem;
            padding: 0.6rem 0.4rem;
        }
    }
.form .width50 input{
    width: 35%;
    margin-right: 2rem;
    padding: 0.8rem 0.5rem;
}
    @media screen and (max-width: 768px) {
    }
    @media screen and (max-width: 768px) {
        .form .width50{
        font-size: 1.2rem;
     }
    .form .width50 input{
        width: 40%;
        margin-right: 1rem;
        padding: 0.6rem 0.4rem;
    }
}
    @media screen and (max-width: 486px) {
        .form .width50 input{
            width: 100%;
            margin-right: 0;
            margin-bottom: 0.8rem;
            padding: 0.6rem 0.4rem;
        }
    }
.form .width50 input:last-of-type{
    margin-right: 0;
}
@media screen and (max-width: 486px) {
    .form .width50 input:last-of-type{
        margin-bottom: 0;
    }
}
.form select{
    appearance: auto;
    -webkit-appearance: menulist;
    -moz-appearance: menulist;
    padding: 1.2rem;
}
    @media screen and (max-width: 768px) {
        .form select{ padding: 0.8rem 0.4rem; }
    }
    @media screen and (max-width: 486px) {
        .form select{ padding: 0.8rem 0.4rem; }
    }
.form textarea {
    padding:1.2rem;
}
.v_hidden {visibility: hidden;}

.p_check a {
    display:block;
}
.p_check input[type="checkbox"] {
    appearance: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    width: 2rem;
    height: 2rem;
    border: 0.2rem solid #0095D8;
    border-radius: 0.3rem;
    background-color: #fff;
    cursor: pointer;
    position: relative;
    flex-shrink: 0; /* チェックボックスのサイズ固定 */
    margin: 0;
}
.p_check input[type="checkbox"]:checked {
    background-color: #0095D8;
    border-color: #0095D8;
}
.p_check input[type="checkbox"]:checked::after {
    content: "";
    display: block;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -60%) rotate(45deg);
    width: 0.6rem;
    height: 1rem;
    border: solid #fff;
    border-width: 0 0.2rem 0.2rem 0;
}
.p_check input[type="checkbox"]:hover {
    border-color: #FABE00;
}
.p_check input[type="checkbox"]:focus {
    outline: 0.2rem solid #FABE00;
    outline-offset: 0.2rem;
}

/* 確認画面 */
.form.kakunin dl {
    margin-bottom:6rem;
}
    @media screen and (max-width: 768px) {
        .form.kakunin dl {
            flex-direction: row;
            justify-content: center;
        }
    }
.form.kakunin dt, .form.kakunin dd {
    border-bottom: 1px solid #D9D9D9;
    padding: 1rem;
}
    @media screen and (max-width: 768px) {
        .form.kakunin dt { width:30%;}
        .form.kakunin dd { width:70%;}
    }
.form.kakunin dd {
    margin-bottom: 0;
}

/* エラー画面 */
.error_wrap {
    margin-bottom: 6rem;
}
p.error_messe {
    color: red;
}

#formbtn{
    display: flex;
    justify-content: center;
    margin-bottom: 3rem;
}
@media screen and (max-width: 768px) {
    #formbtn{
        flex-direction: column;
        align-items: center;
    }
 
}
/* ボタン */
#formbtn input{
    background-color: #0095D8;
    font-size: 2.8rem;
    border-radius: 0.5rem;
    width: 300px;
    text-align: center;
    color: #fff;
    margin-right: 2rem;

}
#formbtn input:hover{
    opacity: 0.6;
}
    @media screen and (max-width: 768px) {
        #formbtn input{
            margin-bottom: 2rem;
            margin-right: 0;
            font-size: 1.8rem;
            line-height: 4rem;
        }
    }

.grid_2col {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(1, 1fr);
    gap: 50px;
    width: 100%;
    margin: 0 auto;
}
    @media screen and (max-width: 768px) {
        .grid_2col {
            grid-template-columns: 1fr;
            gap: 30px;
            margin-bottom: 6rem;
        }
    }
.grid_2col section {
    border: 1px solid #0095D8;
    padding:2rem;
}
    @media screen and (max-width: 768px) {
        .grid_2col section {
            margin-bottom:0;
        }
    }
.grid_2col h3+p {padding-bottom:0;}
.grid_2col dl{
    display: flex;
}
.grid_2col dl.tel {
    margin-bottom: 2rem;
}
.grid_2col dt{
    position: relative;
    padding-left: 2.5rem;
    font-weight: normal;
}
.grid_2col dt::before{
    content: "■";
    display: block;
    position: absolute;
    top: 50%;
    left: 0.5rem;
    transform: translateY(-50%);
    font-size: 1.6rem;
    color: #0095D8;
}
.grid_2col .tate{
    flex-direction: column;
}
.grid_2col ul li{
    list-style-type: disc;
    list-style-position: inside;
    padding-left: 1rem;
}
.div{
    display: flex;
}
@media screen and (max-width: 768px) {
    .div{
        flex-direction: column;
        margin-top: 6rem;
    }
    .form-box{
        width: 100%;
        margin: 0 auto 4rem auto;
        height: auto;
    }
}
.contact-faq p{
    font-size: 2rem;
    margin-bottom: 0.2rem;
}
.contact-faq ul li{
    list-style-type: disc;
    list-style-position: inside;
    color: #0095D8;
    padding-left: 1rem;
}
/* お問い合わせ完了ページ */
.thankyou{
    padding-bottom: 3rem;
}
    @media screen and (max-width: 768px) {
        .thankyou{
            padding-bottom: 0;
        }
    }
.thankyou p{
    margin-bottom: 3rem;
}

.blue-ttl{
    position: relative;
    padding-left: 2rem;
}
.blue-ttl::after{
    content: "";
    display: block;
    position: absolute;
    /* bottom: -1rem; */
    top: 1.3rem;
    left: 0;
    width: 1.5rem;
    height: 1.5rem;
    background-color: #0095D8;
}

/* --------- */
/*テーブル---- */
/* --------- */
/* ---------- */
/* 青色テーブル */
/* ---------- */
.table-blue {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    background-color: #fff;
    font-size: 1.6rem;
    margin-bottom: 6rem;
}
    @media screen and (max-width:486px) {
        .table-blue {
            font-size: 1.4rem;
            margin-bottom: 4rem;
        }
    }
.table-blue thead th {
    color: #000;
    padding: 1rem 1.5rem;
    text-align: center;
    vertical-align: middle;
    background-color:#E6F7FF;
    border: 4px solid #0095D8;
    line-height: 1.6;
    font-weight: normal;
    padding: 2rem 0;
}
    @media screen and (max-width: 768px) {
        .table-blue thead th {
            display: none;
        }
    }
    @media screen and (max-width:486px) {
        .table-blue thead th {
            font-size: 1.4rem;
            padding: 0.8rem 1.2rem;
        }
    }
    @media screen and (max-width: 768px) {
        .table-blue tbody {
            border-top: 2px solid #0095D8;
            border-bottom: 1px solid #0095D8;
        }
    }
.table-blue tbody th {
    background-color: #0095D8;
    color: #fff;
    padding: 1rem 1.5rem;
    text-align: left;
    border-left: 4px solid #0095D8;
    border-bottom: 4px solid #fff;
    font-weight: normal;
}
    @media screen and (max-width: 768px) {
        .table-blue tbody th {
            display: block;
            text-align: center;
            padding: 0.5rem 0;
            border: none;
        }
    }
    @media screen and (max-width:486px) {
        .table-blue tbody th {
            font-size: 1.4rem;
            padding: 0.8rem 0;
        }
    }
.table-blue tbody th em{
    margin-right: 1.6rem;
}
.table-blue tbody td {
    background-color: #fff;
    padding: 1rem 1.5rem;
    text-align: center;
    border: 4px solid #0095D8;
    font-size: 1.6rem;
}
    @media screen and (max-width: 768px) {
        .table-blue tbody td {
            display: block;
            text-align: left;
            border: none;
            border-bottom: 2px solid #0095D8;
            border-right: 2px solid #0095D8;
            border-left: 2px solid #0095D8;
            padding: 0;
            position: relative;
            padding-left: 51%;
            line-height: 5rem;
            font-size: 1.4rem;
            text-align: center;
        }
        .table-blue tbody td::before {
            content: attr(data-label);
            position: absolute;
            left: 0;
            width: calc(50% - 0.1rem);
            font-weight: normal;
            background-color: #E6F7FF;
            padding-left: 1rem;
            border-right: 2px solid #0095D8;
            font-size: 1.3rem;
            text-align: left;
        }
        .table-blue.th-s tbody td {
            padding-left: 41%;
        }
        .table-blue.th-s tbody td::before {
            width: calc(40% - 0.1rem);
        }
    }
    @media screen and (max-width:486px) {
        .table-blue tbody td {
            font-size: 1.3rem;
            line-height: 4.5rem;
            padding-left: 55%;
        }
        .table-blue tbody td::before {
            font-size: 1.2rem;
            width: calc(55% - 0.1rem);
            height: 4.5rem;
            line-height: 4.5rem;
        }
        .table-blue.th-s tbody td {
            padding-left: 35%;
            font-size: 1.2rem;
        }
        .table-blue.th-s tbody td::before {
            width: calc(35% - 0.1rem);
        }
    }


/* 価格表の下のリスト */
.blue-list dt{
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
    padding-left: 2rem;
    margin-top: 3rem;
}
.blue-list dt::before{
    content: "⚫";
    display: block;
    position: absolute;
    top: 50%;
    left: 0px;
    transform: translateY(-50%);
    color: #0095D8;
}
.blue-list ul li{
    list-style-position: inside;
    list-style-type: disc;
}

/* スクロールテーブル */
.table_scroll {
    overflow-x: auto;
    display: block;
}
 .table_scroll table {
     white-space: nowrap;
     margin-bottom:2rem;
  }
  .table_scroll th, .table_scroll td {
    white-space: nowrap;
}
    @media screen and (max-width: 768px) {
         .table_scroll table {
            min-width: 960px;
            width:100%;
        }
        .table_scroll table th { display: table-cell;}
        .table_scroll table td { display: table-cell;}
    }

/* ------------ */
/* 黄色いテーブル */
/* ------------ */
.th_yellow {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    background-color: #fff;
    font-size: 1.6rem;
    margin-bottom: 6rem;
}
.th_yellow {
    max-width: 960px;
    width: 100%;
    margin: 0 auto;
    border-collapse: collapse;
    background-color: #fff;
    font-size: 1.6rem;
    margin-bottom: 6rem;
}
.th_yellow thead th {
    color: #000;
    padding: 1rem 1.5rem;
    text-align: center;
    vertical-align: middle;
    background-color: #FFE9A3;
    border: 4px solid #0095D8;
    line-height: 1.6;
    font-weight: normal;
    padding: 2rem 0;
}
.th_yellow tbody th {
    background-color: #0095D8;
    color: #fff;
    padding: 1rem 1.5rem;
    text-align: left;
    border-left: 4px solid #0095D8;
    border-bottom: 4px solid #fff;
    font-weight: normal;
}
.th_yellow tbody td {
    background-color: #fff;
    padding: 1rem 1.5rem;
    text-align: center;
    border: 4px solid #0095D8;
    font-size: 1.6rem;
}

/*----ここまで一応OK 確認済 -------------------------------------------------------*/

/*税務会計サポート.kaikei_price*/
.kaikei_price .table-blue tbody td {
    width: calc(100% / 5);
}
    @media screen and (max-width: 768px) {
        .kaikei_price .table-blue tbody td {
            width: calc(100% / 1);
        }
    }

/*決算サポート .kessan_price */
/*税務相談サービス .zeimu_price*/
    @media screen and (max-width: 768px) {
        .zeimu_price .table-blue {
            min-width:768px;
        }
    }
.zeimu_price .table-blue thead th {
    background-color: #0095D8;
    color: #fff;
    border-right-color: #fff;
    border: none;
    border-right: 3px solid #fff;
}
.zeimu_price .table-blue tbody th {
    background-color: #E6F7FF;
    color: #000;
    border: none;
    border-bottom:3px solid #fff;
    width:480px;
    padding:2px 15px;
}
    @media screen and (max-width: 768px) {
        .zeimu_price .table-blue tbody th {
            text-align: left;
            vertical-align: middle;
            font-size: 1.4rem;
            }
    }
.zeimu_price .table-blue tbody td {
    border: none;
    border-bottom: 3px solid #0095D8;
    border-left: 3px solid #0095D8;
    min-width:160px;
    padding:2px 15px;
}
    @media screen and (max-width: 768px) {
        .zeimu_price .table-blue tbody td {
            text-align: center;
            line-height: 2.4;
        }
        .zeimu_price .table-blue tbody td::before {content:none;}
    }
.zeimu_price .table-blue tbody td.space {
    background-color:#EEF1F4;
}
.zeimu_price .table-blue {
    border: 4px solid #0095D8;
}
.zeimu_price .table-blue a {
    color:#F17F28;
    font-weight: normal;
}
.zeimu_price .table-blue tbody tr:last-child th {
    text-align: center;
}
.zeimu_price table em {
    color: red;
    position: relative;
    padding-right: 2.5rem;
}
.zeimu_price .blue-list {
    margin-bottom: 3rem;
}
.zeimu_price .bg_yellow {
    background-color:#FFF4D0;
    padding: 1rem;
    margin-bottom: 6rem;
}
.zeimu_price .table_scroll {
    margin-bottom:2rem;
}

/*記帳代行サービス .kicho_praice */
.kicho_praice .table-blue tbody td {
     width: calc(100% / 3);
}
    @media screen and (max-width: 768px) {
        .kicho_praice .table-blue tbody td { width: calc(100% / 1);}
    }

/*年末調整サービス .adjustment_price */
.adjustment_price table tbody th {
    background-color: #fff;
    color: #000;
    border-bottom: 4px solid #0095D8;
}
.adjustment_price table tbody td {
    width:50%;
}
    @media (max-width: 768px) {
        .adjustment_price table {
            max-width: 768px;
            width:100%;
        }
    }

/*オプションサービス .option_price */
.option_price table tbody th {
    background-color: #E6F7FF;
    color: #000;
    border-bottom: 4px solid #0095D8;
}
    @media (max-width: 768px) {
        .option_price table {
            max-width: 768px;
            width:100%;
        }
    }

/* テーブル 共通 */
.table-blue thead th:first-child {
    background-color:#FFF;
}
.table-blue tbody tr:last-child th {
    border-bottom: 4px solid #0095D8;
}
p small em {color:red;}
p small em:after {
    content: '\f141';
    font-family: 'Font Awesome 6 Free';
    font-weight: 900;
    color: #000;
}
sup{
    padding-top: 2rem;
    color: red;
    font-weight: normal;
}

/* ------------- */
/* TOPに戻るボタン */
/* ------------- */
.page-top {
    position: fixed;
    bottom: 2rem;
    right: 2rem;
    width: 100px;
    height: 100px;
    z-index: 999;
    opacity: 0;
    transition: opacity 0.3s, visibility 0.3s;
    cursor: pointer;
    text-decoration: none;
}
    @media screen and (max-width: 768px) {
        .page-top {
            width: 80px;
            height: 80px;
            bottom: 1.5rem;
            right: 1.5rem;
        }
    }
    @media screen and (max-width: 486px) {
        .page-top {
            width: 70px;
            height: 70px;
            bottom: 1rem;
            right: 1rem;
        }
    }
.page-top.show {
    opacity: 1 !important;
    visibility: visible;
}
.page-top:hover {
    opacity: 0.7;
}
.page-top-icon {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #FFC107 0%, #FABE00 100%);
    border-radius: 0.5rem;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    box-shadow: 0 0.4rem 0.8rem rgba(0, 0, 0, 0.2);
    border: 0.3rem solid #fff;
}
    @media screen and (max-width: 486px) {
        .page-top-icon {
            border-radius: 0.4rem;
            border-width: 0.2rem;
        }
    }
.page-top-icon svg {
    width: 40px;
    height: 30px;
    margin-bottom: 5px;
}
    @media screen and (max-width: 768px) {
        .page-top-icon svg {
            width: 32px;
            height: 24px;
            margin-bottom: 3px;
        }
    }
    @media screen and (max-width: 486px) {
        .page-top-icon svg {
            width: 28px;
            height: 20px;
            margin-bottom: 0.2rem;
        }
    }
.page-top-icon span {
    color: #fff;
    font-size: 2rem;
    font-weight: bold;
    font-family: Arial, sans-serif;
    letter-spacing: 0.1rem;
}
    @media screen and (max-width: 768px) {
        .page-top-icon span { font-size: 1.6rem; }
    }
    @media screen and (max-width: 486px) {
        .page-top-icon span { font-size: 1.4rem; }
    }

/* PC: width1340pxの右下に配置 */
@media screen and (min-width: 1341px) {
    .page-top {
        right: calc(50% - 67rem + 2rem); /* 1340pxの右端から2rem */
    }
}
