@charset "UTF-8";
/*
 Theme Name: SANGO Child
 Theme URI: https://saruwakakun.design
 Author: SARUWAKA
 Author URI: https://saruwakakun.com
 Template: sango-theme
 Version: 4.0
*/
/*こちらはSANGOの子テーマ用CSSです。以下にCSSを記入していきましょう。*/
h1 {
    font-size: 1.35em;
    line-height: 1.6;
    font-weight: bold;
}

.entry-content h2 {
    color: #444;
}

#content li {
    list-style: revert;
}

#content .cat-name {
    color: #fff;
}

.wp-block-heading {
    color: #ffffff;
    background-color: #72a426;
    margin-bottom: 0;
    padding: var(--wp--custom--widget--padding-vertical) var(--wp--custom--widget--padding-horizontal);
    font-size: 1.2em;
    margin-top: 0;
}

span.rate-star {
    color: #fac225;
}





.entry-content .top-title-h2 {
    border: none;
    background: none;
    margin-bottom: 20px;
    border-bottom: 2px solid var(--wp--preset--color--sango-main);
    padding-bottom: 0px;
    text-align: center;
    font-size: 1.6rem;
    color: var(--wp--preset--color--sango-main);
    font-weight: bold;
}


.page-forfront .alignfull {
    background-position: center;
}

.top-btn a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 100%;
	max-width: 300px;
	height: 60px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-decoration: none;
	transition: 0.1s;
	background-color:var(--wp--preset--color--sango-main);
	border-radius: 8px;
	margin-right: auto;
	margin-left: auto;
}

.top-btn a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 20px;
	transform: rotate(45deg) translateY(-50%);
	width: 6px;
	height: 6px;
	border-width: 2px 2px 0 0;
	border-style: solid;
	border-color: #fff;
}

.top-btn a:hover {
	background-color: #fff;
	color :var(--wp--preset--color--sango-main);
	border: 1px solid var(--wp--preset--color--sango-main);
}

.top-btn a:hover::after {
	border-color: var(--wp--preset--color--sango-main) var(--wp--preset--color--sango-main) transparent transparent;
}

.entry-content .top-title-h2:before {
    margin-right: 1rem;
}

.entry-content .top-title-h2:after {
    margin-left: 1rem;
}

/* ::before */
.entry-content .top-title-h2:before {
background: linear-gradient(-90deg, #ff5d94, transparent);
}

/* ::after */
.entry-content .top-title-h2:after {
background: linear-gradient(90deg, #ff5d94, transparent);
}


.entry-content .sgb-heading {
    margin: 0;
    background: none;
    text-align: center;
}










div#globalNavi {
    line-height: 1.6;
    font-size: 12px;
    font-family: "メイリオ", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Osaka;
}

#nav ul.nav01_width a, #nav ul.nav02_width a, #nav ul.nav03_width a, #nav ul.nav04_width a, #nav ul.nav04_width li.width_over a, #nav ul.nav05_width a {
	width: 100%;
}

div#fgroup {
    line-height: 1.6;
    font-size: 12px;
    font-family: "メイリオ", "ヒラギノ角ゴ Pro W3", "ＭＳ Ｐゴシック", Osaka;
}

#footer #footer_nav ul.footer_nav01 {
    width: 200px;
    height: 180px;
}

#footer #footer_nav ul.footer_nav02 {
    width: 250px;
    height: 180px;
}
#footer #footer_nav ul.footer_nav03 {
    width: 190px;
    height: 180px;
}

#footer .copyright {
    margin: 0;
    font-size: inherit;
    opacity: 1;
}

/* ======================================================================
   Takenaka SP Header/Footer (for tk-sp-* HTML)
   SP only via media queries
   ====================================================================== */

@media (max-width: 782px){

  :root{
    --tk-green-lite: #c5de9a;
    --tk-green:      #9cc652;
    --tk-green-dark: #7fb23b;
    --tk-border:     #d9d9d9;
    --tk-text:       #222;
    --tk-muted:      #666;

    --tk-header-h:   72px;
  }

  /* ============ SP HEADER ============ */
  #header.tk-sp-header{
    position: sticky;
    top: 0;
    z-index: 9999;

    background: #fff;
    border-top: 5px #80c31c solid;
    box-shadow: 0 1px 0 rgba(0,0,0,.10);

    width: 100%;
    margin: 0;
    padding: 0;
  }

  #header.tk-sp-header .tk-sp-bar{
    min-height: calc(var(--tk-header-h) - 12px);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;

    padding: 10px 12px;
    box-sizing: border-box;
  }

  #header.tk-sp-header .tk-sp-logo{
    display: inline-flex;
    align-items: center;
    text-decoration: none;
  }

  #header.tk-sp-header .tk-sp-logo img{
    display: block;
    width: auto;
  }

  #header.tk-sp-header summary{
    list-style: none;
  }
  #header.tk-sp-header summary::-webkit-details-marker{
    display: none;
  }

  /* MENUボタン */
  #header.tk-sp-header .tk-sp-menu{
    position: relative;
    margin: 0;
  }

  #header.tk-sp-header .tk-sp-menu-btn{
    cursor: pointer;
    user-select: none;

    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    letter-spacing: .04em;
    color: var(--tk-text);

    padding: 10px 30px 10px 10px;
    border-radius: 6px;
  }

  #header.tk-sp-header .tk-sp-menu-btn::before{
    content: "";
    position: absolute;
    right: 3px;
    top: 30%;

    width: 10px;
    height: 10px;
    border-right: 2px solid var(--tk-green);
    border-bottom: 2px solid var(--tk-green);

    transform: translateY(-50%) rotate(45deg); /* ▼ */
    transition: transform .18s ease;
  }
	
  #header.tk-sp-header .tk-sp-menu-btn::after{
    content: "";
    position: absolute;
    right: 3px;
    top: 50%;

    width: 10px;
    height: 10px;
    border-right: 2px solid var(--tk-green);
    border-bottom: 2px solid var(--tk-green);

    transform: translateY(-50%) rotate(45deg); /* ▼ */
    transition: transform .18s ease;
  }

  #header.tk-sp-header .tk-sp-menu[open] .tk-sp-menu-btn::after{
    transform: translateY(-50%) rotate(-135deg); /* ▲ */
  }

	#header.tk-sp-header .tk-sp-menu[open] .tk-sp-menu-btn::before{
    transform: translateY(-50%) rotate(-135deg); /* ▲ */
  }

  /* ============ SP MENU PANEL ============ */
  #header.tk-sp-header .tk-sp-nav{
    display: none;
  }

  #header.tk-sp-header .tk-sp-menu[open] .tk-sp-nav{
    display: block;

    position: fixed;
    left: 0;
    right: 0;
    top: var(--tk-header-h);
    bottom: 0;

    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;

    background: rgba(255,255,255,.92);
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);

    border-top: 1px solid var(--tk-border);
  }

  /* 行（a と summary統一） */
  #header.tk-sp-header .tk-sp-nav a,
  #header.tk-sp-header .tk-sp-nav summary{
    box-sizing: border-box;
    width: 100%;

    display: flex;
    align-items: center;
    justify-content: space-between;

    padding: 10px 15px;
    border-bottom: 1px solid var(--tk-border);

    text-decoration: none;
    color: var(--tk-text);

    font-size: 18px;
    line-height: 1.6;
    background: transparent;
  }

  /* 右矢印（リンク） */
  #header.tk-sp-header .tk-sp-nav a::after{
    content: "";
    flex: 0 0 auto;

    width: 7px;
    height: 7px;
    border-right: 2px solid var(--tk-green);
    border-bottom: 2px solid var(--tk-green);

    transform: rotate(-45deg);
    margin-left: 12px;
  }

  /* details矢印 */
  #header.tk-sp-header .tk-sp-nav details > summary::after{
    content: "";
    flex: 0 0 auto;
    width: 12px;
    height: 12px;
    border-right: 2px solid var(--tk-green);
    border-bottom: 2px solid var(--tk-green);
    transform: rotate(45deg); /* ▼ */
    transition: transform .18s ease;
    margin-left: 12px;
  }

  #header.tk-sp-header .tk-sp-nav details[open] > summary::after{
    transform: rotate(-135deg); /* ▲ */
  }

  /* セクション見出し */
  #header.tk-sp-header .tk-sp-nav > details > summary{
    text-decoration: underline;
  }

  /* サブ項目 */
  #header.tk-sp-header .tk-sp-nav details a{
    font-size: 16px;
    padding-left: 26px;
    color: var(--tk-text);
  }

  /* TEL */
  #header.tk-sp-header .tk-sp-tel{
    margin: 14px;
    border-bottom: 0;

    justify-content: center;
    font-weight: 800;
    letter-spacing: .02em;

    background: var(--tk-green);
    color: #fff !important;
    border-radius: 10px;
  }

  #header.tk-sp-header .tk-sp-tel::after{
    display: none;
  }



  /* iOSのフォーカス見た目抑制（任意） */
  #header.tk-sp-header summary:focus,
  #footer.tk-sp-footer summary:focus{
    outline: none;
  }
}

/* 782pxより上では、tk-sp-header/footer自体を見せない（保険）
   ※ wp_is_mobile() がズレた場合でもPCで誤表示しにくくする */
@media (min-width: 783px){
  #header.tk-sp-header,
  #footer.tk-sp-footer{
    display: none !important;
  }
}

/* ======================================================================
   Takenaka SP Footer (green panel + bottom fixed nav)
   法人名/住所/TEL は logo_footer.png を使用
   ====================================================================== */
@media (max-width: 782px){
  :root{
    --tk-green-lite: #c5de9a;
    --tk-green: #9cc652;
    --tk-green-dark: #7fb23b;
    --tk-line: #14b65a;

    --tk-bottomnav-h: 84px;
  }

  /* 下固定メニュー分、本文が隠れないように */
  body{
    padding-bottom: calc(var(--tk-bottomnav-h) + env(safe-area-inset-bottom)) !important;
  }

  /* ===== フッター本体 ===== */
  #footer.tk-sp-footer{
    margin: 0;
    padding: 0;
    background: #fff;
	  margin-bottom: 17px;
  }

  /* 免責事項 / サイトマップ */
  #footer.tk-sp-footer .tk-sp-footer-mini{
    display: flex;
    justify-content: right;
    gap: 22px;
    padding: 35px 15px;
    border-top: 1px solid rgba(0,0,0,.06);
    border-bottom: 1px solid rgba(0,0,0,.06);
    background: #fff;
        flex-wrap: wrap;
  }

  #footer.tk-sp-footer .tk-sp-footer-mini__link{
    display: inline-flex;
    align-items: center;
    gap: 6px;
    text-decoration: none;
    color: #666;
    font-size: 14px;
    font-weight: 600;
  }

  #footer.tk-sp-footer .tk-sp-footer-mini__link::before{
    content: "▶";
    color: var(--tk-green-dark);
    font-size: 12px;
    transform: translateY(-1px);
  }

  /* 緑のパネル（見本の雰囲気） */
  #footer.tk-sp-footer .tk-sp-footer-panel{
    color: #fff;
    text-align: center;
    background: url(http://takenaka-office.jp/common/img/bg_footer.png) repeat-x !important;
  }

  #footer.tk-sp-footer .tk-sp-footer-panel__inner{
    max-width: 520px;
    margin: 0 auto;
  }

  /* ロゴ画像（法人名/住所/電話が入った画像） */
  #footer.tk-sp-footer .tk-sp-footer-logo{
    display: flex;
    justify-content: center;
  }

  #footer.tk-sp-footer .tk-sp-footer-logo__img{
    display: block;
max-width: 300px;
    height: auto;
    image-rendering: auto;
	  margin-top: 5px;
  }

  #footer.tk-sp-footer .tk-sp-footer-copy{
    margin: 10px 0;
        font-size: 11px;
        padding-bottom: 10px;
  }

  /* ===== 下固定メニュー ===== */
  #footer.tk-sp-footer .tk-sp-bottomnav{
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 9999;
    padding-bottom: env(safe-area-inset-bottom);
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    background: rgba(128, 195, 28, 1);
    border-top: 1px solid rgba(255,255,255,.35);
  }

  #footer.tk-sp-footer .tk-sp-bottomnav__item{
    color: #fff;
    text-decoration: none;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    padding: 0px 6px;
    border-right: 1px solid rgb(227, 255, 227);
  }

  #footer.tk-sp-footer .tk-sp-bottomnav__item:last-child{
    border-right: 0;
  }

  #footer.tk-sp-footer .tk-ico{
    line-height: 0;
    opacity: .98;
  }

  #footer.tk-sp-footer .tk-sp-bottomnav__item svg{
    display: block;
    color: #fff; /* currentColor */
  }

  #footer.tk-sp-footer .tk-label{
    font-size: 12px;
    letter-spacing: .04em;
  }

  /* LINEだけ丸バッジ風 */
  #footer.tk-sp-footer .tk-line .tk-ico{
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    background: var(--tk-line);
    box-shadow: 0 2px 0 rgba(0,0,0,.12);
  }

  #footer.tk-sp-footer .tk-line-badge{
    font-size: 14px;
    font-weight: 900;
    letter-spacing: .02em;
  }

	a.tk-sp-bottomnav__item.tk-line {
    background: #00ba00;
}

  #footer.tk-sp-footer .tk-sp-bottomnav__item:active{
    opacity: .85;
  }
}

/* 念のため：PCではこのSPフッターを表示しない */
@media (min-width: 783px){
  #footer.tk-sp-footer{ display:none !important; }
}

@media (max-width: 783px){
	body #content #inner-content .entry-content .btn { padding: 1rem 0.5rem;}
}
