/**
Theme Name: Astra Child
Author: Brainstorm Force
Author URI: http://wpastra.com/about/
Description: Astra is the fastest, fully customizable & beautiful theme suitable for blogs, personal portfolios and business websites. It is very lightweight (less than 50KB on frontend) and offers unparalleled speed. Built with SEO in mind, Astra comes with schema.org code integrated so search engines will love your site. Astra offers plenty of sidebar options and widget areas giving you a full control for customizations. Furthermore, we have included special features and templates so feel free to choose any of your favorite page builder plugin to create pages flexibly. Some of the other features: # WooCommerce Ready # Responsive # Compatible with major plugins # Translation Ready # Extendible with premium addons # Regularly updated # Designed, Developed, Maintained & Supported by Brainstorm Force. Looking for a perfect base theme? Look no further. Astra is fast, fully customizable and beautiful theme!
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: astra-child
Template: astra
*/


@media (min-width: 922px) {
    body.page .site-content > .ast-container {
        max-width: none;
    }
  }
    /* Header Styles */
        .l-header {
            background-color: #fff;
            position: fixed;
            top: 0;
            left: 0;
            right: 0;
            z-index: 1000;
        }

        .l-header__set {
            margin: 0 auto;
            padding: 0 30px;
            display: flex;
            justify-content: space-between;
            align-items: center;
            height: 100px;
        }

        /* Logo Area */
        .l-header-info__area-logo {
            display: flex;
            align-items: center;
            gap: 5px;
        }

        .l-header-info__logo-link {
            text-decoration: none;
            align-items: center;
            gap: 15px;
        }

        .l-header-info__logo-img {
            height: 50px;
            width: auto;
        }

        .l-header__company-name {
            line-height: 1;
            font-size: clamp(0.7rem, 1vw + 0.8rem, 1rem);
            text-align: center;
            font-weight: bold;
        }

        .l-header__tagline {
            background-color: #fdf6ee;
            font-size: clamp(0.9rem, 1.5vw + 0.8rem, 1.5rem);
            padding: 10px;
            color: #f0ae79;
            font-weight: 500;
            letter-spacing: 1px;
            border-radius: 5px;
            margin-left: 2rem;
        }

        /* Desktop Navigation */
        .l-nav {
        display: flex;
        align-items: baseline;
        gap: 20px;
    }

        .l-nav-list {
            list-style: none;
            display: flex;
            gap: 35px;
            align-items: center;
        }

        .l-nav-list__item-link {
            text-decoration: none;
            color: #333333;
            font-size: 1rem;
            font-weight: 500;
            transition: color 0.3s ease;
            white-space: nowrap;
            margin-left: 10px;
        }

        .l-nav-list__item-link:hover {
            color: #f39c6b;
        }

        /* Icon Links */
        .l-nav-icons {
            display: flex;
            gap: 15px;
            align-items: center;
        }

        .l-nav-icon,.l-nav-icon02 {
            border-radius: 50%;
            background-color: #f0ae79;
            display: flex;
            align-items: center;
            justify-content: center;
            color: white;
            text-decoration: none;
            transition: background-color 0.3s ease;
            font-size: 20px;
        }

        .l-nav-icon{
            width: 40px;
            height: 40px;
        }

        .l-nav-icon02{
            width: 50px;
            height: 50px;
        }

        .l-nav-icon:hover,.l-nav-icon02:hover {
            background-color: #e68a58;
            color: white;
        }

        .blue{
            color: #91d0d5;
        }

        .orenge{
            color: #f0ae79;
        }

        .svg-logo{
            width: 135px;
        }
        .header-text{
            width: 200px;
        }

        /* Mobile Menu Button */
        .l-nav-btn {
        display: none;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        background-color: #f0ae79;
        border: none;
        cursor: pointer;
        padding: 12px 20px;
        gap: 2px;
        min-width: 70px;
        position: relative;  /* 追加 */
        z-index: 1001;       /* 追加 - メニューより上に表示 */
    }

        .l-nav-btn__line {
            width: 25px;
            height: 5px;
            background-color: white;
            transition: all 0.3s ease;
            border-radius: 2px;
        }

        .l-nav-btn__text {
            color: white;
            font-size: 11px;
            margin-top: 4px;
            font-weight: 500;
        }

        .l-nav-btn.is-active .l-nav-btn__line:nth-child(1) {
            transform: rotate(45deg) translate(5px, 5px);
        }

        .l-nav-btn.is-active .l-nav-btn__line:nth-child(2) {
            opacity: 0;
        }

        .l-nav-btn.is-active .l-nav-btn__line:nth-child(3) {
            transform: rotate(-45deg) translate(5px, -5px);
        }

	 @media (min-width: 1024px) {
			.l-header__tagline {
    			font-size: 1.2rem; /* 約19.2px */
				white-space: nowrap;  /* 常に1行 */
				flex-shrink: 0;       /* 要素が潰れて改行されるのを防止 */
				margin-left: 1rem;    /* 余白は気持ち控えめに */
				padding: 6px 8px;
				font-weight: 700;     /* inline style をCSS側へ */
			  }
		}
        /* Mobile Styles */
@media (max-width: 1024px) { 
            .l-header__set {
                padding: 0 20px;
                height: 70px;
            }

            .l-header__company-name {
                font-size: 0.9rem; 
            }

            .l-header__tagline{
                display: none;
            }

            .l-header-info__logo-img {
                height: 40px;
            }

            .l-nav-btn {
                display: flex;
            }

            .l-nav {
            position: fixed;
            top: 0;
            right: -100%;
            width: 85%;
            max-width: 350px;
            height: 100vh;
            background-color: #fff;
            transition: right 0.3s ease;
            overflow-y: auto;
            padding: 80px 30px 40px;
            box-shadow: -3px 0 15px rgba(0, 0, 0, 0.1);
            flex-direction: column;
            align-items: flex-start;
            gap: 40px;
            z-index: 1000;  /* 追加 */
        }

            .l-nav.is-active {
                right: 0;
            }

            .l-nav-list {
                flex-direction: column;
                gap: 0;
                width: 100%;
                align-items: flex-start;
            }

            .l-nav-list__item {
                width: 100%;
                border-bottom: 1px solid #e8e8e8;
            }

            .l-nav-list__item-link {
                padding: 20px 0;
                font-size: 16px;
                display: block;
            }

            .l-header__txt {
                padding: 3px 14px 5px;
                background: #fcf1d3;
            }

            .l-nav-icons {
                gap: 20px;
            }

            .l-nav-icon {
                width: 45px;
                height: 45px;
                font-size: 22px;
            }
        }

        @media (min-width: 1025px) {
            .u-view-sp {
            display: none !important;
            }
        }

        @media (max-width: 480px) {
			
            .-header-info__area-logo{
                display: flex;
			}

            .l-header__set {
 				padding:0 0 0 10px;
                height: 60px;
                align-items: flex-start;
            }

            .l-header-info__logo-img {
                height: 35px;
            }

            .l-header__company-name {
                font-size: 10px;
            }

            .l-nav-btn {
                padding: 10px 15px;
                min-width: 60px;
                height: 60px;
            }

            .l-nav-btn__line {
                width: 22px;
            }

            .l-nav-btn__text {
                font-size: 10px;
            }
            .svg-logo{
                width: 95px;
            }
        }

        /* Overlay */

	.l-overlay {
	  position: fixed;
	  inset: 0;
	  background: rgba(0,0,0,.5);
	  opacity: 0;
	  visibility: hidden;
	  transition: .2s;
	  z-index: 998;
	}
	.l-overlay.is-active { 
	opacity: 1; 
	visibility: visible;
	 }

	/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
   1024px～1200px の時にヘッダー全体を自動で少し縮小して整える
   ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
	@media (min-width: 1024px) and (max-width: 1400px) {

	  /* --- 基本設定 --- */
	  .l-header__set {
		height: 90px;                     /* 高さを少し詰める */
		padding: 0 20px;
		gap: 10px;
	  }

	  .l-header-info__area-logo {
		min-width: 0;      /* Flex子の縮み許可 */
		flex-wrap: nowrap;  /* 折り返し防止 */
		gap: 8px;
	  }

	  /* --- テキスト類（自動縮小） --- */
	  .l-header__company-name {
		white-space: nowrap;
		font-size: clamp(13px, 1.2vw, 17px);   /* 約13～17px */
		letter-spacing: clamp(0px, 0.1vw, 0.5px);
		font-weight: 700;
	  }

	  .l-header__tagline {
		white-space: nowrap;
		font-size: clamp(13px, 1.5vw, 20px);   /* 約13～20px */
		margin-left: 1rem;
		padding: 6px 8px;
	  }

	  /* --- ロゴ --- */
	  .svg-logo {
		width: clamp(100px, 11vw, 130px);
		height: auto;
	  }

	  /* --- ナビゲーション項目 --- */
	  .l-nav-list__item-link {
		font-size: clamp(13px, 1.1vw, 16px);   /* 約13～16px */
		margin-left: 6px;
	  }

	  .l-nav-list {
		gap: clamp(20px, 2.5vw, 30px);
	  }

	  /* --- ナビアイコン類 --- */
	  .l-nav-icon {
		width: clamp(30px, 3.5vw, 40px);
		height: clamp(30px, 3.5vw, 40px);
		font-size: clamp(16px, 1.3vw, 20px);
	  }

	  .l-nav-icon02 {
		width: clamp(38px, 4.5vw, 50px);
		height: clamp(38px, 4.5vw, 50px);
		font-size: clamp(18px, 1.5vw, 24px);
	  }

	  /* --- メニュー間の余白を少し詰める --- */
	  .l-nav {
		gap: clamp(10px, 1.5vw, 20px);
	  }
	}

        /* footer */
         footer {
            background-color: #fdf6ee;
            padding: 50px 20px 30px;
        }

        .footer-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .footer-content {
            display: flex;
            justify-content: space-between;
            align-items: flex-start;
            margin-bottom: 40px;
            flex-wrap: wrap;
            gap: 40px;
        }

        .footer-text{
            font-weight: bold;
        }

        .footer-left {
            flex: 1;
            min-width: 300px;
        }

        .footer-links {
            display: flex;
            gap: 30px;
            margin-bottom: 20px;
            flex-wrap: wrap;
        }

        .footer-links a {
            color: #9dc7c5;
            text-decoration: none;
            font-size: 14px;
            transition: opacity 0.3s;
        }

        .footer-links a:hover {
            opacity: 0.7;
        }

        .logo {
            margin-bottom: 20px;
        }

        .logo img {
            height: 80px;
            width: auto;
        }

        .footer-info p {
            font-size: 14px;
            margin-bottom: 8px;
            font-weight: 500;
        }

        .tel {
            color: #333333;
            font-size: 1.2rem;
            font-weight: bold;
            margin: 15px 0;
            letter-spacing: 1px;
        }

        .footer-right {
            display: flex;
            flex-direction: column;
            align-items: center;
            gap: 20px;
        }

        .contact-btn {
            background: #f0ae79;
            width: 350px;
            color: white;
            padding: 10px;
            border-radius: 50px;
            text-decoration: none;
            font-size: 1.5rem;
            font-weight: bold;
            text-align: center;
        }

        .contact-btn:hover {
            background: #f39c6b;
            color: #ffffff;
        }

        .privacy-link {
            color: #333333;
            text-decoration: none;
            font-size: 14px;
            transition: opacity 0.3s;
            border-bottom: 1px solid #333333;
        }

        .privacy-link:hover {
            color: #333333;
            opacity: 0.7;
        }

        .social-icon {
            width: 45px;
            height: 45px;
            background-color: #e8a576;
            border-radius: 50%;
            display: flex;
            align-items: center;
            justify-content: center;
            transition: transform 0.3s, background-color 0.3s;
            cursor: pointer;
        }

        .social-icon:hover {
            background: #f39c6b;
        }

        .social-icon svg {
            width: 24px;
            height: 24px;
            fill: white;
        }

        .copyright {
            text-align: center;
            color: #999;
            font-size: 1rem;
            padding-top: 30px;
        }

        .footer-top-container {
            width: 100%;
            overflow: hidden;
            display: flex;
            justify-content: center;
        }

        .footer-top {
            display: block;
            height: auto;
            min-width: 1200px;
            width: auto;
        }

        @media (max-width: 768px) {
			.l-header-info__logo-link {
				justify-content: center
			}
            .footer-content {
                flex-direction: column;
                align-items: center;
            }

            .footer-left {
                text-align: center;
                min-width: auto;
            }

            .footer-right {
                align-items: center;
            }

            .footer-links {
                justify-content: center;
            }

            .tel {
                font-size: 24px;
            }

            .contact-btn {
                width: 300px;
                padding: 15px 40px;
                font-size: 18px;
            }

        }

         /* TOP */
        @media (min-width: 993px) {
    .ast-separate-container #primary{
                margin: 5em 0;
    }
}
    .ast-page-builder-template .site .site-content #primary {
        padding-top: 70px;
    }

	/*TOPmv*/
	.mv-slider {
	  margin: 15px 0px;
	  position: relative;
	  width: 100%;
	  height: 90vh; /* 高さは適宜調整 */
	  overflow: hidden;
	}

	.mv-slider .slide {
	  position: absolute;
	  width: 100%;
	  height: 100%;
	  opacity: 0;
	  transition: opacity 1s ease;
	}

	.mv-slider .slide.active {
	  opacity: 1;
	  z-index: 1;
	}

	.mv-slider .bg {
	  width: 100%;
	  height: 90%;
	  object-fit: cover;
	  border-radius: 15px;
	}

	.mv-slider .text-img {
	  position: absolute;
	  bottom: 5%;
	  left: 15%;
	  max-width: 50%;
	  height: auto;
	  width: auto;
	}

	/* 最初のスライドだけ左上配置 */
	.mv-slider .slide:first-child .text-img {
	  top: 10%;
	  left: 10%;
	  transform: none;
	  max-width: 20%;
	  bottom: auto;
	}

	/* 花の画像 - パーセンテージで固定位置 */
	.mv-slider .hana {
	  position: absolute;
	  top: 0%;
	  left: 0%;
	  width: 12vw;
	  min-width: 80px;
	  max-width: 150px;
	  z-index: 10;
	  pointer-events: none;
	  animation: sway-hana 3s ease-in-out infinite;
	}

	/* 森の画像 - bgの右下の縁に配置 */
	.mv-slider .mori {
	  position: absolute;
	  bottom: calc(10% + 5px);
	  right: 20px;
	  width: 8vw;
	  min-width: 80px;
	  max-width: 140px;
	  z-index: 10;
	  pointer-events: none;
	  animation: sway-mori 4s ease-in-out infinite;
	}

	/* 花のゆらゆらアニメーション */
	@keyframes sway-hana {
	  0%, 100% {
		transform: rotate(-2deg) translateY(0);
	  }
	  50% {
		transform: rotate(2deg) translateY(-5px);
	  }
	}

	/* 森のゆらゆらアニメーション（少し違うリズム） */
	@keyframes sway-mori {
	  0%, 100% {
		transform: rotate(2deg) translateY(0);
	  }
	  50% {
		transform: rotate(-2deg) translateY(-8px);
	  }
	}

	/* タブレット対応 */
	@media (max-width: 768px) {
	  .mv-slider .text-img {
		max-width: 60%;
		left: 10%;
		bottom: 8%;
	  }

	  .mv-slider .slide:first-child .text-img {
		max-width: 35%;
		top: 10%;
		left: 8%;
	  }

	  /* 1枚目のスライド - 右寄り */
	  .mv-slider .slide:nth-child(1) .bg {
		object-position: 70% center;
	  }

	  /* 2枚目のスライド - 左寄り */
	  .mv-slider .slide:nth-child(2) .bg {
		object-position: left center;
	  }

	  /* 3枚目のスライド - 左寄り */
	  .mv-slider .slide:nth-child(3) .bg {
		object-position: left center;
	  }

	  /* 4枚目のスライド - そのまま（中央） */
	  .mv-slider .slide:nth-child(4) .bg {
		object-position: center center;
	  }

	  /* 5枚目のスライド - そのまま（中央） */
	  .mv-slider .slide:nth-child(5) .bg {
		object-position: center center;
	  }
	}

	/* スマートフォン対応 */
	@media (max-width: 480px) {
	  .mv-slider {
		height: 90vh; /* 画面いっぱいに表示 */
		margin: 0; /* 上下の余白を削除 */
	  }

	  .mv-slider .text-img {
		max-width: 70%;
		left: 5%;
		bottom: 5%;
	  }

	  .mv-slider .slide:first-child .text-img {
		max-width: 35%;
		top: 8%;
		left: 5%;
	  }

	  /* 1枚目のスライド - 右寄りに調整 */
	  .mv-slider .slide:nth-child(1) .bg {
		object-position: 65% center;
	  }

	  /* 2枚目のスライド - 左寄りに調整 */
	  .mv-slider .slide:nth-child(2) .bg {
		object-position: 35% center;
	  }

	  /* 3枚目のスライド - 左寄りに調整 */
	  .mv-slider .slide:nth-child(3) .bg {
		object-position: 35% center;
	  }

	  /* 4枚目のスライド - 中央 */
	  .mv-slider .slide:nth-child(4) .bg {
		object-position: center center;
	  }

	  /* 5枚目のスライド - 中央 */
	  .mv-slider .slide:nth-child(5) .bg {
		object-position: center center;
	  }
	}

	/*TOPmv*/
	/*TOP*/
	
 /*お知らせ*/
	.premium-blog-post-container .premium-blog-inner-container {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-direction: column;
    -ms-flex-direction: column;
    flex-direction: row-reverse;
    justify-content: flex-end;
    align-items: baseline;
	border-bottom: 1px solid #e0e0e0;
	padding: 5px;
	width: 960px;
	}
	.fa-calendar-alt:before {
		content: "\f073";
		display:NONE;
	}

	.elementor-1386 .elementor-element.elementor-element-2807513 .premium-blog-meta-data {
    font-size: 0.875rem;
    font-weight: bold;
    margin-right: 10px;
	}

	.premium-blog-post-container .premium-blog-content-wrapper {
    padding:0px;
	margin-bottom:10px;
	}

	.premium-blog-entry-meta {
    margin-right: 20px; 
	margin-bottom: 0px;
	}
@media (max-width: 768px) {
    .premium-blog-post-container:not(.premium-blog-skin-banner) .premium-blog-content-wrapper {
        top: 0;
        margin: 0;
        padding: 3px;
     }
		}

	@media (max-width: 480px) {
    .premium-blog-post-container:not(.premium-blog-skin-banner) .premium-blog-content-wrapper {
        padding: 5px;
    }
	.premium-blog-entry-meta i {
    margin-inline-end: 0px;
    transition: 0.3s ease-in-out;
	}
		.premium-blog-post-container .premium-blog-inner-container {
		flex-direction: column-reverse
	}
		 }
 /*お知らせ*/

	/*みのり園について*/
	.wave-top, .wave-bottom { 
	position: relative; 
	width: 100%; 
	overflow: hidden; 
	line-height: 0; 
	} 
	.wave-top svg, 
	.wave-bottom svg { 
	display: block; 
	width: 100%; 
	height: auto; 
	} 
	/*みのり園について*下の波を反転 */ 
	.wave-bottom svg { 
	transform: rotate(180deg); 
	margin-top: -1px; /* 隙間を消す */
	 } 
	/*みのり園について 上の波も隙間防止 */ 
	.wave-top svg { 
	margin-bottom: -1px; 
	}
	/*みのり園について 写真アニメーション*/ 
	.fluffy {
	  /* アニメーション名 アニメーションにかかる時間 アニメーションの繰り返し回数 */
	  /* fluffy 3秒 無限ループ */
	  animation: fluffy 3s infinite;
	}

	@keyframes fluffy {
	  0%, 100% {
		transform: translateY(0);
	  }
	  50% {
		transform: translateY(-20px);
	  }
	}
	.fluffy2 {
	  animation: fluffy2 3s infinite;
	  display: inline-block;      /* transformが効きやすいように推奨 */
	  will-change: transform;     /* なめらかに */
	}

	@keyframes fluffy2 {
	  0%, 100% { transform: translateY(0); }
	  50%      { transform: translateY(20px); }
	}

	/*インスタグラム*/
	#sb_instagram .sbi_photo img {
    border-radius: 5px;	
	}

	/*TOP*/

	/*各固定ページタイトルH3*/
	.title-dot {
	  position: relative;
	  display: inline-block;
	  text-align: center;
	}

	.title-dot::after {
	  content: "";
	  display: block;
	  width: 10px;
	  height: 10px;
	  background-color: #f2a273;
	  border-radius: 50%;
	  margin: 6px auto 0;
	}
	/*各固定ページタイトルH3*/

	/*施設紹介*/
	/* 親OLの初期化 */
	.elementor-element-514964a ol {
	  counter-reset: list-counter;
	  list-style: none;
	  padding: 0;
	  margin: 0;
	}

	/* 各LIを2カラム（丸番号 / テキスト）に */
	.elementor-element-dba8a06 ol li,.elementor-element-c5c20eb ol li {
	  counter-increment: list-counter;
	  display: grid;
	  grid-template-columns: 34px 1fr; /* 左：丸の幅 / 右：本文 */
	  column-gap: 12px;
	  align-items: baseline;            /* 行頭をそろえる */
	  margin: 0 0 14px 0;              /* 項目の下余白 */
	  line-height: 1.7;                /* 本文行間 */
	}

	/* 丸番号（左カラムに収まる） */
	.elementor-element-dba8a06 ol li::before,.elementor-element-c5c20eb ol li::before {
	  content: counter(list-counter);
	  inline-size: 32px;               /* 丸の直径 */
	  block-size: 32px;
	  border-radius: 50%;
	  background: #e8e060;             /* 黄色 */
	  color: #333333;                      /* 数字色 */
	  font-weight: 700;
	  font-size: 16px;
	  line-height: 1;
	  display: flex;
	  align-items: center;
	  justify-content: center;
	  /* 微調整：数字がわずかに下がる場合は下を変更 */
	  transform: translateY(1px);
	}

	/* スマホで少し小さく */
	@media (max-width: 480px) {
	  .elementor-element-dba8a06a ol li,.elementor-element-c5c20eb ol li {
		grid-template-columns: 28px 1fr;
		column-gap: 10px;
	  }
	 .elementor-element-dba8a06 ol li::before,.elementor-element-c5c20eb ol li::before {
		inline-size: 26px;
		block-size: 26px;
		font-size: 14px;
		transform: translateY(0);
	  }
	}
	/*施設紹介*/

	/*苦情解決*/
	/* リストのリセット */
	.elementor-element-1438e57 ul {
	  list-style: none;
	  padding: 0;
	  margin: 0;
	  counter-reset: list-counter;
	}

	/* 各li要素 - 枠線とパディング */
	.elementor-element-1438e57 ul li {
	  counter-increment: list-counter;
	  position: relative;
	  padding: 20px 20px 20px 70px; /* 左側に丸番号用のスペース確保 */
	  margin-bottom: 20px;
	  background: #fdf6ee;
	  border-radius: 8px;
	  line-height: 1.7;
	  font-size: 0.875em; /* 14px → 0.875em */
	  color: #555;
	}

	/* 丸番号（絶対配置で左上に固定） */
	.elementor-element-1438e57 ul li::before {
	  content: counter(list-counter);
	  position: absolute;
	  left: 20px;
	  top: 20px;
	  width: 32px;
	  height: 32px;
	  border-radius: 50%;
	  background: #f0ae79;
	  color: #ffffff;
	  font-weight: 700;
	  font-size: 1em; /* 16px相当 */
	  line-height: 32px;
	  text-align: center;
	  flex-shrink: 0;
	}

	/* タイトル（strong）のスタイル */
	.elementor-element-1438e57 ul li strong {
	  display: block;
	  font-size: 1.25em; /* 20px → 1.25em */
	  font-weight: 700;
	  color: #333;
	  margin-bottom: 4px;
	}

	/* strongの直後のbrを非表示にして余白を詰める */
	.elementor-element-1438e57 ul li strong + br {
	  display: none;
	}

	/* 5番目のliの中の2つ目のstrong（長崎県運営適正化委員会）だけ16pxに */
	.elementor-element-1438e57 ul li:nth-child(5) strong:nth-of-type(2) {
	  font-size: 1em; /* 16px → 1em */
	}

	/* brタグの余白調整 */
	.elementor-element-1438e57 ul li br + br {
	  display: block;
	  content: "";
	  margin-top: 8px;
	}

	/* スマホ対応 */
	@media (max-width: 768px) {
	  .elementor-element-1438e57 ul li {
		padding: 15px 15px 15px 60px;
	  }

	  .elementor-element-1438e57 ul li::before {
		left: 15px;
		top: 15px;
		width: 28px;
		height: 28px;
		line-height: 28px;
	  }
	}

	@media (max-width: 480px) {
	  .elementor-element-1438e57 ul li {
		padding: 12px 12px 12px 52px;
	  }

	  .elementor-element-1438e57 ul li::before {
		left: 12px;
		top: 12px;
		width: 26px;
		height: 26px;
		line-height: 26px;
	  }
	}
	/*苦情解決*/
	/*お問い合わせ*/
	.elementor-580 .elementor-element.elementor-element-9664859 .premium-button .premium-button-text-icon-wrapper span {
		color: #FFFFFF;
		font-weight: bold;
		text-align: left;
	}

	.required{		
		font-size: 0.7rem;	
		font-weight: bold;
		color: #ffffff;
		margin-right: 10px;	
		padding: 0.5em 1.2rem;		
		background-color: #ae1616;		
		border-radius: 50px;		
		vertical-align: top
	}

	.contact-box{
		display: flex;
		justify-content: flex-start;
		align-items: center;
		margin-bottom:5px;
	}

	.center-button{
			display: flex;		
		    justify-content: center;		
		    flex-direction: column;		
		    width: 300px;		
		    margin: 0 auto
			bolder:5px;
	}
	
	.wpcf7 form>div, .wpcf7 form>p {
		margin-bottom: 1.2em;
		margin: 0 auto;
	}

	@media screen and (max-width: 767px) {
  .privacy a {
    font-size: 11px;
  	}
	}

	/*お問い合わせ*/

	/*archive.php*/
	.ast-archive-description{
		display:none;
	}

	body.archive .site-content {
		margin-top: 5rem;
	}
	/*single.php*/
	.ast-post-format- .ast-no-thumb .single-layout-1{
		max-width:1000px;
		margin:0 auto;
	}

	.single.ast-page-builder-template .entry-header + .entry-content{
    margin-bottom: 2em;
    max-width: 1200px;
    margin: 0 auto;
	}

	body.single img { 
	max-width: 100%; 
	height: auto; 
	}

	body.single .wp-block-image img { 
		max-width: 100% !important; 
		height: auto; 
	}

	body.single figure { 
		max-width: 100%; 
		height: auto;
	}

/* footer.php明示リンクの見た目（下線ナシ） */
.custom-footer .tel-link {
  color: inherit;
  text-decoration: none;
  border-bottom: 0;
}
.custom-footer .tel-link:hover { text-decoration: underline; }

/* archives.php明示リンクの見た目（下線ナシ） */
.search-form {
  padding: 20px;
  max-width: 800px;
  margin: 0 auto;
}

.search-submit{
	margin:50px;
}



