@charset "utf-8";
/* CSS Document */
/* カラー 
* PC用：@media (min-width: 960px){}
* SP用：@media not all and (min-width: 960px){}
*/ :root {
    --color_lred1: #ffece6;
    --color_lred2: #ffaf93;
}
/* ======================================== */


/* ========================================
アコーディオンメニュー
======================================== */
.accordion-menu {
    border-radius: 5px;
    overflow: hidden;
}
.accordion-menu .swell-block-accordion.is-style-main .swell-block-accordion__body {
    border-radius: 0 0 5px 5px;
}
.accordion-menu li:first-child {
    border-top: none !important;
}
.accordion-menu li:last-child {
    border-bottom: none !important;
}
/* ========================================
アイコンリスト
======================================== */
.lead-list-wrap-v2 {
    background-color: var(--color_main_thin) !important;
    color: var(--swl-text_color--black, #333) !important;
    padding: 2em !important;
    border-radius: 20px;
    align-self: flex-start !important;
}
.even-box .lead-list-wrap-v2, .lead-list-wrap-v2.even-box {
    align-self: stretch !important;
}
.lead-list-wrap-v2.bg-white {
    background-color: #fff !important;
}
.lead-list-wrap-v2.border {
    background: none !important;
    border: 1px solid var(--color_main) !important;
}
.lead-list-wrap-v2 div.has-background {
    padding: 0px;
}
.lead-list-wrap-v2 div.has-background:not(:last-child) {
    border-bottom: 1px solid var(--color_main);
    padding-bottom: 20px;
    margin-bottom: 20px;
}
.lead-list-wrap-v2 .has-background-thin-business {
    background: none !important;
}
.lead-list-wrap-v2 h2 {
    color: var(--color_main) !important;
}
.lead-list-wrap-v2 h2::after {
    display: none !important;
}
.lead-list-wrap-v2 h5 {
    font-size: 16px;
}
.lead-list-wrap-v2 .text-icon-str {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0px;
    margin: 0px;
    height: 75px;
    width: 75px;
    font-size: 18px;
}
.lead-list-wrap-v2 .tag {
    color: white;
    font-weight: bold;
    background: var(--color_main);
    border-radius: 5px;
    display: inline-block;
    padding: .25em .5em;
    margin-right: 5px;
}
.lead-list-wrap-v2 .tag.is-block {
    display: block;
    width: fit-content;
}
/* ======================================== */
.lead-list-wrap {
    background-color: var(--color_lred1);
    padding: 2.5em 2em !important;
    border-radius: 20px;
    align-self: flex-start !important;
}
/* icon-listクラスの親カラムを縦中央揃え */
.lead-list.wp-block-columns {
    align-items: center !important; /* ← 左右カラムを縦中央で揃える */
}
/* アイコン（h3）のスタイル */
.lead-list h3.wp-block-heading.is-style-section_ttl {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100px;
    height: 100px;
    min-width: 100px;
    border-radius: 50%;
    background-color: var(--color_lred2) !important;
    color: #fff;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    padding: 0;
    margin: 0 auto; /* 左右中央 */
}
/* PC */
@media (min-width: 960px) {
    .lead-list.wp-block-columns {
        height: 120px;
    }
    .lead-list h4 {
        margin-left: -10px;
    }
}
/* SP */
@media not all and (min-width: 960px) {
    .lead-list-wrap {
        margin-top: 30px !important;
    }
    .lead-list h4 {
        text-align: center;
    }
}
/* ========================================
共通スタイル
======================================== */
.mincho {
    font-family: "Noto Serif JP", "Hiragino Mincho ProN", serif;
}
a:hover {
    opacity: 0.8;
}
/* ボーダー */
.is-border-main {
    border: 2px solid #e98585 !important;
}
.is-border-main a:hover {
    background-color: var(--color_lred1) !important;
}
/* 固定ページタイトル */
.l-topTitleArea {
    background: linear-gradient(135deg, #f0a070, #ee7956, #e05c35);
}
img.l-topTitleArea__img.c-filterLayer__img.u-obf-cover {
    display: none;
}
/* PC:固定ページタイトル */
@media (min-width: 960px) {
    .l-topTitleArea {
        margin-top: 20px;
    }
}
/* サブタイトル */
.c-pageTitle__subTitle {
    display: none;
}
/* グラデーション背景 */
.is-gradient {
    background: linear-gradient(135deg, #f0a070, #ee7956, #e05c35);
}
/* ボタン */
.is-style-btn_line.bg-white a:not(:hover) {
    background-color: white;
}
.wp-block-table .swl-inline-btn a {
    line-height: 210%
}
/* アイコン付きボタン */
.btn-icon-fix a.swell-block-button__link {
    line-height: 150%;
}
.btn-icon-fix .swl-inline-icon {
    position: relative;
    top: 4px;
    margin-right: 5px;
    font-size: 1.2em;
}
.btn-icon-fix .swl-inline-icon:after {
    mask-size: 30px;
}
.is-top-0 .swl-inline-icon {
    top: 0 !important;
}
/* CTA：お問い合わせ */
.home .cta-contact {
    display: none;
}
/* h2 */
h2.has-background {
    color: #fff;
    background-color: var(--color_main);
    padding: 15px 25px 17px !important;
    border-radius: 10px;
    display: flex;
    align-items: center;
    line-height: 1.2em;
}
h2.has-background:before {
    display: none;
}
.post_content h2.is-style-section_ttl::after {
    background-color: var(--color_main);
}
h2.has-white-color:after {
    background-color: white !important;
}
.post_content h2.no-border::after {
    content: none;
}
/* h3 */
h3.wp-block-heading {
    padding-left: 0;
}
/* スマホ表示時に画像とテキストの並びを入替 */
@media not all and (min-width: 960px) {
    .sp-rev {
        flex-direction: column-reverse;
    }
}
/* フルワイド表示の際に左右にパディング */
@media not all and (min-width: 960px) {
    .swell-block-fullWide + .swell-block-fullWide {
        padding-left: 15.6px;
        padding-right: 15.6px;
    }
}
/* 画像角丸 */
figure.radius {
    border-radius: 10px;
    overflow: hidden;
}
/* パンくずリスト */
.p-breadcrumb.-bg-on {
    background-color: var(--color_lred1);
}
@media (min-width: 960px) {
    .p-breadcrumb.-bg-on {
        margin-top: 20px;
    }
}
/* もっと見るボタン 
.is-style-more_btn a {
    box-shadow: 0 0 0 1px var(--color_htag);
    color: var(--color_htag);
}*/
/* SP：カラム間のスペースなし */
@media not all and (min-width: 960px) {
    .is-mb-0 .swell-block-columns__inner {
        gap: 0;
    }
}
/* fontawesome調整 */
i.big-c {
    display: block;
    text-align: center;
    font-size: 4em;
    margin-bottom: 20px;
    color: var(--color_main);
}
/* ========================================
ステップ調整
======================================== */
.is-style-big.step-fix > .swell-block-step__item:first-child {
    border-top: none;
}
.is-style-big.step-fix > .swell-block-step__item:last-child {
    border-bottom: none;
}
.swell-block-step.is-style-default.step-fix {
    max-width: 850px;
    margin: 0 auto;
}
.swell-block-step .swell-block-step__body {
    margin-top: 3px !important;
}
.step-fix .swell-block-columns__inner {
    align-items: center;
}
.step-fix .swell-block-step__number {
    margin-bottom: 6px !important;
}
.step-fix span.__label {
    font-weight: bold;
    font-size: 16px !important;
}
.swell-block-step__body {
    margin-top: 0px !important;
}
.step-fix p {
    margin-bottom: 3px;
}
/* ========================================
デフォルトタブデザイン調整
======================================== */
/* タブボタン */
.is-style-default > .c-tabList .c-tabList__item + .c-tabList__item {
    margin-left: 1%;
}
.is-style-default > .c-tabList .c-tabList__button {
    border-radius: 5px 5px 0 0;
    font-weight: bold;
    background-color: var(--color_gray);
    color: white;
}
.is-style-default > .c-tabList .c-tabList__button[aria-selected=true] {
    color: initial;
    z-index: 10;
}
.is-style-default > .c-tabList .c-tabList__button[aria-selected=false] {
    transition: transform 0.2s ease;
}
.is-style-default > .c-tabList .c-tabList__button:hover[aria-selected=false] {
    transform: translateY(-5px);
}
.is-style-default > .c-tabList .c-tabList__button:hover, .is-style-default > .c-tabList .c-tabList__button[aria-selected=true] {
    background-color: var(--color_gray);
    color: white;
}
/* タブ内 */
.is-style-default .c-tabBody {
    padding: 12px;
    border-color: var(--color_gray);
    border-radius: 0 0 5px 5px;
}
.is-style-default .c-tabBody {
    padding: 30px;
    padding-top: 30px;
}
/* タブ内：iframe　*/
.c-tabBody iframe {
    width: 100%;
}
/* タブ内：ポストリスト */
@media (min-width: 960px) {
    .swell-block-tab .c-tabBody li.p-postList__item {
        margin-bottom: 20px;
    }
}
@media not all and (min-width: 960px) {
    .swell-block-tab .c-tabBody li.p-postList__item {
        margin-bottom: 25px;
    }
    /*.swell-block-tab .c-tabBody li.p-postList__item:last-child {
        margin-bottom: 0px;
    }*/
}
/* 白背景　*/
.is-style-default.bg-white > .c-tabList .c-tabList__button {
    background-color: white !important;
    color: var(--color_text) !important;
}
.is-style-default.bg-white > .c-tabList .c-tabList__button[aria-selected=true] {
    background-color: #fff !important;
}
.is-style-default.bg-white .c-tabBody {
    background-color: white !important;
    border: none !important;
}
/*==============================
SWELLテーブル調整
/*==============================*/
@media (min-width: 960px) {
    .is-style-default .sp_adj table th {
        width: 230px !important;
    }
}
@media not all and (min-width: 960px) {
    /* 該当する要素のセレクタを指定してください */
    .sp_block_ table {
        --swl-cell1-width: auto !important;
    }
    .sp_adj td, .sp_adj th {
        border: none;
    }
    .sp_adj th {
        padding-block: 8px;
    }
}
/*==============================
アメニティ用テーブル
/*==============================*/
.feature-table table {
    width: 100% !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr) 40px);
    border-top: 1px solid #cfcfcf;
    border-left: 1px solid #cfcfcf;
    border-right: none;
    border-bottom: none;
    border-collapse: collapse;
    border-spacing: 0;
}
.feature-table tbody, .feature-table tr {
    display: contents;
}
.feature-table td {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    /*padding: 8px 12px;
	font-size: 15px;*/
    max-height: 35px;
    overflow: hidden;
    /* 四辺borderはやめる */
    border: none;
    /* 右と下だけにする */
    border-right: 1px solid #cfcfcf;
    border-bottom: 1px solid #cfcfcf;
}
.feature-table td:empty {
    display: none;
}
/* 〇×列 */
.feature-table td:nth-child(even) {
    justify-content: center;
}
@media not all and (min-width: 960px) {
    .feature-table table {
        grid-template-columns: repeat(2, minmax(0, 1fr) 40px);
    }
    .feature-table td {
        max-height: 60px;
    }
}
@media (min-width: 960px) {
    /* 3項目未満 */
    .feature-table.is-max3 table {
        border: none !important;
    }
    .feature-table.is-max3 table td {
        border-top: 1px solid #cfcfcf;
    }
    .feature-table td:nth-child(1) {
        border-left: 1px solid #cfcfcf;
    }
}
/*==============================
ヘッダー
/*==============================*/
.l-header {
    box-shadow: none;
    position: relative;
}
/* PC-1 */
.l-header__bar.pc_ {
    padding-top: 5px;
}

.l-header__bar .c-catchphrase {
    font-size: 16px;
    font-weight: bold;
}
@media (min-width: 960px) {
    .l-header {
        padding-top: 25px;
    }
    .-series .l-header__logo {
        padding-top: 0px;
        position: relative;
        top: -15px;
    }
    .-parallel-bottom .l-header__inner {
        padding-top: 0px;
    }
}
.l-header .c-iconList {
    position: relative;
    top: -17px;
}
/* PC-2 
@media (min-width: 960px) {
    .-series .l-header__logo {
        position: relative;
        top: -10px;
    }
}*/
/* SP */
@media not all and (min-width: 960px) {
    .l-header__inner {
        padding-top: 5px;
    }
    [data-scrolled="true"] .l-header__inner {
        padding-bottom: 5px;
    }
    .-txt .c-headLogo__link {
        font-size: 4.5vw;
    }
}
/*==============================
ヘッダーウィジェット
/*==============================*/
/* w-headerをバーエリアに絶対配置で引き上げ */
.w-header.pc_ {
    position: absolute;
    top: -50px;
    right: 110px; /* RSS＋検索アイコン分のスペース */
    height: 40px; /* バーの高さ（※合わない場合は調整） */
    z-index: 200;
    background: transparent;
}
/* 横並びにする */
.w-header__inner {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 8px;
    height: 100%;
}
/* ===== ボタンメニュー ===== */
#nav_menu-2 {
    display: flex;
    align-items: center;
}
#nav_menu-2 .menu {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 6px;
    list-style: none;
    margin: 0;
    padding: 0;
}
#nav_menu-2 .menu-item {
    margin: 0;
    padding: 0;
}
/* 全ボタンを線表示に */
#nav_menu-2 .menu-item a {
    display: inline-block;
    padding: 4px 10px;
    font-size: 11px;
    font-weight: 600;
    line-height: 1.4;
    white-space: nowrap;
    color: var(--color_htag) !important;
    background-color: transparent;
    border: 1.5px solid var(--color_htag);
    border-radius: 4px;
    text-decoration: none !important;
    transition: all 0.2s ease;
}
/* ホバーで塗りつぶし */
#nav_menu-2 .menu-item a:hover {
    color: #fff !important;
    background-color: var(--color_htag);
    opacity: 1;
}
/* お見積りだけベタ塗り */
#nav_menu-2 li:last-child a {
    color: #fff !important;
    background-color: var(--color_htag);
    border-color: var(--color_htag);
    display: none;
}
#nav_menu-2 li:last-child a:hover {
    opacity: 0.7;
}
/* ===== 翻訳ウィジェットをインライン化 ===== */
#custom_html-2 {
    display: flex;
    align-items: center;
}
#custom_html-2 .textwidget, #custom_html-2 .custom-html-widget {
    display: flex;
    align-items: center;
    margin-top: 2px;
}
.gtranslate_wrapper {
    display: flex;
    align-items: center;
}
.gt_switcher-popup {
    display: flex;
    align-items: center;
    gap: 4px;
    font-size: 12px;
    white-space: nowrap;
    text-decoration: none !important;
    color: #333 !important;
}
/* 固定ヘッダー内のボタンエリアを非表示 */
.l-fixHeader .w-header {
    display: none !important;
}
/*==============================
グローバルナビ
/*==============================*/
.c-gnav > .menu-item > a:before {
    content: '';
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    height: 1em;
    border-left: 1px solid var(--color_htag);
}
.c-gnav > .menu-item:first-child > a::before {
    display: none;
}
.c-gnav > .menu-item > a:after {
    left: 1px;
}
.c-gnav > .menu-item > a .ttl {
    font-weight: bold;
}
/*==============================
フッター
/*==============================*/
.l-footer__widgetArea {
    position: relative;
    padding-top: 1vw;
}
@media not all and (min-width: 960px) {
    .l-footer__widgetArea {
        padding-top: 4vw;
        padding-bottom: 8vw;
    }
}
.l-footer__foot {
    background-color: var(--color_htag);
    color: #fff;
}
.c-widget__title.-footer {
    margin-bottom: 1.0em;
}
.l-footer__widgetArea {
    font-size: 14px;
}
.l-footer__widgetArea li:last-child a {
    border: none;
}
/* フッター1～3 */
@media (min-width: 960px) {
    .w-footer.-col3 {
        display: grid !important;
        grid-template-columns: repeat(4, 1fr) !important;
        gap: 30px !important;
        align-items: start !important;
    }
    .w-footer__box:nth-child(3) {
        display: contents;
    }
    .w-footer__box:nth-child(3) > .widget {
        align-self: start !important;
        padding: 1em !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
    }
}
@media not all and (min-width: 960px) {
    #site-publisher {
        margin: 40px 0 20px;
        text-align: center;
    }
}
/* フッター最下部 */
@media (min-width: 600px) {
    .l-footer__nav li:first-child a {
        border-left: none;
    }
    .l-footer__nav li:last-child a {
        border: none;
    }
}
/*==============================
メインビジュアル
/*==============================*/
/* 外側でクリップ */
.p-mainVisual {
    overflow: hidden;
}

/* 内側を中央寄せ＋両サイドをチョイ見えさせる */
.p-mainVisual__inner {
    width: 80%;
    margin-left: auto;
    margin-right: auto;
    overflow: visible;
}
.p-mainVisual__inner .swiper-button-next, .swiper-button-prev {
    background: rgb(255 255 255 / 60%);
}
.p-mainVisual__inner .swiper-button-next:after, .p-mainVisual__inner .swiper-button-prev:after {
    color: #7C7C7C;
}
/* スライダーテキスト */
.p-mainVisual__slideTitle {
    font-weight: bold;
}
/* スライダーボタン */
.p-mainVisual__slideBtn a {
    border-radius: 5px;
    background: linear-gradient(135deg, #f0a070, #ee7956, #e05c35);
    font-weight: bold;
}
/* PC：ブログパーツ */
.p-mainVisual .main-copy {
    line-height: 370%;
}
/* SP：ブログパーツ */
@media not all and (min-width: 960px) {
    .p-mainVisual .main-copy {
        line-height: 300%;
        margin-bottom: 10px;
    }
    .p-mainVisual .main-copy .swl-fz {
        font-size: 30px !important;
    }
    .p-mainVisual .main-desc {
        font-size: 12px !important;
    }
}
/*==============================
トップページ
/*==============================*/
.top #content {
    padding-top: 0;
}
/* 実績 */
.zisseki {
    line-height: 250%;
    padding-bottom: 35px !important;
}
.zisseki .swell-block-column.swl-has-mb--s {
    border-right: 1px solid #fff;
}
.zisseki .swell-block-columns__inner div:last-child {
    border: none !important;
}
@media not all and (min-width: 960px) {
    .zisseki .swell-block-column.swl-has-mb--s p span {
        font-size: 40px !important;
    }
    .zisseki .swell-block-columns__inner div:nth-child(even) {
        border: none !important;
    }
}
/* もっと見るボタン調整 */
.swell-block-button.is-style-more_btn {
    max-width: 800px;
}
/* ニュース */
ul.p-postList.-type-simple h2 {
    font-weight: normal;
}
/* 関連サイト */
.related-links .swell-block-box-menu__link {
    border-radius: 10px;
    font-weight: bold;
    justify-content: center;
}
.related-links .swell-block-box-menu__figure {
    margin-right: 0.5em !important;
}
.related-links .swell-block-box-menu__item {
    border-radius: 10px !important;
}
@media (min-width: 960px) {
    .related-links .swell-block-box-menu__link {
        justify-content: center;
    }
    .related-links .swell-block-box-menu__text, .related-links .swell-block-box-menu__figure {
        flex: none;
    }
}
@media not all and (min-width: 960px) {
    .swell-block-box-menu__text {
        line-height: 1.4;
        font-size: 0.8em;
    }
}
/*==============================
MyAspフォーム
/*==============================*/
/* サイズ調整 */
form.myForm .required .my_column.my_left label:first-child:after, form.myForm th.required label:first-child:after, form.myForm span.required:after {
    height: auto !important;
}
/* 見出し */
.content_title {
    border-top: 1px solid #ddd;
    margin-top: 60px !important;
    padding-top: 10px !important;
}
.content_title h2 {
    background: none;
}
/* フォントサイズ調整 */
form.myForm .checkbox_input, form.myForm .checkbox_label, form.myForm .radiobutton_input, form.myForm .radiobutton_label {
    font-size: 15px;
}
/* 背景有 */
.my_column.my_right.required_color {
    border-radius: 10px;
}
/* チェックボックスのボックス、ラベル */
.content_form .checkbox_frame, .content_form .radiobutton_frame {
    display: flex !important;
    align-items: center;
    gap: 0px;
    margin-bottom: 3px;
}
.content_form .checkbox_input, .content_form .radiobutton_input {
    display: flex !important;
    align-items: center;
}
.input_unit {
    display: flex;
    align-items: center;
}
/* チェックボックス行だけ上揃え */
.input.checkbox.input_unit {
    align-items: flex-start;
}
form.myForm .checkbox_input, form.myForm .checkbox_label {
    padding-bottom: 0px !important;
}
form.myForm input[type=checkbox] {
    position: relative;
    top: 1px;
}
/* 送信ボタン */
.content_form input[type="submit"] {
    background-color: var(--color_main);
    color: white;
    border: none;
    font-weight: bold;
    padding: 10px 50px;
    border-radius: 50px;
}
.content_form input[type="submit"]:hover {
    opacity: 0.8;
}
/* PC */
@media (min-width: 960px) {
    body .content_form .input_unit .my_right.my_column {
        padding: 20px;
        padding-left: 0px;
        padding-bottom: 10px;
    }
    body .my_column.my_right.required_color {
        padding-left: 20px !important;
        padding-bottom: 20px !important;
        display: block;
        min-width: 500px;
    }
    .my_column.my_left {
        text-align: right;
        padding-right: 20px !important;
        padding-bottom: 10px !important;
    }
    .input.checkbox.input_unit.required, .input.radiobutton.input_unit.required {
        margin-top: 20px !important;
        margin-bottom: 10px !important;
    }
    body form.myForm input[type="text"], form.myForm input[type="password"], body form.myForm textarea  {
        max-width: 500px;
    }
}
/* SP */
@media not all and (min-width: 960px) {
    .my_column.my_left, .my_column.my_right {
        padding: 10px 0 !important;
    }
    .my_column.my_left {
        padding-bottom: 5px !important;
    }
    .my_column.my_right.required_color {
        padding: 15px !important;
        margin-top: 10px;
    }
    .input.checkbox.input_unit.required, .input.radiobutton.input_unit.required {
        margin-top: 20px;
        margin-bottom: 20px;
    }
    body .my_column.my_right.required_color,body form.myForm input[type="text"], form.myForm input[type="password"], body form.myForm textarea {
        width: 100%;
    }
    .content_title .input_unit, .content_box .input_unit .my_right.my_column, .content_form .input_unit .my_right.my_column, .content_confirm .input_unit .my_right.my_column {
        width: 100%!important;
    }
    
    .select_frame {
        width: 50%;
    }
    
}
