@charset "UTF-8";

/*!
Theme Name: Cocoon Child
Template:  cocoon-master
Version:    1.0.8
*/

/************************************
** 子テーマ用のスタイルを書く
************************************/

.greeen { background-color: #007b43 !important; }
.bluee { background-color: #004f99 !important; }

/* TOP動画 */
.video-container.top {
    position: relative;
    overflow: hidden;
    width: 100%;
    max-width: initial;
    z-index: 2;
}
.v-bg {
    background-size: cover;
    text-align: center;
    position: relative;
    overflow: hidden;
    background-color: #555555ab;
}
.v-bg:after {
    background-image: url(https://miyakotown.com/images/pattern-01.png);
    content: "";
    position: absolute;
    top: 0; bottom: 0; left: 0; right: 0;
}
div.video-container.top > video {
    min-width: 100%;
    z-index: -1;
}

/* snsボタン全体 */
.sns-btn {
    border-radius: 6px;
    width: 50%;
    transition: .4s;
    text-decoration: none;
    text-align: center;
    margin: 0 .4em;
    padding: .2em 0;
}
.sns-btn:hover { color: #FFF !important; text-decoration: none; }
/* YouTube */
.sns-btn.fl_yu2 { border: solid 1px #fc0d1c; color: #fc0d1c; }
.sns-btn.fl_yu2:hover { border: solid 1px #fc0d1c; background: #cd201f; }
/* LINE */
.sns-btn.fl_li2 { border: solid 1px #00c300; color: #00c300; }
.sns-btn.fl_li2:hover { border: solid 1px #00c300; background: #00c300; }
/* ボタン内テキスト調整 */
.sns-btn span {
    font-size: 16px;
    position: relative;
    left: .6em;
    bottom: 2px;
}
.sns-btn2 { display: flex; align-items: center; justify-content: center; }
/*SNSフォローボタン*/
.sns-follow-message { color: #333; }
.sns-follow-buttons { display: flex; justify-content: center; } /* 中央寄せを統合 */
.sns-follow-buttons a { border-radius: 50%; margin: 0 10px; }
#main .sns-follow a { width: 45px; height: 45px; }
/*サイドバーのSNSフォロー*/
.sidebar .sns-follow { margin: 0 0 24px 0; }
.sidebar .sns-follow-buttons a {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    margin: 3px 6px;
}

.instagram-button { background-color: #c522b8 !important; }

.recommended { margin: 0; }
ul.blocks-gallery-grid { margin: 0 auto !important; }
.menu-button-in img { width: auto; }
a { color: #004f99; font-weight: 500; }
.recommended.rcs-center-white-title .card-content { background-color: rgba(0, 79, 153, .25); }
.entry-content > *, .demo .entry-content p { margin-top: .4em; margin-bottom: .4em; }
.video-container { margin: 0 auto; }
.footer-bottom-logo img { height: auto; }
.navi-entry-card-title { font-weight: 600; font-size: 1em; }

/* cta */
.cta-box {
    background-color: #004f99;
    color: #fff;
    padding: 1em;
    border: solid 1px #004f99;
}
.cta-message { text-align: center; font-size: 1.2em; }

/* アニメーション */
#main, #sidebar { animation: fadeIn 1s ease-out 0s 1 normal; }
@keyframes fadeIn {
    from { transform: translateY(10%); opacity: 0; }
    100% { transform: translateY(0%); opacity: 1; }
}
#header-container { animation: Down 1s ease-out 0s 1 normal; }
@keyframes Down {
    from { transform: translateY(-10%); opacity: 0; }
    100% { transform: translateY(0%); opacity: 1; }
}
#breadcrumb { animation: Right 1s ease-out 0s 1 normal; }
@keyframes Right {
    from { transform: translateX(10%); opacity: 0; }
    100% { transform: translateX(0%); opacity: 1; }
}

/* ページネーション */
.page-numbers { color: #49add1; border: 1px solid #49add1; }
.pagination .current { background-color: #49add1; color: #fff; }
.page-numbers.dots { opacity: 1; background: none; }
.pagination a:hover { background-color: #49add1; color: #fff; }

.img-fluid-top img { padding: 1em 2.4em; }
.top-cont div.wp-block-media-text__content { padding: 0 .5em; }
.top-cont div.caption-box-label { padding: .4em .8em; }
.top-cont div.caption-box-content { padding: .9em; }
.top-col div.column-left, .top-col div.column-right { padding: .8em; }

/* 見出し */
.article h3 {
    background: #dfefff;
    box-shadow: 0 0 0 5px #dfefff;
    border: dashed 1px #397ab7;
}
h1.entry-title {
    position: relative;
    padding-bottom: .5em;
    border-bottom: 4px solid #f4f5f7;
}
h1.entry-title:after {
    position: absolute;
    bottom: -4px;
    left: 0;
    z-index: 2;
    content: '';
    width: 20%;
    height: 4px;
    background-color: #004f99;
}

/* ギャラリー */
#baguetteBox-overlay .full-image img { background: #FFF; padding: .8em; }
.entry-content .wp-block-gallery figure.wp-block-image { flex-grow: 0; }
figure a:hover img { opacity: .6; transition: .3s ease-in-out; }
.entry-content .wp-block-gallery .blocks-gallery-image figcaption,
.entry-content .wp-block-gallery .blocks-gallery-item figcaption { font-size: .9em; }

/* カルーセル */
#carousel .carousel-entry-card-title {
    font-size: 0.75em;
    padding-top: .25em;
    margin-top: .25em;
}

/* カテゴリー */
.widget_categories ul .cat-item a::before {
    line-height: 1 !important;
    content: "\f0da";
    color: #004f99;
    padding-right: 10px;
    display: inline-block;
    font: normal normal normal 14px/1 FontAwesome;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    animation: horizontal 3s ease infinite;
}
.widget_categories ul .cat-item { border-top: 1px dotted #96a0a0; }
.widget_categories ul .cat-item:last-child { border-bottom: 1px dotted #96a0a0; }
.widget_categories ul li .cat-item:last-child { border-bottom: none; }
.widget_categories ul li a { padding: 10px; }

.sidebar h3 {
    color: #004f99;
    text-align: center;
    padding: 0.25em;
    background: repeating-linear-gradient(-45deg, #f0f8ff, #f0f8ff 3px,#e9f4ff 3px, #e9f4ff 7px);
}
.cat-link { background-color: #f6f6f6; color: #222; border-radius: 20px; padding: 5px 12px; }

/* 検索バー */
.search-box { margin: 1em; }
.search-edit { height: 40px; border-radius: 40px; }
.search-submit { line-height: 0; top: 0; bottom: 0; }
.search-edit:focus { outline: none; border-color: #004f99; }

/* フッター */
.footer-title { display: none; }
.footer .sns-follow { margin: 0 0 18px 0; }
.footer .sns-follow-buttons a {
    border-radius: 50%;
    width: 40px;
    height: 40px;
    font-size: 20px;
    margin: 3px 6px;
}
.footer-right ul li { list-style: none; margin-bottom: .2em; }
.footer-right ul { padding-left: .5em; }
.footer-left .card-arrow .a-wrap::after {
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    width: 8px; height: 8px;
}

/* シェアボタン */
.button-caption { display: none; }
.sns-share-buttons { display: flex; justify-content: center; }
.sns-share-buttons a { border-radius: 50%; margin: 5px; }
#main .sns-share a { height: 40px; width: 40px; margin-bottom: 0.5em; }
.social-icon { font-size: 15px; }

/* ボックスリンク */
.home .box-menu:last-child { margin-right: 0; }

/* 会社概要 */
ul.sideP { display: flex; flex-wrap: wrap; align-items: center; }
ul.sideP li::before { margin-left: -.7em; }
ul.sideP li { margin: .1em .5em; padding: .1em .3em; font-size: .9em; }
figure.tableP table td { padding-left: .6em; }
.box-pl { margin: .5em; padding: .5em; }

/* 売却相談 */
.column-wrap > div > .box-sell-img { margin-bottom: 0; }
h4.col-h { margin: 0 1em; }
.page-id-5606 li.page-item-5606 .caption-wrap { background: #FFF; color: #004f99; }
.page-id-5606 .col-sell { margin-bottom: .2em; }

/* マイホーム相談 */
.is-layout-flex > div > .box-sell-img { margin-bottom: 0; }
p.box-my-t { margin: 0.8em 1em; font-size: medium; }
.page-id-3051 li.page-item-3051 .caption-wrap { background: #ff6900; color: #FFF; }
.page-id-3051 h5, .page-id-3051 h4 { border-color: #ff6900; }
.page-id-3051 h3 {
    background: #ffe1cd;
    box-shadow: none;
    border: dashed 1px #ff6900;
}

/* LINE */
.page-id-8474 li.page-item-8474 .caption-wrap { background: #3eb370; color: #FFF; }

/* 更新履歴用 */
.list-group { list-style: none; padding: 0 0 0 .9em; margin: 0; }
.list-group li { 
    border-bottom: 1px dotted #9fa0a0;
    position: relative;
    margin: .7em 0 !important;
    padding: 0 0 .5em 1.6em;
}
.list-group li:last-child { border: none; }
.list-group li:before {
    background-color: #004f99;
    position: absolute;
    content: '';
    top: .7em; left: .5em; width: 7px; height: 7px; border-radius: 4px;
}

/* 相続診断入口：ホバーアニメーション */
.wp-block-image-cen img { display: inline-block; }
.wp-block-image-cen a:hover img {
    opacity: unset !important;
    transition: 1s ease-in-out !important;
    transform: scale(1.05);
}

/* 相続メニュー */
ul.sidenav-loan {
    padding: 0;
    position: relative;
    overflow: auto;
    list-style: none;
}
ul.sidenav-loan li a {
    display: block;
    color: #000;
    padding: 8px 16px;
    text-decoration: none;
}
ul.sidenav-loan li a:hover:not(.active) { background-color: #000; color: white; }
.iconlist-title { padding-bottom: .5em; font-size: 1.2em; }

div.speech-balloon { padding: 1em; }
div.sb-id-3 { margin-bottom: 1.25em; }
.block-box { margin: .4em 1em; }

/* テーブル */
.container table tr, .container table th, .container table td { background-color: transparent; }
.info-table table th { padding: .2em .4em; border-color: #004f99; }
.info-table table td { padding: .3em .6em; border-color: #004f99; }

/* 物件紹介 */
.iframe-wp {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
}
.iframe-wp iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.col-bor { border: 2px solid; margin: .2em .4em; padding: .7em .8em; }
.col-bor p { margin: .2em; line-height: 1.6; }

/* お役立ち全般 */
.timeline-myhome .timeline-item-label { width: 90px; padding: 18px 1em 0 0; }
.timeline-myhome .timeline-item:before { left: 85px; }
.timeline-myhome .timeline-item-content { padding: 0.8em 1.2em; }
.timeline-myhome .block-box { padding: 0.8em; margin: 0; }
.timeline-myhome .faq-question { margin-bottom: 1.1em; align-items: center; }
.timeline-myhome .faq-item-label { margin-top: 0.6em; }

/* 非表示制御 */
.front-top-page .entry-title, .front-top-page .sns-share, .front-top-page .date-tags, .front-top-page .author-info, .single .sns-follow, .single-news .under-entry-content, .post-date { display: none; }
body:not(.home):not(.single) .entry-title, body:not(.home):not(.single) .sns-follow, body:not(.home):not(.single) .date-tags, body:not(.home):not(.single) .author-info { display: none; }

.entry-content { margin: 1em 0 3em 0; }

/* コンテンツオンリー */
.content-only #footer { display: block; }
.content-only #footer .footer-widgets { display: none; }
.content-only .go-to-top-button { display: flex; }

/* お問合せ */
.wpcf7 { width: 95%; margin: 1.5em auto auto auto; }
.wpcf7-form p { margin: .4em .2em; }
input[type='submit'] {
    border: none; border-radius: .6em; background-color: #004f99;
    color: white; font-size: 1em; padding: .4em; margin-top: .4em;
}
input[type='submit']:hover { background-color: #0095d9; transition: .7s; }
input[type='submit']:active { transform: translateY(2px); }
.contactF th {
    text-align: left; font-size: 16px; color: #444; font-weight: 500;
    background: #dfefff !important; padding: .5em .25em .5em .75em;
}
.contactF td { font-size: 16px; background: #FFFFFF; }
.ast { font-size: 11px; padding: .4em; background: #e95295; color: #fff; border-radius: 2px; margin-left: 0.5em; position: relative; }
.tatelist .wpcf7-list-item { display: block; }

/* 相続_TOPボタン */
.page-id-6024 .go-to-top-button {
    background: url(https://miyakotown.com/images/TOPshindanSUB01.png) no-repeat center center / cover;
    width: 120px; height: 140px;
}
.page-id-6024 .fa-chevron-up { display: none; }
.page-id-6024 li.page-item-6024 .caption-wrap { background: #fff100; color: #000; }
.center-d img { display: inline-block; }
.wpvr-cardboard { margin-left: auto; margin-right: auto; }

/* ロゴ横の文章 */
.my-header-comment { display: block; font-size: 14px; line-height: 1.4; color: #555; text-align: center; }

/* モバイルメニュー・フッター */
.mobile-footer-menu-buttons { background: #004f99; }
.mobile-footer-menu-buttons a, .mobile-footer-menu-buttons i { color: #fff !important; }

/* サイドバー タグ一覧 */
.widget_tag_search .widget-title label{cursor:pointer;}
.widget_tag_search .tag-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 0; }
aside.widget_tag_search .widget-title { margin: 10px 0; }
aside.widget_tag_search .toc-content { padding: 0 6px; }
.widget_tag_search .toc-checkbox:checked ~ .toc-content { padding-top: 0; }
.widget_tag_search .tag-item {
    display: inline-block; padding: 4px 8px; font-size: 13px;
    text-decoration: none; color: #004f99; transition: 0.2s ease;
}
.widget_tag_search .tag-item:hover { background: #004f99; color: #fff; }
.widget_tag_search .tag-item::before { content: "#"; font-weight: bold; margin-right: 2px; }

/************************************
** レスポンシブデザイン（統合・整理）
************************************/
/* 1069px以上 */
@media screen and (min-width: 1069px) {
    #navi-in { width: 100%; }
}

/* 1030px以下 */
@media screen and (max-width: 1030px) {
    .column-wrap > div.head-col-l { display: none; }
    .column-wrap > div.head-col-r { width: 100%; }
    .box-menus .box-menu { width: calc(100%/3); }
    .site-logo-image { content: url("https://miyakotown.com/images/logotype_S_jpg.jpg"); height: auto; }
}

/* 768px以下 */
@media screen and (max-width: 768px) {
    .column-wrap > div.head-col-l, .column-wrap > div.head-col-r { display: none; }
    .home .box-menus .box-menu { width: calc(100%/3); }
    .contactF th, .contactF td { width: 100%; display: block; margin-bottom: .5em; }
    .contactF th { padding-bottom: 0; text-align: left; }
    .my-header-comment { margin: 4px auto 0 auto; font-size: 12px; }
    .widget_tag_search .tag-item { flex: 1 0 48%; text-align: center; }
}

/* 480px以下 */
@media screen and (max-width: 480px) {
    .top-col .column-right .wp-block-embed-youtube { display: none; }
    .video-container.top { display: none; }
    ul.sidenav-loan { background: #dfefff; }
    ul.sidenav-loan li a { text-align: center; float: none; }
}

/* ---INA-TOWN LPデザイン--- */
/* セクション共通 */
.ina-town .lp-section{padding:80px 20px;max-width:1100px;margin:0 auto;}
.ina-town img{max-width:100%;height:auto;vertical-align:bottom;}
.ina-town h2{all:unset;display:block;font-size:28px;font-weight:600;text-align:center;color:#1a2b49;margin-bottom:50px;position:relative;}
.ina-town h2::after{content:"";display:block;width:60px;height:3px;background:#2f6edb;margin:15px auto 0;border-radius:2px;}
.ina-town h3{all:unset;display:block;font-size:20px;font-weight:600;color:#2f6edb;margin-bottom:15px;}
/* 強みセクション */
.ina-town .lp-grid{display:grid;gap:30px;}
@media(min-width:768px){.ina-town .lp-grid{grid-template-columns:repeat(2,1fr);}}
.ina-town .lp-box{background:#fff;padding:35px;border-radius:20px;border:1px solid #edf1f7;box-shadow:0 12px 30px rgba(0,0,0,0.06);transition:0.3s ease;}
/* ボタン共通 */
.ina-town .lp-btn a,.ina-town .wp-block-button__link,.ina-town .lp-cta-fixed .ina-btn{background:linear-gradient(135deg,#2f6edb,#4a8fff);color:#fff !important;padding:16px 36px;border-radius:40px;font-size:16px;font-weight:600;box-shadow:0 10px 20px rgba(47,110,219,0.25);text-decoration:none;display:inline-block;transition:0.3s ease;}
.ina-town .lp-btn a:hover,.ina-town .wp-block-button__link:hover,.ina-town .lp-cta-fixed .ina-btn:hover{transform:translateY(-3px);box-shadow:0 15px 30px rgba(47,110,219,0.35);}
/* 区画図 */
.ina-town .lp-layout{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;align-items:flex-start;}
.ina-town .lp-landmap{display:block;margin:0 auto;}
.ina-town .lp-layout .land-info{flex:1 1 auto;max-width:700px;min-width:300px;background:#fff;padding:25px;border-radius:15px;box-shadow:0 8px 20px rgba(0,0,0,0.05);line-height:1.8;text-align:left;margin:0 auto;}
@media(max-width:767px){.ina-town .lp-layout{flex-direction:column;gap:20px;align-items:center;}.ina-town .lp-landmap{width:90%;max-width:400px;}.ina-town .lp-layout .land-info{flex:1 1 95%;max-width:none;padding:20px;}}
.ina-town .lp-around{display:flex;flex-direction:column;gap:20px;}
.ina-town .lp-around .around-map iframe{width:100%;height:350px;}
.ina-town .around-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;justify-items:center;margin-bottom:40px;}
.ina-town .around-photo{text-align:center;padding:10px;}
.ina-town .around-photo a{display:block;text-decoration:none;}
.ina-town .around-photo img{display:block;width:160px;height:120px;object-fit:cover;border-radius:12px;box-shadow:0 4px 12px rgba(0,0,0,0.1);margin:0 auto 6px auto;}
.ina-town .around-photo p{font-size:14px;color:#333;margin:0;line-height:1.4;}
@media(max-width:767px){.ina-town .around-grid{grid-template-columns:repeat(2,1fr);gap:12px;}.ina-town .around-photo img{width:100px;height:100px;}}
/* おすすめセクション */
.ina-town .lp-target{position:relative;overflow:hidden;z-index:1;}
.ina-town .lp-target::before{content:"";position:absolute;inset:0;background-image:url('https://miyakotown.com/images/20260305.png');background-repeat:no-repeat;background-position:calc(100% + 30px) calc(100% + 40px);background-size:contain;opacity:0.15;pointer-events:none;z-index:0;}
.ina-town .target-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:700px;margin:0 auto;}
.ina-town .target-box{background:#fff;padding:20px;border-radius:14px;text-align:center;font-weight:500;box-shadow:0 6px 16px rgba(0,0,0,0.05);}
@media(max-width:767px){.ina-town .target-grid{grid-template-columns:1fr;}.ina-town .lp-target::before{background-position:center center;background-size:85%;opacity:0.18;}}
/* FAQ */
.ina-town .lp-faq .faq-item{background:#fff;padding:25px 30px;border-radius:20px;margin-bottom:20px;box-shadow:0 8px 20px rgba(0,0,0,0.05);}
.ina-town .faq-question{font-weight:600;font-size:18px;color:#2f6edb;margin-bottom:10px;}
.ina-town .faq-answer{line-height:1.8;color:#444;font-size:16px;}
.ina-town .lp-faq .faq-item{display:block !important;flex-direction:column !important;}
/* 会社情報 */
.ina-town .lp-company-info{display:flex;flex-wrap:wrap;gap:30px;}
.ina-town .company-info-wrapper{flex:1 1 50%;}
.ina-town .company-map{flex:1 1 50%;}
.ina-town .company-map iframe{width:100%;height:100%;border:0;}
/* お問い合わせ */
.ina-town .lp-contact{text-align:center;}
.ina-town .contact-lead{margin-bottom:35px;color:#555;line-height:1.8;}
.ina-town .contact-buttons{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;}
.ina-town .contact-btn{padding:16px 36px;border-radius:40px;font-weight:600;text-decoration:none;font-size:16px;transition:0.3s;}
.ina-town .contact-btn.tel{background:#2f6edb;color:#fff;box-shadow:0 10px 20px rgba(47,110,219,0.25);}
.ina-town .contact-btn.mail{background:#f3f6fb;color:#2f6edb;}
.ina-town .contact-btn:hover{transform:translateY(-3px);}
/* LP上部メニュー */
.ina-town .lp-nav{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin:30px auto 40px;max-width:1000px;}
.ina-town .lp-nav a{padding:10px 18px;border-radius:30px;background:#f3f6fb;font-size:14px;text-decoration:none;color:#2f6edb;font-weight:600;transition:0.25s;}
.ina-town .lp-nav a:hover{background:#2f6edb;color:#fff;}
.ina-town .lp-nav .nav-cta{background:#2f6edb;color:#fff;}
/* TOPセクション */
.ina-town .lp-top{color:#fff;text-align:center;}
.ina-town .lp-top h1{font-size:32px;font-weight:700;margin-bottom:15px;}
.ina-town .lp-top-sub{font-size:18px;margin-bottom:30px;}
/* スマホ対応 */
@media(max-width:767px){
.ina-town .lp-section{padding:60px 20px;}
.ina-town h2{font-size:22px;margin-bottom:30px;}
.ina-town .lp-box{padding:25px;}
.ina-town .lp-cta-fixed{top:auto;bottom:20%;right:10px;transform:none;}
.ina-town .lp-cta-fixed .ina-btn{font-size:14px;padding:12px 24px;border-radius:30px;}
.ina-town .lp-company-info{flex-direction:column;}
.ina-town .contact-btn{width:100%;}
.ina-town .lp-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 10px;}
.ina-town .lp-nav a{text-align:center;font-size:13px;padding:10px 5px;}
.ina-town .lp-nav .nav-cta{grid-column:span 3;font-size:14px;}
}
/* LPギャラリー */
.ina-town .lp-gallery{text-align:center;margin:40px 0;}
.ina-town .lp-gallery h2{font-size:22px;color:#1a2b49;margin-bottom:20px;}
.ina-town .gallery-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;}
.ina-town .gallery-item img{width:100%;height:auto;border-radius:10px;display:block;box-shadow:0 6px 16px rgba(0,0,0,0.05);transition:transform 0.25s ease,box-shadow 0.25s ease;}
@media(hover:hover){.ina-town .gallery-item a:hover img{transform:translateY(-6px) scale(1.03);box-shadow:0 12px 24px rgba(0,0,0,0.12);}}
@media(min-width:768px){.ina-town .gallery-grid{grid-template-columns:repeat(4,1fr);}}
/* 追従CTA */
.ina-town .lp-cta-fixed{position:fixed;top:50%;right:0;transform:translateY(-50%);z-index:9999;opacity:0;transition:opacity 0.5s ease;}
.ina-town .lp-cta-fixed.show{opacity:1;}
.ina-town .lp-cta-fixed .ina-btn{display:block;padding:14px 30px;font-size:16px;border-radius:50px 0 0 50px;}