@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
*/

/* ========================================
   共通ユーティリティ（全ページ）
   ======================================== */

/* PC表示 / SP非表示 */
@media screen and (min-width:600px){
.sp {
  display:none;
}
.l-mainContent__inner>.post_content {
  padding: 0!important;
}
/* パンくず */
.p-breadcrumb {
    padding: 1em 0;
}
.tel_link {
  pointer-events: none;
}
}

/* SP表示 / PC非表示 */
@media screen and (max-width:599px){
.sp {
  display:block;
}
.pc {
  display:none;
}
/* SP文字揃え */
.sp_t_l {text-align:left!important;}
.sp_t_r {text-align:right!important;}
.sp_t_c {text-align:center!important;}

	/* SPフォント調整 */
.spxf {
  font-size: 0.75em;
}
.spmf {
  font-size: 0.65em;
}
/* パンくず */
.p-breadcrumb {
    padding: 0.8em 0;
}
}

/* パディング消し */
.p_0 {padding: 0!important;}

/* ボタン影なし */
.is-style-btn_normal a, .is-style-btn_shiny a {
    box-shadow: none!important;
}

/* ボタンホバーアクション */
.swell-block-button__link,
.is-style-btn_normal a,
.is-style-btn_shiny a,
.w-header .contact a {
    transition: opacity 0.2s ease;
}
.swell-block-button__link:hover,
.is-style-btn_normal a:hover,
.is-style-btn_shiny a:hover,
.w-header .contact a:hover {
    opacity: 0.75;
}

/* 下線マーカー */
.mark_yellow {
    background: -webkit-linear-gradient(transparent 75%,var(--color_mark_yellow) 0%)!important;
    background: linear-gradient(transparent 75%,var(--color_mark_yellow) 0%)!important;
}


/* ========================================
   コンテンツ共通（全ページ）
   ======================================== */

.mincho {
  font-family: 'Noto Serif JP', sans-serif;
}

.l-content {
	margin-bottom: 0;
	padding-top: 0;
}

/* 投稿・アーカイブページのみ余白あり */
#body_wrap.single .l-content,
#body_wrap.archive .l-content {
	margin-bottom: 6em;
	padding-top: 4em;
}
.p-termContent {
    margin-top: 0!important;
}
.l-mainContent__inner>.post_content {
	margin: 0;
}
/* ページタイトルを非表示 */
h1.c-pageTitle {
	visibility:hidden;
	height: 0;
  overflow: hidden;
}

/* 各固定ページ コンテンツエリア共通余白 */
#page_blog,
#page_service,
#page_about,
#page_privacy,
#page_sitemap {
    padding: 6em 0;
}

/* ========================================
   トップページ
   ======================================== */

/* ------ メインビジュアル (.top_mv) ------ */
@media (min-width:960px){
.top_mv {
  background: url(https://eijirou-miyazaki.com/wp-content/uploads/2026/11/miyazaki-top-mv-bg.jpg) no-repeat center;
  background-size: cover;
  height: 600px;
  display: flex;
  justify-content: center;
  align-items: center;
}
.top_mv .wp-block-image {
  margin-bottom: 0;
}

/* ------ 第1セクション (#top_first) ------ */
#top_first {
  padding: 68px 0;
}
#top_first .is-style-kakko_box {
    padding: 0;
}

/* ------ 第2セクション (#top_second) ------ */
#top_second {
  padding: 100px 0;
  margin-bottom: 0;
}
#top_second .fukidashi_area p {
  width: 100%;
  margin-bottom: 0;
  border-radius: 5px;
  padding: 1em 0.25em;
}

/* ------ お問い合わせエリア (.top_contact) ------ */
.top_contact {
  max-width: 1000px;
  margin: 0 auto;
  padding: 30px 100px 60px!important;
}
.top_contact .swell-block-columns__inner {
  justify-content: center;
}
.top_contact .btn_size{
  width: 450px;
  margin: auto;
}
.top_contact .tel_link {
  letter-spacing: 0;
  white-space: nowrap;
}

/* ------ 第3セクション / Q&A (#top_third) ------ */
#top_third {
  padding: 83px 15px;
}
#top_third .c-balloon__text {
    max-width: 100%;
    width: calc(100% - 80px);
    padding: 20px;
    position: relative;
}
#top_third .c-balloon .c-balloon__text>p {
  padding-left: 1.5em;
  position:relative;
}
#top_third .-bln-left .c-balloon__text>p:before {
  content: "Q.";
  color: #026E58;
  font-size: 1.25em;
  font-weight: bold;
  position:absolute;
  top: 0;
  left: 0;
}
#top_third .-bln-right .c-balloon__text>p:before {
  content: "A.";
  color: #90be33;
  font-weight: bold;
  position:absolute;
  top: 0;
  left: 0;
}

/* ------ マップエリア (.top_map) ------ */
.top_map .wp-block-group__inner-container {
  max-width: 100%;
}

/* ------ サービスエリア (.top_service_*) ------ */
.top_service_head {
  min-height: 400px!important;
  padding: 84px 0 0!important;
  align-items: flex-start!important;
}
.top_service_contents {
  padding-bottom: 100px!important;
}
.top_service_contents .service_box {
  padding: 0 0 40px!important;
}
.post_content .top_service_contents .service_column {
  /* transform: translateY(-160px); */
  margin-top: -80px!important;
  position: relative;
  z-index: 9;
}

/* ------ 対応エリア (.top_taiou_area) ------ */
.top_taiou_area {
  padding: 100px 40px;
}
.top_taiou_area .is-style-btn_normal a {
  padding: 1em;
}

/* ------ お客様の声 (.top_voice_*) ------ */
.top_voice_head {
  min-height: 340px!important;
  padding: 84px 0 0!important;
  align-items: flex-start!important;
}
.top_voice_contents {
  padding-bottom: 100px!important;
}
.post_content .top_voice_contents .voice_boxes {
  /* transform: translateY(-180px); */
  margin-top: -180px!important;
  position: relative;
  z-index: 9;
}
.top_voice_contents .voice_box {
  padding: 60px 60px 52px 60px;
}

/* ------ アクセス (.top_access) ------ */
.top_access {
  padding: 80px 40px 0;
}

/* ------ ブログ (.top_blog) ------ */
.top_blog {
  padding: 80px 40px 100px;
}
}

/* ===== トップページ SP (max-width:959px) ===== */
@media (max-width:959px){
  /* メインビジュアル */
  .top_mv {

  }
  .top_mv .wp-block-image {
    margin-bottom: 0;
  }

  /* 第1セクション */
  #top_first {
    padding: 34px 4vw;
  }
  #top_first .is-style-kakko_box {
      padding: 1.5em 0;
      line-height: 1.5;
  }

  /* 第2セクション */
  #top_second {
    padding: 50px 4vw;
    margin-bottom: 0;
  }
  #top_second .fukidashi_area p {
    width: 100%;
    margin-bottom: 0;
    border-radius: 5px;
    padding: 1em 0.25em;
  }
  #top_second .tri_arrow img {
    width: 60%;
  }

  /* お問い合わせエリア */
  .top_contact {
    max-width: 1000px;
    padding: 30px 1.5em!important;
  }
  .top_contact .swell-block-columns__inner {
    justify-content: center;
  }
  .top_contact .btn_size{
    width: 100%;
  }
  .top_contact .logo {
    padding: 0 10px;
  }

  /* 第3セクション / Q&A */
  #top_third {
    padding: 42px 4vw;
  }
  #top_third .c-balloon__text {
      max-width: 100%;
      width: 100%;
      padding: 10px;
      position: relative;
  }
  #top_third .c-balloon .c-balloon__text>p {
    padding-left: 1.5em;
    position:relative;
  }
  #top_third .-bln-left .c-balloon__body {
    padding: 4px 0 4px 24px;
  }
  #top_third .-bln-left .c-balloon__text>p:before {
    content: "Q.";
    color: #026E58;
    font-size: 1.25em;
    font-weight: bold;
    position:absolute;
    top: 0;
    left: 0;
  }
  #top_third .-bln-right .c-balloon__body {
    padding: 4px 24px 4px 0;
  }
  #top_third .-bln-right .c-balloon__text>p:before {
    content: "A.";
    color: #90be33;
    font-weight: bold;
    position:absolute;
    top: 0;
    left: 0;
  }

  /* マップ */
  .top_map .wp-block-group__inner-container {
    max-width: 100%;
  }

  /* サービスエリア */
  .top_service_head {
    min-height: 170px!important;
    padding: 42px 0 0!important;
    align-items: flex-start!important;
  }
  .top_service_contents {
    padding-bottom: 50px!important;
  }
  .top_service_contents .service_box {
    padding: 0 4vw 1.5em!important;
  }
  .post_content .top_service_contents .service_column {
    /* transform: translateY(-160px); */
    margin-top: -40px!important;
    position: relative;
    z-index: 9;
  }

  /* 対応エリア */
  .top_taiou_area {
    padding: 50px 20px;
  }
  .top_taiou_area .is-style-btn_normal a {
    padding: 1em;
  }

  /* お客様の声 */
  .top_voice_head {
    min-height: 170px!important;
    padding: 42px 0 0!important;
    align-items: flex-start!important;
  }
  .top_voice_contents {
    padding-bottom: 50px!important;
  }
  .post_content .top_voice_contents .voice_boxes {
    /* transform: translateY(-180px); */
    margin-top: -60px!important;
    position: relative;
    z-index: 9;
  }
  .top_voice_contents .voice_box {
    padding: 30px;
  }

  /* アクセス */
  .top_access {
    padding: 40px 4vw 0;
  }

  /* ブログ */
  .top_blog {
    padding: 40px 4vw 50px;
  }
}

/* ========================================
   フッター
   ======================================== */

/* フッター直前エリア */
.w-beforeFooter {
    margin: 0 auto 0!important;
    overflow: hidden;
}

/* ------ フッター第1エリア ------ */
@media (min-width:960px){
.footer_first {
  padding: 100px 0!important;
}

/* ------ お問い合わせエリア ------ */
.foot_contact {
  padding: 60px!important;
}
.foot_contact .is-style-btn_normal a {
  padding: 1em;
}

/* ------ メニューエリア ------ */
.footer_menu {
  padding: 80px 0 60px!important;
}
}

/* ロゴテキスト装飾（横線） */
.foot_logo_text {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 30px;
  margin: 0;
}
.foot_logo_text span {
  padding: 0;
}
.foot_logo_text:before,
.foot_logo_text:after {
  content: "";
  display: block;
  flex: 0 0 30px;
  height: 1px;
  background: #000;
  position: static;
  transform: none;
}

/* ------ フッターナビメニュー ------ */
.menu-foot-nav1-container,
.menu-foot-nav2-container,
.menu-foot-nav3-container,
.menu-foot-nav4-container {
  margin-bottom: 0!important;
}
.footer_menu p {
  margin-bottom: 0!important;
}
/* MENUタイトル */
.footer_menu p.menu_ttl {
  margin-bottom: 1em!important;
}
.footer_menu ul {
  padding-left: 0!important;
}
/* 各メニュー項目 */
.footer_menu li {
  margin: 0 0 1em;
  list-style: none !important;
}
/* 先頭の「-」 */
.footer_menu li:before {
  content: "-";
}
.footer_menu li a {
  font-size: 0.825em;
  color: #fff !important;
}

/* ------ SP ------ */
@media (max-width:600px){
  .w-beforeFooter {
      margin: 3em auto 3em;
      overflow: hidden;
  }
  .l-footer .copyright {
    font-size: 10px;
  }
}

/* ========================================
   お問い合わせフォーム
   ======================================== */

/* Turnstileの配置 */
.form-turnstile {
  display: flex;
  justify-content: center;
  margin: 0 auto 24px;
}
.form-turnstile p {
  margin: 0;
}

/* ------ テーブル基本リセット ------ */
#contact_form table {
  width: 100%;
  border-collapse: collapse;
}
#contact_form table,
#contact_form tr,
#contact_form th,
#contact_form td {
  border: none !important;
  background: none !important;
}
/* th・td内のpタグの余白リセット */
#contact_form th p,
#contact_form td p {
  margin: 0 !important;
}
/* formbt内のpタグの余白リセット */
#contact_form .formbt p {
  margin: 0 !important;
}

@media (min-width:960px){
  #contact_form {
    padding: 90px 0 100px;
  }
  #contact_form table {
    max-width: 850px;
    margin: 2em auto 54px;
    position: relative;
  }
  #contact_form tr {
    text-align: left;
  }

  /* ------ ラベル（th） ------ */
  #contact_form th {
    width: 240px;
    padding: 25px 0 34px;
    vertical-align: middle;
    line-height: 1;
  }
  #contact_form th p {
    line-height: 1;
    font-weight: bold;
  }

  /* ------ 必須バッジ ------ */
  #contact_form th .his {
    color: #fff;
    background: #026E58;
    font-size: 11px;
    line-height: 1;
    padding: 3px 5px;
    float: right;
  }

  /* ------ 入力エリア（td） ------ */
  #contact_form td {
    padding: 15px 0 15px 30px;
  }

  /* ------ 入力フィールド ------ */
  #contact_form form input[type="text"],
  #contact_form form input[type="tel"],
  #contact_form form input[type="email"],
  #contact_form form input[type="date"],
  #contact_form form select {
    width: 100%;
    padding: 1.2em;
    border: solid 1px #e7e7e7;
    border-radius: 0;
    line-height: 1;
  }
  #contact_form form textarea {
    padding: 1.5rem 2rem;
    width: 100%;
    height: 165px;
    border: solid 1px #e7e7e7;
  }
  #contact_form form input::placeholder,
  #contact_form form textarea::placeholder {
    color: #999999;
  }

  /* ------ 送信ボタン ------ */
  #contact_form .formbt {
    display: flex;
    justify-content: center;
    margin-top: 40px;
  }
  #contact_form form input[type="submit"] {
    background: #026E58;
    color: #fff;
    display: inline-block;
    width: 300px;
    height: 60px;
    border: none;
    cursor: pointer;
  }
  #contact_form form input[type="submit"]:hover {
    opacity: 0.7;
  }
}

/* ===== SP ===== */
@media screen and (max-width:959px) {
  #contact_form {
    padding: 45px 0 50px;
  }
  #contact_form table {
    width: 100%;
    margin: 2em 0 24px;
  }
  #contact_form tr {
    text-align: left;
  }

  /* ------ ラベル（th） ------ */
  #contact_form th {
    width: 100%;
    padding: 17px 0 10px;
    display: block;
    line-height: 1;
  }
  #contact_form th p {
    line-height: 1;
    font-weight: bold;
  }

  /* ------ 必須バッジ ------ */
  #contact_form th .his {
    color: #fff;
    background: #026E58;
    font-size: 10px;
    line-height: 1;
    padding: 3px 5px;
    float: right;
  }

  /* ------ 入力エリア（td） ------ */
  #contact_form td {
    width: 100%;
    padding: 0 0 15px;
    display: block;
  }

  /* ------ 入力フィールド ------ */
  #contact_form form input[type="text"],
  #contact_form form input[type="tel"],
  #contact_form form input[type="email"],
  #contact_form form input[type="date"] {
    width: 100%;
    padding: 1.2em;
    border: solid 1px #e7e7e7;
    border-radius: 0;
    line-height: 1;
  }
  #contact_form form textarea {
    padding: 1rem;
    width: 100%;
    height: 10rem;
    border: solid 1px #e7e7e7;
  }
  #contact_form form input::placeholder,
  #contact_form form textarea::placeholder {
    color: #999999;
  }

  /* ------ 送信ボタン ------ */
  #contact_form .formbt {
    margin: 24px 0 0;
  }
  #contact_form form input[type="submit"] {
    background: #026E58;
    color: #fff;
    display: inline-block;
    width: 100%;
    height: 50px;
    border: none;
    cursor: pointer;
  }
}

/* ========================================
   下層ページ
   ======================================== */

/* セクションヘッダーバー */
@media (min-width:960px){
  .spxb {
    padding: 0.5em !important;
    border-radius: 10px 10px 0 0;
  }
}
@media (max-width:959px){
  .spxb {
    font-size: 0.8em;
    padding: 0.5em !important;
    border-radius: 5px 5px 0 0;
  }
}

/* service_fifth 余白 */
@media (min-width:960px){
  .service-content {
    padding: 80px 0 100px;
  }
}
@media (max-width:959px){
  .service-content {
    padding: 45px 4vw 50px;
  }
}

/* ========================================
   アバウトページ（参考サイトより抜き出し）
   ======================================== */

/* PC (min-width:960px) */
@media (min-width:960px){
  .about_first {
    padding: 90px 0 100px!important;
    max-width: 850px;
    margin: auto;
  }
  .about_second {
    padding: 90px 0 100px!important;
  }
  .about_second .about_table table {
    max-width: 850px;
    margin: auto;
  }
  .about_second .about_table td,
  .about_second .about_table th {
    border: none;
    border-bottom: 1px solid #000!important;
    padding: 1.5em 0!important;
  }
}

/* SP (max-width:959px) */
@media (max-width:959px){
  .about_first {
    padding: 45px 0 50px!important;
  }
  .about_second {
    padding: 45px 0 50px!important;
  }
  .about_second .about_table {
    padding: 0 4vw;
  }
  .about_second .about_table td,
  .about_second .about_table th {
    border: none;
    border-bottom: 1px solid #000!important;
    padding: 1.5em 0!important;
  }
}

/* ========================================
   ヘッダー
   ======================================== */

/* ナビ全体 */
#header .l-header__gnav .c-gnav {
    justify-content: space-between !important;
    padding: 0 3em 0 0;
}

/* 各メニュー項目のリンク */
#header .l-header__gnav .c-gnav > li > a {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0 0 24px;
    font-weight: bold;
}

/* 英語テキスト */
#header .c-gnav > .menu-item > a .c-smallNavTitle {
    font-size: 11px;
    color: #026E58;
    font-weight: normal;
    margin-top: 6px;
    white-space: nowrap;
	  opacity: 1;
}

/* ヘッダー（PCのみ：960px以上） */
@media screen and (min-width:960px){
/* ヘッダー内側の幅・余白 */
#header .l-header__inner {
  max-width: 1120px !important;
  position: relative;
  padding: 54px 0 0 !important;
}
/* ロゴエリアの余白 */
#header .l-header__logo {
  padding: 0 0 25px;
}
/* ロゴの配置 */
#header .c-headLogo {
  position: relative;
  text-align: left;
}
/* ロゴ上に画像追加 */
#header .c-headLogo:after {
  content: "";
  background-image: url(https://eijirou-miyazaki.com/wp-content/uploads/2026/11/miyazaki-head-sub.png);
  background-size: contain;
  background-repeat: no-repeat;
  display: block;
  width: 267px;
  height: 22px;
  position: absolute;
  top: -30px;
  left: 40px;
}
/* 右側エリア（電話番号+お問い合わせボタン）の配置 */
.w-header .contact img {
  height: 60px;
  width: auto;
}
.w-header__title {
  display: none !important;
}
.l-header.-parallel .w-header {
  width: 560px;
  display: block;
  margin: 0;
  position: absolute;
  top: 16px;
  right: 0;
}
.w-header .head_right {
  width: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.w-header .head_right .tel .tel_1 {
  font-size: 36px;
  font-weight: bold;
  line-height: 1;
  letter-spacing: 0;
}
.w-header .head_right .tel .tel_2 {
  font-size: 13px;
  margin-top: 0.75em;
  font-weight:bold;
}
.w-header .head_right .tel {
  text-align: center;
}
}

/* ヘッダー（SPのみ：959px以下） */
@media screen and (max-width:959px){
#header .l-header__logo {
  margin: 0 !important;
  width: 100% !important;
  padding: 0 !important;
  text-align: center;
}
#header .c-headLogo {
  width: 80%;
  margin-left: 4vw;
  text-align: center;
}
}