@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*
Theme Name: SWELL CHILD
Template: swell
*/

/* =====================================
   KOYA Mimitsu Custom CSS
   SWELL CHILD
===================================== */

body {
 font-family:"Open Sans",sans-serif;
}

html{
    scroll-behavior:auto;
}

/* ヘッダー */
.l-header .l-container {
    max-width: 1200px !important;
    margin: 0 auto;
}

/* グローバルメニュー　アンカーリンク位置調整 */
#Abouts {
    scroll-margin-top: 72px;
}

#my-masonry-gallery{
    scroll-margin-top:30px;
}

/* PCヘッダーの高さ */
@media (min-width: 960px) {

    .l-fixHeader__logo {
        padding: 5px 0;
    }

}

/*  TranslatePress 国旗 → SWELL地球アイコン */
/* 国旗を非表示 */
.trp-menu-ls-item .trp-flag-image{
    display:none !important;
}

/* 地球アイコンを表示 */
.trp-menu-ls-item .trp-menu-ls-label::before {
    content: "";
    display: inline-block;
    width: 1.2em;
    height: 1.2em;
    vertical-align: -0.2em;

    background: currentColor;
    -webkit-mask: url("/wp-includes/images/icon-library/globe.svg") center / contain no-repeat;
    mask: url("/wp-includes/images/icon-library/globe.svg") center / contain no-repeat;
}

/* =====================================
   TOPページ 全幅設定
===================================== */

/* TOPページのみ全幅・ヘッダーにHeroを重ねる */
.home .l-content {
    max-width: 100%;
    width: 100%;
    margin: 0;
    padding: 0 !important;
}

/* TOPページのみメインコンテンツの余白を削除 */
.home .l-mainContent {
    padding-top: 0 !important;
}


/* =====================================
   Elementor 共通設定
===================================== */

/* 見出し */
.elementor-widget-heading h2 {
    font-size: 20px;
    line-height: 1.4;
    font-weight: 600;
    color: #333;
}

/* 本文 */
.elementor-element p {
    font-size: 14px;
    line-height: 1.8;
    margin: 0 0 20px;
}

/* =====================================
   Elementor SVGアイコン調整
===================================== */

.home .elementor-icon svg {
    fill: inherit;
}

/* =====================================
   Detail Gallery
===================================== */

#my-detail-gallery .gallery {
    display: block !important;
    column-count: 3;
    column-gap: 15px;
}

#my-detail-gallery .gallery-item {
    display: inline-block !important;
    width: 100% !important;
    margin-bottom: 15px !important;
    break-inside: avoid;
}

#my-detail-gallery .gallery-icon img,
#my-detail-gallery img {
    width: 100% !important;
    height: auto !important;
    display: block;
}


/* =====================================
   Elementor Gallery
   SWELL移行後 調整
===================================== */

#gallery-1 {
    display: block !important;
    column-count: 2;
    column-gap: 10px;
}

#gallery-1 .gallery-item {
    float: none !important;
    display: inline-block !important;
    width: 100% !important;
    margin: 0 0 10px !important;
    break-inside: avoid;
}

#gallery-1 .gallery-item img {
    width: 100% !important;
    height: auto !important;
    display: block;
}


/* WordPress標準ギャラリー改行解除 */
#gallery-1 br {
    display: none !important;
}


/* =====================================
   Gallery Common
   枠・影なし
===================================== */

.gallery img,
#gallery-1 img,
#my-detail-gallery img {
    border: none !important;
    box-shadow: none !important;
}


/* =====================================
   Gallery Responsive
===================================== */


/* Tablet */
@media(max-width:1024px){

    #my-detail-gallery .gallery {
        column-count: 2;
    }

}


/* PC */
@media(min-width:768px){

    #gallery-1 {
        column-count: 3;
        column-gap: 20px;
    }

    #gallery-1 .gallery-item {
        margin-bottom:20px !important;
    }

}


/* Smartphone */
@media(max-width:767px){

    #my-detail-gallery .gallery {
        column-count:2;
        column-gap:10px;
    }

    #my-detail-gallery .gallery-item {
        margin-bottom:10px !important;
    }

}


/* ==========================
   Modern Blog Cards
========================== */

.modern-blog-grid {
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:30px;
    margin-bottom:40px;
}

.modern-card-item {
    background:#fff;
    border-radius:12px;
    overflow:hidden;
    box-shadow:0 4px 15px rgba(0,0,0,0.05);
    transition:transform .3s ease, box-shadow .3s ease;
}

.modern-card-item:hover {
    transform:translateY(-8px);
    box-shadow:0 12px 25px rgba(0,0,0,0.1);
}

.modern-card-link {
    display:block;
    text-decoration:none;
    color:inherit;
}

.modern-card-image {
    width:100%;
    height:220px;
    background-size:cover;
    background-position:center;
}

.modern-card-content {
    padding:30px 25px;
}

.modern-card-title {
    font-size:1.1rem;
    font-weight:bold;
    color:#333;
    margin:0 0 12px;
    line-height:1.6;
}

.modern-card-excerpt {
    font-size:.85rem;
    color:#777;
    line-height:1.8;
    margin:0;
}

.modern-blog-more {
    text-align:center;
    margin-top:40px;
}

.btn-more {
    display:inline-block;
    padding:15px 60px;
    background:#fff;
    border:1px solid #333;
    color:#333;
    text-decoration:none;
    letter-spacing:.1em;
}


@media(max-width:992px){

    .modern-blog-grid {
        grid-template-columns:repeat(2,1fr);
    }

}


@media(max-width:768px){

    .modern-blog-grid {
        grid-template-columns:1fr;
    }

}

/* =====================================
   SWELL ページトップボタン
   OceanWPデザインへ調整
===================================== */

.c-fixBtn {
    width: 40px;
    height: 40px;
    background-color: rgba(0,0,0,.4);
    border: none;
    border-radius: 2px;
    box-shadow: none;
    color: #fff;
    opacity: 1;
    transition: all .3s ease;
}


/* アイコン位置調整 */
.c-fixBtn i {
    font-size: 18px;
}


/* ホバー時 */
.c-fixBtn:hover {
    background-color: rgba(0,0,0,.7);
    color: #fff;
}


/* PC位置 */
@media (min-width: 960px) {

    .c-fixBtn {
        right: 20px;
        bottom: 20px;
    }

}


/* スマホ位置 */
@media (max-width: 959px) {

    .c-fixBtn {
        width:40px;
        height:40px;
        right:20px;
        bottom:20px;
    }

}

/* ==========================
   Footer Typography
========================== */

.l-footer__widgetArea p {
    font-size: 14px;
    line-height: 1.8;
}
