@charset "UTF-8";

/* Client-specific Styles */

#outlook a {
    padding: 0;
}

/* Force Outlook to provide a "view in browser" button. */

body {
    width: 100% !important;
    margin: 0 auto;
    padding: 0;
    font-family: 'Noto Sans JP', sans-serif, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "lucida grande", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}

.ReadMsgBody {
    width: 100%;
}

.ExternalClass {
    width: 100%;
}

/* Force Hotmail to display emails at full width */

body {
    -webkit-text-size-adjust: none;
    -ms-text-size-adjust: none;
}

/* Prevent Webkit and Windows Mobile platforms from changing default font sizes. */
/* Reset Styles */

html {
    font-size: 62.5%;
    font-weight: 800;
    scroll-padding-top: 80px;
}

a:link,
a:visited {
    text-decoration: none;
}

button {
    font-family: 'Noto Sans JP', sans-serif, "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "lucida grande", Osaka, "ＭＳ Ｐゴシック", "MS PGothic";
}

.material-symbols-outlined {
    position: absolute;
    right: 5%;
    bottom: 28px;
    font-variation-settings:
        'FILL' 0,
        'wght' 400,
        'GRAD' 0,
        'opsz' 24
}

a:hover {
    opacity: 0.75;
}

img {
    border: 0 none;
    outline: 0 none;
    margin: 0;
    padding: 0;
    vertical-align: bottom;
    width: 100%;
    height: auto;
}

p,
ul,
dd {
    margin: 0;
    padding: 0;
}

li {
    list-style: none;
}

h1 {
    margin-top: 0;
    margin-bottom: 0;
    font-size: clamp(1.8rem, 2.4vw, 2.4rem);
}

h2 {
    color: #00418f;
    font-size: clamp(3rem, 4vw, 4rem);
    line-height: 1.27;
    margin: 0;

}

h3 {
    color: #00418f;
    font-size: clamp(2.7rem, 3.6vw, 3.6rem);
    line-height: 1.27;
    margin: 0;
}

h4 {
    font-size: clamp(1.6rem, 1.8vw, 2.2rem);
    line-height: 1.3;
    color: #000;
    margin: 0;
}

.p12 {
    font-size: 1.2rem;
}

.p13 {
    font-size: 1.3rem;
}

.p15 {
    font-size: 1.5rem;
}

.p18 {
    font-size: 1.8rem;
}

.p20 {
    font-size: 2rem;
}

.p24 {
    font-size: 2.4rem;
}

.p32 {
    font-size: 3.2rem;
}

.p36 {
    font-size: 3.6rem;
}

.p45 {
    font-size: 4.5rem;
}

small {
    color: #606060;
}

.content_subttl {
    font-size: clamp(2rem, 2.6vw, 2.6rem);
    color: #000;
    margin: 0;
}

.left {
    text-align: left;
}

.center {
    text-align: center;
}

.right {
    text-align: right;
}

.regular {
    font-weight: 400;
}

.medium {
    font-weight: 500;
}

.flex {
    display: flex;
    align-items: center;
}

.flex_end {
    justify-content: flex-end;
}

.flex_center {
    justify-content: center;
}

.flex_between {
    justify-content: space-between;
}

.flex_around {
    justify-content: space-around;
}

.flex_col {
    flex-direction: column;
}

.shadow {
    text-shadow: 3px 3px 0 #fff, -3px 3px 0 #fff, -3px -3px 0 #fff, 3px -3px 0 #fff;
}

.blue {
    color: #00418f;
}

.black {
    color: #000;
}

.main_content {
    text-align: center;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    padding: 0;
}

.inner {
    max-width: 900px;
    margin: auto;
}

.wide {
    width: 100%;
    background: #edf2f7;
}

.full {
    max-width: 1200px;
    /* 画面幅いっぱいにする設定 */
    margin: 0 calc(50% - 50vw);
    /* 画面幅いっぱいにする設定 */
}

/* ボタン */
.btn {
    background: #1f2c5c;
    color: #fff;
    border-radius: 50px;
    text-align: center;
    font-size: clamp(1.4rem, 2.5vw, 2.6rem);
    position: relative;
    display: block;
    padding: 5% 0 5.5%;
    margin: 0 auto;
}

.btn::before,
.btn::after {
    content: "";
    width: 20px;
    height: 3px;
    display: inline-block;
    border-radius: 10px;
    background: #fff;
    position: absolute;
    right: 7%;
}

.btn::before {
    top: calc(50% - 8px);
    transform: rotate(45deg);
}

.btn::after {
    bottom: calc(50% - 8px);
    transform: rotate(-45deg);
}

.gradeup_btn {
    background: #00418f;
    color: #fff;
    border-radius: 50px;
    text-align: center;
    font-size: 2.6rem;
    line-height: 1.3;
    position: relative;
    display: block;
    padding: 1.5% 0 3%;
    margin: 0 auto;
}

.gradeup_btn::before,
.gradeup_btn::after {
    position: absolute;
    content: "";
    width: 1.5rem;
    height: 1.5rem;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    top: 50%;
}

.gradeup_btn::before {
    transform: rotate(135deg) translateY(80%);
    left: 11%;
}

.gradeup_btn::after {
    transform: rotate(135deg) translateY(80%);
    right: 6%;
}

.gradeup_btn span {
    font-size: 1.8rem;
}

.btn:hover,
.btn:visited {
    color: #fff !important;
}

.btn_box {
    width: 55%;
    margin: 5% auto 0;
}

.bl_btn {
    background: #074597;
    width: 70%;
    margin: 30px auto;
}

.or_btn {
    background: #fea750;
    width: 50%;
    border-radius: 40px;
    margin: 30px auto;
    color: #fff;
}

.icon-right-circle {
    position: absolute;
    right: 11%;
}


/*固定ボタン*/
.btnArea {
    width: auto;
    display: flex;
    flex-direction: column;
    position: fixed;
    top: 15%;
    right: 0;
    z-index: 10;
}

.flexBtn {
    width: min(10vw, 120px);
}

.scroll-btn:hover {
    cursor: pointer;
    opacity: 0.75;
}


/* 他サービス */
nav {
    margin: 0 auto;
}


/* ナビゲーション */
nav ul {
    display: flex;
    flex-wrap: wrap;
}

#g-nav1 {
    display: flex;
    justify-content: space-evenly;
}

#g-nav1 li {
    width: 48%;
}

header {
    width: 100%;
    height: 80px;
    margin: auto;
    position: sticky;
    position: -webkit-sticky;
    top: 0;
    left: 0;
    right: 0;
    background: #fff;
    z-index: 9999;
}

.header__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: inherit;
    position: relative;
    max-width: 1160px;
    margin: auto;
    padding: 0 2%;
}


/* ヘッダーのロゴ部分 */
.header__title {
    width: min(9.5vw, 100px);
}

.header__title img {
    display: block;
    width: 100%;
    height: 100%;
}

.hamburger {
    background-color: transparent;
    border-color: transparent;
    z-index: 9999;
}

/* ヘッダーのナビ部分 */
.header__nav {
    position: absolute;
    right: 0;
    top: 0;
    width: 590px;
    height: 700px;
    transform: translateY(-200%);
    background-color: rgba(255, 255, 255, 0.9);
    transition: ease .6s;
    z-index: 99;
}

.header__nav .logo {
    width: 45%;
    margin: 35px 0 0 10%;
}

.nav-items {
    position: absolute;
    top: 0;
    left: 0;
    padding: 0;
    display: block;
    z-index: 99;
    padding: 130px 0 0 8%;
    width: 85%;
}

.nav-items li {
    width: 100%;
    height: 90px;
}

.nav-items li:first-of-type {
    height: 75px;
}

.nav-items li a {
    text-align: left;
    font-size: 2.8rem;
    display: flex;
    line-height: 1em;
}

.nav-item_num {
    color: #00418f;
    width: 45px;
    margin: 2% 25px 0 0;
}

.nav-items__item:first-of-type .nav-item_num {
    margin: 0 22px 0 0;
}

.nav-items__item:nth-of-type(2) .nav-item_num {
    width: 35px;
    margin: 2% 34px 0 0;
}

.nav-item_subtitle {
    font-size: 1.7rem;
    font-weight: 500;
}


/* ナビのリンク */
.nav-items__item a {
    color: black;
    width: 100%;
    display: block;
    text-align: center;
}

.nav-items__item:last-child a {
    margin-bottom: 0;
}

/* ハンバーガーメニュー */
.header__hamburger {
    width: 60px;
    height: 100%;
    cursor: pointer;
}

/* ハンバーガーメニュークリック後のスタイル */
.header__nav.active {
    transform: translateY(0);
}

.menu {
    display: block;
}

.close {
    display: none;
}

.active {
    display: block;
}

.inactive {
    display: none;
}

/***** 目次 *****/
.nav_guide {
    width: 10%;
    margin: 4% 0 3%;
}

.contents-nav {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}

.contents-nav__item {
    width: 100%;
    border-bottom: 2px solid #00418f;
    position: relative;
}

.contents-nav__item:first-of-type {
    border-top: 2px solid #00418f;
}

.contents-nav__item a {
    height: 100%;
    color: #000;
    text-align: left;
    display: flex;
    align-items: center;
    font-size: clamp(1.5rem, 2.8vw, 3.3rem);
    padding-left: 10%;
}

.contents-nav__item a p {
    line-height: 3.2;
}

.contents-nav__item a p:nth-of-type(2) {
    font-size: clamp(1.1rem, 2vw, 2.4rem);
    font-weight: 400;
    margin-left: 4%;
}

.contents-nav__item a img {
    position: absolute;
    width: 3.5%;
    right: 3%;
    top: 50%;
    transform: translate(-50%, -50%);
}

.contents-nav__item:first-of-type a img {
    width: 3%;
    right: 3.7%;
}

.contents-nav__item a::before,
.contents-nav__item a::after {
    content: "";
    width: 18px;
    height: 4px;
    display: inline-block;
    border-radius: 10px;
    background: #00418f;
    position: absolute;
    left: 3%;
}

.contents-nav__item a::before {
    top: calc(50% - 7px);
    transform: rotate(45deg);
}

.contents-nav__item a::after {
    bottom: calc(50% - 7px);
    transform: rotate(-45deg);
}

.contents-nav__item a:hover::before,
.contents-nav__item a:hover::after {
    animation: arrowRight 1.5s ease infinite;
}

@keyframes arrowRight {
    0% {
        left: 3%;
        opacity: 0
    }

    20% {
        left: 3%;
        opacity: 1
    }

    80% {
        left: 7.5%;
        opacity: 1
    }

    100% {
        left: 7.5%;
        opacity: 0
    }
}

.contents-nav__item a:hover {
    background: #edf2f7;
    opacity: 1;
}


/***** TOPページ *****/
.lp_01 {
    display: flex;
    justify-content: space-between;
    margin-top: 6.5%;
}

.lp_01 img {
    width: 49%;
}

.lp_01 .txt {
    width: 48%;
    text-align: left;
    margin-top: 4%;
}

.lp_01 .txt p {
    font-size: clamp(1.2rem, 1.6vw, 1.6rem);
    font-weight: 400;
    line-height: 1.9;
    margin-top: 5.5%;
}

.wide .service {
    max-width: 1200px;
    text-align: center;
    padding: 3% 3% 6%;
    margin: 3% auto;
}

.wide .service .service_contents {
    text-align: left;
    display: flex;
    gap: 2%;
    margin-top: 4%;
}

.wide .service .service_contents li {
    width: 20%;
    background: #fff;
    border-radius: 10px;
    padding: 2.5% 1.8%;
}

.wide .service .service_contents li img {
    width: 60%;
    display: block;
    margin: 0 auto;
}

.wide .service .service_contents li h4 {
    line-height: 1.3;
    margin-top: 5%;
}

.wide .service .service_contents li p {
    color: #00418f;
    font-size: clamp(1.1rem, 1.25vw, 1.5rem);
    font-weight: 400;
    line-height: 1.5;
    margin-top: 5%;
}

/***** content01 *****/
.content01 {
    margin-top: 12%;
}

.content01 h3 {
    background: #00418f;
    color: #fff;
    padding: 1.5% 0 2%;
    margin-top: 6%;
}

.content01 .read_more {
    width: 50%;
}

/***** content02 *****/
.content02 {
    margin-top: 18%;
}

.content02 .check_img {
    width: 70%;
    margin-top: 3%;
}

.check_list {
    display: flex;
    flex-wrap: wrap;
    position: relative;
    margin: 0 0 12%;
    z-index: 1;
}

.check_list ul {
    width: 46%;
    padding: 2%;
}

.check_list li {
    display: flex;
    justify-content: space-between;
    text-align: left;
    font-size: 2rem;
    font-weight: 500;
    padding: 3%;
}

.check_list li.list_ttl {
    display: block;
    background: #00418f;
    text-align: center;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 800;
    margin: 3% 0 5%;
    padding: 2% 0;
}

.checkbox {
    cursor: pointer;
}

.check {
    margin: 0;
    padding: 6% 6% 8%;
    background: #fff;
}

/* チェックリスト */
/* チェックボックスリセット */
input[type="checkbox"] {
    margin: 0;
    padding: 0;
    background: none;
    border: none;
    border-radius: 0;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
}

/* チェックボックスデザイン */
input[type="checkbox"] {
    cursor: pointer;
    padding-left: 30px;
    /*label手前にチェックボックス用の余白を開ける*/
    vertical-align: middle;
    position: relative;
}

input[type="checkbox"]::before,
input[type="checkbox"]::after {
    content: "";
    display: block;
    position: absolute;
}

input[type="checkbox"]::before {
    background-color: #fff;
    border-radius: 0%;
    border: 1px solid #666464;
    width: 15px;
    /*チェックボックスの横幅*/
    height: 15px;
    /*チェックボックスの縦幅*/
    transform: translateY(-50%);
    top: 50%;
    left: 5px;
}

input[type="checkbox"]::after {
    border-bottom: 4px solid #8ed9f4;
    /*チェックの太さ*/
    border-left: 4px solid #8ed9f4;
    /*チェックの太さ*/
    opacity: 0;
    /*チェック前は非表示*/
    height: 9px;
    /*チェックの高さ*/
    width: 16px;
    /*チェックの横幅*/
    transform: rotate(-45deg);
    top: 0;
    /*チェック時の位置調整*/
    left: 4px;
    /*チェック時の位置調整*/
    transition: transform .1s ease-in-out, opacity .1s ease-in-out;
}

input[type="checkbox"]:checked::after {
    opacity: 1;
    /*チェック後表示*/
}

/***** gradeup *****/
.gradeup {
    background: #edf2f7;
    padding: 6.5% 0;
}

.gradeup ul {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 6.5%;
}

.gradeup ul li {
    width: 33%;
    line-height: 1.5;
    margin-top: 4.5%;
}

.gradeup ul li:nth-child(2) {
    margin: 4.5% 0.5% 0;
}

.gradeup li img {
    width: 66%;
}

.gradeup_txt .ttl {
    color: #00418f;
    font-size: 2.4rem;
    margin: 5% 0 3.5%;
}

.gradeup_txt .desc {
    text-align: left;
    font-size: 1.5rem;
    font-weight: 400;
    display: inline-block;
    margin: 0 auto;
}

.gradeup .btn_box {
    width: 70%;
}

.calendar_btn {
    width: 60%;
    margin-top: 6%;
}

/***** content03 *****/
.content03 {
    margin-top: 14.5%;
}

.content03 .check_img {
    width: 90%;
    margin: 3% 0;
}

.advice {
    margin: 0 5.5%;
}

.advice_text .text01 {
    background: #edf2f7;
    color: #00418f;
    font-size: clamp(1.4rem, 2vw, 2rem);
    font-weight: 400;
    line-height: 1.65;
    border-radius: 15px;
    padding: 4.5% 5.5%;
}

.advice_text .text02 {
    background: #00418f;
    color: #fff;
    font-size: clamp(1.6rem, 2.5vw, 2.6rem);
    line-height: 1.54;
    border-radius: 15px;
    padding: 5.5% 0;
}

.triangle-icon {
    width: 4%;
    margin: 1% 0 4%;
}

.view_btn_area {
    margin-top: 5%;
    text-align: center;
}

.view_btn {
    width: 60%;
    background-color: #00418f;
    color: #fff;
    font-size: 3.2rem;
    font-weight: 500;
    padding: 2% 5% 2% 5%;
}

.view_btn::after {
    display: inline;
    content: "▷";
    font-size: 2.8rem;
    line-height: 1;
    top: 50%;
    transform: translateY(-50%);
    margin-left: 1%;
}

/***** content04 *****/
.content04 {
    margin-top: 18%;
}

.space {
    margin: 9.5% 5.5% 8.5%;
}

.space .ttl {
    color: #fff;
    background: #00418f;
    font-size: 3.2rem;
    border-radius: 10px;
    display: block;
    padding: 0.8% 0;
}

.space .space_desc {
    margin: 3% 0 6%;
}

.space_desc .flex {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.space_desc .size_detail {
    font-size: 1.7rem;
    line-height: 1.59;
    margin-left: 1%;
}

.space_desc .size_detail li::before {
    display: inline;
    content: "・";
}

.space_desc .size_detail span {
    color: #00418f;
    background: #edf2f7;
    padding: 0 2.5%;
    margin: 0 0.5%;
}

.space_desc .size_detail span.notes {
    font-size: 1.3rem;
    background: none;
    color: #000;
    padding: 0;
}

.space_desc .size_desc {
    background: #edf2f7;
    font-size: 1.6rem;
    line-height: 1.38;
    font-weight: 400;
    border-radius: 20px;
    padding: 3% 8%;
    margin-top: 3%;
}

.size_desc_large {
    font-size: 2rem;
}


.space_desc .size {
    width: 68%;
}

.space_desc .flex img {
    width: 20%;
    margin-right: 2%;
}

.guide_btn {
    display: inline-block;
    width: 80%;
    box-shadow: 0px 4px 8px 0px rgba(0, 65, 143, 0.5);
}

/***** cintent05 *****/
.content05 {
    margin-top: 19%;
}

.content05 ul {
    margin-top: 10.5%;
}

.content05 h3 {
    background: #1f2c5c;
    color: #fff;
    padding: 2% 0;
    margin: 10.5% 0 4%;
}

.content05 .consult p {
    font-size: 2.4rem;
}

.content05 ul li .inner {
    margin: 5.5%;
}

.content05 li p,
.content05 li dt,
.content05 li span {
    margin: 4% 0;
}

.content05 li dd img {
    width: 88%;
}

.content05 .delivery .ttl {
    font-size: 3.6rem;
}

.content05 .delivery .ttl span {
    font-size: 2.4rem;
}

.content05 .delivery .staff {
    font-size: 2.35rem;
}

.content05 .delivery .notes {
    vertical-align: top;
    line-height: 2;
    margin-left: -1%;
}

.content05 .delivery .notes:nth-of-type(2) {
    font-weight: 400;
    line-height: 1.83;
    margin: 2% 4.5%;
}

.content05 .delivery .service {
    background: #f9eff3;
    border-radius: 15px;
    position: relative;
    padding: 3% 0;
    margin: 3% 0 4.5%;
}

.content05 .delivery .service img {
    width: 16.5%;
    position: absolute;
    left: -4%;
    top: 50%;
    transform: translateY(-50%);
}

.content05 .delivery p {
    line-height: 1.25;
    margin: 4% 0;
}

.content05 .delivery .service p {
    margin: 1% 0;
}

.content05 .delivery .service:nth-of-type(2) .service p {
    margin-left: 8%;
}

.content05 .delivery .service .time {
    background: #fff;
    border-radius: 15px;
    padding: 2% 3%;
    margin: 0 9% 0 16%;
}

.content05 .delivery .service .time p {
    line-height: 1.47;
    text-shadow: none;
    margin-left: 0;
}

.content05 .delivery .service .time p:last-of-type {
    line-height: 1.47;
    font-weight: 400;
}

.content05 .wrranty .ttl {
    font-size: 3.6rem;
}

.content05 .wrranty_card {
    display: flex;
    justify-content: space-around;
    align-items: center;
    margin: 2% 0;
}

.content05 .wrranty_card .left {
    width: 55%;
}

.content05 .wrranty_card p {
    margin: 0;
}

.content05 .wrranty_card .p24 {
    line-height: 1.25;
}

.content05 .wrranty_card .p12 {
    line-height: 1.83;
    margin-top: 2.5%;
}

.content05 .wrranty_card img {
    width: 38%;
}

.content05 .wrranty .p20 {
    background: #ed848c;
    color: #fff;
    line-height: 1.4;
    border-radius: 15px;
    padding: 3.5% 0 4%;
    margin: 2% 0;
}

.content05 .fix .p20 span {
    color: #00418f;
    background: #edf2f7;
    padding: 0 1%;
    margin: 0 0.3%;
}

.content05 .fix_contact {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 3%;
    margin-bottom: 3%;
}

.content05 .fix_contact p {
    margin: 0;
}

.content05 .fix_contact img {
    width: 50%;
    height: 50%;
}

.content05 .app .p36 {
    line-height: 1.2;
    margin-bottom: 0;
}

.content05 .app .p24 {
    line-height: 1.25;
    margin: 2% 0 0;
}

.content05 .app img {
    width: 90%;
}

.content05 .btn_box {
    width: 65%;
}

.service_btn {
    background: #00418f;
    padding: 4% 0 4.5%;
}


/* bookmark */
.bookmark {
    background: #edf2f7;
    margin-top: 9%;
}

.bookmark .recommend {
    width: 85%;
    height: 85%;
    margin: 9% 0 3%;
}

.share {
    display: flex;
    justify-content: space-around;
    margin: auto;
    text-align: center;
    padding: 0 0 10%;
}

.share_btn {
    width: 45%;
    display: block;
    text-align: center;
}

.share_btn .p24 {
    line-height: 1.25;
    margin-bottom: 2%;
}

/*フッター*/
footer {
    text-align: center;
    padding: 0 5%;
}

footer small,
address {
    font-size: 1rem;
}

address {
    font-style: normal;
    margin-top: 1%;
}

/* ページトップ */
#page-top {
    position: fixed;
    right: 1%;
    bottom: 4.8%;
    z-index: 999;
    /*はじめは非表示*/
    opacity: 0;
    transform: translateY(100px);
}

#page-top a {
    text-decoration: none;
    border-radius: 5px;
    background: #1D50A3;
    text-align: center;
    color: #FFFFFF;
    display: block;
    /* overflow: hidden; */
    width: 40px;
    height: 40px;
}

#page-top a img {
    width: 60%;
    vertical-align: -webkit-baseline-middle;
}


/**** コンテンツページ *****/
/* content01 */
.content {
    margin: 17% 0 3%;
}

.content h3 {
    background: #00418f;
    color: #fff;
    padding: 1.5% 0 2%;
    margin: 6% 0;
}

.content01_advisor img {
    width: 81%;
}

.point_list {
    margin: 3% 5.5%;
}

.point_list li {
    margin: 4.5% 0;
}

.point_list .ttl {
    background: #edf2f7;
    font-size: clamp(2.4rem, 3.2vw, 3.2rem);
    color: #00418f;
    padding: 1% 0;
}

.point_list .txt {
    font-size: 2rem;
    line-height: 1.65;
    font-weight: 400;
    text-align: left;
    margin: 3% 5%;
}

.point_list .attention {
    background: #edf2f7;
    padding: 2% 0 4%;
    margin: 0 -25%;
    /* 画面サイズいっぱいにする設定 */
}

.point_list .attention .ttl {
    font-size: clamp(2.7rem, 3.6vw, 3.6rem);
}

.point_list .attention .attention_list img {
    width: 68%;
    margin-top: 2.5%;
}

.point_list .need .item_list img {
    width: 92%;
}

/* content03 */
/* アコーディオン */
.content .advice {
    margin: 3.5% 0 0;
}

.group_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 2.5%;
    margin: 12% 0 6%;
}

.group_ttl img {
    float: left;
    width: 4.5%;
}

.group_ttl h3 {
    float: left;
    background: none;
    color: #00418f;
    font-size: 5rem;
    padding: 0;
    margin: 0;
}

.accordion {
    background: #fff;
    filter: drop-shadow(2.5px 0.5px 5px rgb(139, 165, 204));
    border-radius: 15px;
    padding: 3% 0;
    margin: 0 0 2.5%;
}

.accordion-parent {
    border: none;
    background: #fff;
    border-radius: 15px;
    cursor: pointer;
    position: relative;
    padding-left: 8%;
}

.accordion-parent p {
    color: #00418f;
    font-size: 3.4rem;
    text-align: left;
}

.accordion-child {
    display: none;
    /* animation: show 0.65s; */
    animation: fadeIn 0.5s ease;
    text-align: center;
    padding: 0;
    margin: 5% 0 3%;
}

@keyframes fadeIn {
    0% {
        opacity: 0;
        transform: translateY(-2%);
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.accordion-child .inner {
    padding: 0 5.5%;
}

.accordion-child .text {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.65;
    text-align: left;
}

.accordion-child .text01 {
    margin: 5% 4.5%;
}

.accordion-child .text02,
.accordion-child .text04 {
    background: #edf2f7;
    color: #00418f;
    border-radius: 15px;
    padding: 4% 11%;
    margin: 2.5% 0;
}

.accordion-child .text03 {
    width: 75%;
}

.accordion-child .text04 {
    position: relative;
    padding: 3.5% 5% 3.5% 20%;
}

.accordion-child .text03 p:last-child {
    margin-top: 3%;
}

.accordion-icon {
    width: 3%;
    position: absolute;
    right: 5%;
    top: 40%;
    transform: rotate(180deg);
}

.accordion-icon-up {
    transform: rotate(0);
}

.accordion-child .wide {
    width: auto;
    background: #edf2f7;
    display: flex;
    align-items: center;
    position: relative;
    padding: 4.5% 10% 5.5% 10%;
    margin: 4.5% 0 3%;
}

.accordion-child .wide.narrow {
    padding: 4.5% 5% 5.5% 5%;
    ;
}

.accordion-child .wide.start {
    align-items: flex-start;
}

.accordion-child .wide h4.ttl {
    font-size: 3.2rem;
    background: none;
    color: #00418f;
    margin: 0 0 0.5%;
}

.accordion-child .wide p {
    font-weight: 400;
}

.accordion-child .wide ul {
    text-align: left;
    margin: 1% 0 0 -3%;
}

.accordion-child .wide ul.ml {
    margin-left: -23%;
}

.accordion-child .wide ul.left {
    margin-left: 20%;
}

.accordion-child .wide li {
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 400;
    text-indent: -1em;
    padding-left: 1em;
    margin-bottom: 1%;
}

.accordion-child .wide dt {
    background: #00418f;
    color: #fff;
    display: inline-block;
    width: 190px;
    font-size: 1.8rem;
    line-height: 1.5;
    text-align: center;
    border-radius: 8px;
    padding: 0;
}

.accordion-child .wide dd {
    font-size: 1.8rem;
    line-height: 1.5;
    font-weight: 400;
    margin: 1% 0 3%;
}

.accordion-child .notes {
    font-size: 1.3rem;
    text-align: right;
}

.accordion-child .icon {
    width: 12%;
    position: absolute;
}

.accordion-child .refrigerator_icon {
    bottom: 6%;
    left: 12%;
}

.accordion-child .range_icon {
    bottom: 17%;
    right: 10%;
}

.accordion-child .jar_icon {
    top: 13%;
    right: 17%;
}

.accordion-child .pot_icon {
    top: -21%;
    right: 4%;
}

.accordion-child .robot_icon {
    top: 16%;
    right: 3.5%;
}

.accordion-child .aircon_advisor {
    bottom: 0;
    left: 0;
}

.accordion-child .aircon_icon_box {
    width: 50%;
}

.accordion-child .aircon_icon {
    top: 3%;
    right: 6%;
}

.accordion-child .tv_icon {
    bottom: 14%;
    right: 5.5%;
}

.accordion-child .tunerless_icon {
    top: 8%;
    right: 3%;
}

.accordion-child .check_dishwasher {
    bottom: 22%;
    left: 13%;
}

.accordion-child .check_vacuum {
    top: 30%;
    left: 10%;
}

.accordion-child .check_robot {
    top: 25%;
    left: 9.5%;
}

.accordion-child .check_aircon {
    top: 30%;
    left: 5%;
}

.accordion-child .check_tv {
    top: 34%;
    left: 6.5%;
}

.content .checkpoint_text {
    font-size: 2.4rem;
    line-height: 1.75;
    margin: 0 0 5.5%;
}

.accordion-child .mt {
    margin-top: 2.5%;
}

.accordion-child .ml {
    margin-left: 2.5%;
}

/* content04*/
.space_desc .size_detail .small {
    background: none;
    color: #000;
    font-size: 1.4rem;
    line-height: 1.93;
    padding-left: 0;
}

.floor.full {
    background: #edf2f7;
    margin: 0 -16.7%;
}

.floor.full h3 {
    background: none;
    color: #00418f;
    padding: 0;
    margin: 0;
}

.floor.full .desc {
    padding: 6% 20.1%;
}

.floor_altanate {
    width: 100%;
    margin: 0 auto!important;
}


/*　上に上がる動き　*/
#page-top.UpMove {
    animation: UpAnime 0.5s forwards;
}

.fade-up {
    animation: UpAnime 1s forwards;
    opacity: 0;
}

@keyframes UpAnime {
    from {
        opacity: 0;
        transform: translateY(60px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/*　下に下がる動き　*/
#page-top.DownMove {
    animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime {
    from {
        opacity: 1;
        transform: translateY(0);
    }

    to {
        opacity: 1;
        transform: translateY(300px);
    }
}


/*PC*/
@media (min-width: 751px) {
    .sp {
        display: none;
    }

    /* 他サービス */
    #chirashi_btn {
        position: fixed;
        bottom: 80%;
        right: 2%;
    }

    #chirashi_btn img {
        width: 100%;
    }

    #chirashi_btn i {
        padding-top: 6px
    }

    #chirashi_btn a {
        display: block;
        z-index: 999;
        width: 100px;
        height: 60px;
    }

    #chirashi_btn a:hover {
        text-decoration: none;
        opacity: 0.7;
    }
}

@media (min-width: 1001px) {
    .fixed_btn1 {
        top: 120px;
        width: 120px;
    }

    .fixed_btn2 {
        top: 240px;
        width: 120px;
    }

    .fixed_btn3 {
        top: 360px;
        width: 120px;
    }
}

@media (max-width: 1000px) {
    html {
        scroll-padding-top: clamp(55px, 9vw, 80px);
    }

    header {
        height: clamp(55px, 9vw, 80px);
    }

    .header__hamburger {
        width: 5.5%;
    }

    .header__nav {
        width: 65%;
    }

    .header__nav .logo {
        width: clamp(29vw, 29vw, 45%);
    }

    .nav-items li a {
        font-size: 2.8vw;
    }

    .nav-item_num {
        width: 40px;
    }

    .nav-items__item:nth-of-type(2) .nav-item_num {
        width: 32px;
    }

    .inner {
        width: 90%;
    }

    .share_btn .p24 {
        font-size: 3vw;
    }

    .gradeup_btn span {
        font-size: 2.5vw;
    }

    .accordion-child .refrigerator_icon {
        left: 6%;
    }

    .view_btn {
        font-size: 3vw;
    }

    .view_btn::after {
        font-size: 2.5vw;
    }
}


/* スマホ */
@media (max-width: 750px) {
    .pc {
        display: none;
    }

    .upper_btns {
        width: 100%;
    }

    h2 {
        font-size: 5.8vw;
    }

    h3 {
        font-size: 6.9vw;
    }

    h4 {
        font-size: 4.2vw;
    }

    .content_subttl {
        font-size: 3.2vw;
    }

    .full {
        max-width: 750px;
        margin: 0 calc(50% - 50vw);
    }

    .shadow {
        text-shadow: 1.5px 1.5px 0 #fff, -1.5px 1.5px 0 #fff, -1.5px -1.5px 0 #fff, 1.5px -1.5px 0 #fff;
    }

    .btn {
        font-size: 3.7vw;
    }

    .btn::before,
    .btn::after {
        width: 10px;
        height: 2.5px;
        right: 7%;
    }

    .btn::before {
        top: calc(50% - 4px);
    }

    .btn::after {
        bottom: calc(50% - 4px);
    }

    .btn_box {
        width: 80%;
        margin-top: 8%;
    }

    .header__inner {
        padding: 0 5%;
    }

    .header__title {
        width: 17.5%;
    }

    .header__hamburger {
        width: 50px;
    }

    nav {
        width: 100%;
        text-align: center;
        margin: 0 auto;
        /* padding: 3% 0; */
    }

    nav ul {
        display: block;
    }

    #g-nav1 {
        width: 100%;
        margin: 0;
    }

    .btnArea {
        /* background-color: #fff; */
        background-color: rgba(255, 255, 255, 0.6);
        padding: 0;
        box-shadow: 0px -3px 2px -2px #606060;
        flex-direction: row;
        position: sticky;
        top: auto;
        bottom: 0;
    }

    .flexBtn {
        margin: 0;
        width: calc(100% / 4);
    }

    #page-top {
        bottom: 5%;
    }

    .reform1 p {
        margin: 0 0 4%;
    }

    .txt_area1 li {
        list-style-type: none;
        margin-left: 0;
        padding: 5px 0px;
        width: 100%;
    }

    .header__nav {
        right: 5%;
        width: 90%;
        height: 480px;
        text-align: left;
    }

    .header__nav .logo {
        width: clamp(140px, 30vw, 170px);
        margin: 20px 0 0 5%;
    }

    .nav-items {
        padding: 85px 5%;
    }

    .nav-items li {
        height: 65px;
    }

    .nav-items li:first-of-type {
        height: 60px;
    }

    .nav-item_num {
        width: 30px;
        margin: 2% 15px 0 0;
    }

    .nav-items__item:first-of-type .nav-item_num {
        margin: 0 13px 0 0;
    }

    .nav-items__item:nth-of-type(2) .nav-item_num {
        width: 24px;
        margin: 2% 21px 0 0;
    }

    .nav-items li a {
        text-align: left;
        font-size: clamp(1.7rem, 3vw, 2rem);
        display: flex;
        line-height: 1em;
    }

    .nav-items li:first-child a {
        align-items: center;
    }

    .nav-item_subtitle {
        font-size: 0.65em;
    }

    .material-symbols-outlined {
        position: absolute;
        right: 5%;
        bottom: 4vw;
        font-variation-settings:
            'FILL' 0,
            'wght' 400,
            'GRAD' 0,
            'opsz' 24
    }


    /***** 目次 *****/
    .nav_guide {
        width: 16%;
    }

    .contents-nav__item {
        border-bottom: 1.5px solid #00418f;
    }

    .contents-nav__item:first-of-type {
        border-top: 1.5px solid #00418f;
    }

    .contents-nav__item a {
        flex-direction: column;
        justify-content: center;
        text-align: left;
        padding-left: 15%;
    }

    .contents-nav__item a p {
        width: 100%;
        line-height: 1.2;
        padding: 3.5% 0 0;
    }

    .contents-nav__item a p:nth-of-type(2) {
        margin-left: 0;
        padding: 0 0 3%;
    }

    .contents-nav__item a img {
        width: 5%;
        right: 3%;
    }

    .contents-nav__item:first-of-type a img {
        width: 4.3%;
        right: 4.1%;
    }

    .contents-nav__item a::before,
    .contents-nav__item a::after {
        content: "";
        width: 12px;
        height: 3px;
        left: 4.5%;
    }

    .contents-nav__item a::before {
        top: calc(50% - 5px);
    }

    .contents-nav__item a::after {
        bottom: calc(50% - 5px);
    }


    /***** TOPページ *****/
    .lp_01 {
        flex-direction: column;
    }

    .lp_01 img,
    .lp_01 .txt {
        width: auto;
    }

    .lp_01 .txt {
        margin: 9% 7%;
    }

    .lp_01 .txt p {
        font-size: clamp(1.2rem, 3.2vw, 1.6rem);
    }

    .wide .service {
        padding: 8% 7% 10%;
        margin: 0;
    }

    .wide .service .service_contents {
        flex-wrap: wrap;
        justify-content: space-between;
    }

    .wide .service .service_contents li {
        width: 40%;
        padding: 4.5% 3%;
        margin-top: 4%;
    }

    .wide .service .service_contents li:last-child {
        width: auto;
        display: flex;
    }

    .wide .service .service_contents li:last-child img {
        width: 33%;
        height: auto;
        display: block;
        margin: auto 6% auto 0;
    }

    .wide .service .service_contents li p {
        font-size: clamp(1.1rem, 2.9vw, 1.5rem);
    }

    .share {
        flex-direction: column;
        align-items: center;
    }

    .share_btn {
        width: 80%;
    }

    .share_btn:last-child {
        margin-top: 7%;
    }

    /***** content01 *****/
    .content01,
    .content02,
    .content03,
    .content04,
    .content05 {
        margin-top: 16%;
    }

    .content01 h3 {
        font-size: 4.3vw;
    }

    /***** content02 *****/
    .list_ttl {
        font-size: 4.3vw;
        padding: 4% 0;
    }

    .check_list li.list_ttl {
        font-size: 4.3vw;
        padding: 4% 0;
    }

    .content02 .check_img {
        width: 90%;
    }

    .checkbox {
        font-size: 3.2vw;
    }


    /***** gradeup *****/
    .gradeup {
        padding-top: 9%;
    }

    .gradeup h3 {
        font-size: 5.6vw;
    }

    .gradeup ul {
        flex-wrap: wrap;
        gap: 5%;
    }

    .gradeup ul li {
        width: 47%;
    }

    .gradeup ul li:nth-child(2) {
        margin: 4.5% 0;
    }

    .gradeup_txt .ttl {
        font-size: 3.5vw;
    }

    .gradeup_txt .desc {
        font-size: 2.95vw;
        line-height: 1.27;
    }

    .gradeup .btn_box {
        width: 85%;
    }

    .gradeup_btn {
        font-size: 3.4vw;
    }

    .gradeup_btn::before,
    .gradeup_btn::after {
        width: 1rem;
        height: 1rem;
    }

    .gradeup_btn span {
        font-size: 2.5vw;
    }

    .calendar_btn {
        width: 80%;
    }

    /***** content03 *****/
    .content03 .check_img {
        width: 70%;
        margin: 5.5% 0;
    }

    .advice_text .text01 {
        font-size: 3.8vw;
    }

    .advice_text .text02 {
        font-size: 4.3vw;
    }

    .triangle-icon {
        margin: 4% 0;
    }

    /***** content04 *****/
    .space .ttl {
        font-size: 5.6vw;
        border-radius: 5px;
        padding: 2% 0;
    }

    .space {
        margin: 9.5% 0;
    }

    .space_desc .flex {
        flex-direction: column;
    }

    .space_desc .size {
        width: 100%;
    }

    .space_desc .flex img {
        width: 40%;
        margin: 5% 0;
    }

    .space_desc .size_detail {
        font-size: 3.5vw;
        line-height: 1.62;
    }

    .space_desc .size_detail span {
        padding: 0 0.5%;
    }

    .space_desc .size_detail span.notes {
        font-size: 2.3vw;
    }

    .space_desc .size_desc {
        font-size: 3.7vw;
        padding: 9%;
        margin-top: 0;
    }

    .size_desc_large {
        font-size: 1.3rem;
        margin-top: 4%;
    }


    /***** content05 *****/
    .content05 h3 {
        font-size: 4.2vw;
        padding: 3.5% 0;
    }

    .content05 .consult p {
        font-size: 4.2vw;
    }

    .content05 ul li .inner {
        margin: 0;
        width: 100%;
    }

    .content05 .delivery .ttl {
        font-size: 7.5vw;
    }

    .content05 .delivery .ttl span {
        font-size: 4.2vw;
    }

    .content05 .delivery .service .p32 {
        font-size: 3.5vw;
    }

    .content05 .delivery .service:last-of-type .p32 {
        font-size: 3.8vw;
    }

    .content05 .delivery .staff {
        font-size: 3.7vw;
    }

    .content05 .delivery .notes {
        font-size: 2vw;
    }

    .content05 .delivery .service .time {
        padding-left: 10%;
        margin: 2% 4%;
    }

    .content05 .delivery .service .time .p18 {
        font-size: 3.2vw;
    }

    .content05 .delivery .service .time .p15 {
        font-size: 2.6vw;
    }

    .content05 .wrranty .ttl {
        font-size: 5.8vw;
    }

    .content05 .wrranty_card {
        flex-direction: column;
    }

    .content05 .wrranty_card .left {
        width: 100%;
    }

    .content05 .wrranty_card .p32 {
        font-size: 7.5vw;
        text-align: center;
    }

    .content05 .wrranty_card .p24 {
        font-size: 4.8vw;
    }

    .content05 .wrranty_card .p12 {
        font-size: 3.2vw;
    }

    .content05 .wrranty_card img {
        width: 76%;
        margin: 5% 0 0 0;
    }

    .content05 .wrranty .p20 {
        font-size: 4vw;
        margin: 3.5% 0;
    }

    .content05 .wrranty span {
        font-size: 5.5vw;
    }

    .content05 .fix .p20 {
        font-size: 3.8vw;
        text-align: left;
    }

    .content05 .fix .fix_contact .p45 {
        font-size: 5.5vw;
    }

    .content05 .app h3 {
        font-size: 3.8vw;
    }

    .content05 .app .p36 {
        font-size: 5.5vw;
    }

    .content05 .app .p24 {
        font-size: 3.8vw;
        margin: 2% 0 3%;
    }

    .content05 .btn_box {
        width: 80%;
    }

    /***** コンテンツページ *****/
    /* content01_コンテンツページ */
    .content h3 {
        font-size: 4.3vw;
    }

    .content01_advisor img {
        width: 88%;
    }

    .point_list {
        margin: 3%;
    }

    .point_list li:not(:first-child) {
        margin: 8.8% 0;
    }

    .point_list .ttl {
        font-size: 4vw;
    }

    .point_list .txt {
        font-size: 3.7vw;
        margin: 5%;
    }

    .point_list .attention {
        padding-top: 4%;
    }

    .point_list .attention.full {
        margin: 8.8% calc(50% - 50vw);

    }

    .point_list .attention .ttl {
        font-size: 4.8vw;
    }

    .point_list .attention .attention_list img {
        margin-top: 5%;
    }

    /* content03_コンテンツページ */
    .content .inner {
        width: 94%;
    }

    .content .advice,
    .content .advice_text {
        margin: 6% 0 0;
    }

    .group_ttl {
        margin: 13% 0 3%;
    }

    .group_ttl.mb {
        margin-bottom: 6%;
    }

    .group_ttl h3 {
        font-size: 6.4vw;
    }

    /* アコーディオン */
    .accordion {
        border-radius: 8px;
        margin: 0 0 5%;
    }

    .accordion-parent p {
        font-size: 5vw;
    }

    .accordion .inner {
        width: 90%;
    }

    .accordion-child .text {
        font-size: 3.5vw;
        line-height: 1.5;
    }

    .accordion-child .text01 {
        margin: 5% 2%;
    }

    .accordion-child .text02,
    .accordion-child .text04 {
        font-size: 3.2vw;
        line-height: 1.6;
        border-radius: 10px;
        padding: 4%;
    }

    .accordion-child .text03 {
        width: 101%;
    }

    .accordion-child .text03 p:last-child {
        margin-top: 3%;
    }

    .accordion-icon {
        width: 3%;
        position: absolute;
        right: 5%;
        top: 40%;
        transform: rotate(180deg);
    }

    .accordion-icon-up {
        transform: rotate(0);
    }

    .accordion-child .wide {
        padding: 9% 5% 5.5% 5%;
        margin: 4.5% 0 3%;
    }

    .accordion-child .wide.narrow {
        padding: 4.5% 3.5% 5.5% 3.5%;
    }

    .accordion-child .wide.start {
        align-items: flex-start;
        height: auto;
    }

    .accordion-child .wide h4.ttl {
        font-size: 4.8vw;
    }

    .accordion-child .wide.narrow h4.ttl {
        font-size: 4.5vw;
    }

    .accordion-child .wide .p18 {
        font-size: 3.5vw;
        margin-left: 11%;
    }

    .accordion-child .wide .desc .p20 {
        font-size: 3.5vw;
    }

    .accordion-child .wide .desc .p13 {
        font-size: 2.6vw;
    }

    .accordion-child .wide ul {
        margin: 1% 0 0 -3%;
    }

    .accordion-child .wide ul.left {
        margin-left: 12%;
    }

    .accordion-child .wide ul.ml {
        margin-left: 3%;
    }

    .accordion-child .wide li {
        font-size: 3vw;
    }

    .accordion-child .wide dt {
        width: 150px;
        font-size: 3.5vw;
        border-radius: 5px;
    }

    .accordion-child .wide dd {
        font-size: 3vw;
        line-height: 1;
    }

    .accordion-child .notes {
        font-size: 2.5vw;
        bottom: 38.5%;
        right: 8%;
    }

    .accordion-child .icon {
        width: 16%;
        position: absolute;
    }

    .accordion-child .refrigerator_icon {
        bottom: 12%;
        left: 7%;
    }

    .accordion-child .range_icon_box {
        width: 70%;
        margin-left: 10%;
        align-self: flex-start;
    }

    .accordion-child .jar_icon_box {
        width: 50%;
        align-self: center;
    }

    .accordion-child .pot_icon {
        top: 58%;
        right: 15%;
    }

    .accordion-child .bakery_icon_box {
        align-self: center;
    }

    .accordion-child .vacuum_icon_box {
        width: 42%;
        align-self: center;
    }

    .accordion-child .robot_icon_box {
        width: 55%;
        align-self: center;
    }

    .accordion-child .aircon_icon_box {
        align-self: center;
    }

    .accordion-child .tv_icon_box {
        width: 63%;
        align-self: center;
    }

    .accordion-child .tunerless_icon_box {
        width: 60%;
        align-self: flex-start;
        margin-left: 25%;
    }

    .accordion-child .check_dishwasher {
        top: 33%;
        left: 5.5%;
    }

    .accordion-child .check_vacuum {
        top: 20%;
        left: 2%;
    }

    .accordion-child .check_robot {
        top: 28%;
        left: 1%;
    }

    .accordion-child .check_aircon {
        top: 22%;
        left: 4%;
    }

    .accordion-child .check_tv {
        top: 21%;
        left: 1.5%;
    }

    .content .checkpoint_text {
        font-size: 4vw;
        line-height: 1.7;
        margin: 0 0 11%;
    }

    .accordion-child .mt {
        margin-top: 2.5%;
    }

    .accordion-child .ml {
        margin-left: 2.5%;
    }

    .accordion-child .flex.flex_between {
        flex-direction: column;
    }

    /* content04_コンテンツページ */
    .floor.full {
        margin: 0 calc(50% - 50vw);
    }
    

    .space_desc .flex img {
        width: 33%;
    }

    .space_desc .size_detail .small {
        font-size: 2vw;
    }
    .desc_altanate{
        padding: 4%!important;

        & .sp{
            margin-top: 4%;
        }
    }
}