/*
Theme Name:サンフラワー法律事務所テーマ
Description:サンフラワー法律事務所テーマ
Author:中村屋
Version:0.1
*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

/*================================================
 *  CSSリセット
 ================================================*/
* { margin:0; padding:0; border:0; outline:0; vertical-align:baseline; background:transparent; word-wrap:break-word; }
header, footer { display:block; }
div, ul, section { overflow:hidden; }
table { border-collapse:collapse; border-spacing:0; table-layout:fixed; }
form, input, select, textarea { vertical-align:middle; box-sizing:border-box; }

/*================================================
 *  タグ定義
 ================================================*/
* { box-sizing:border-box; line-height:1.6; }
html, body, section { color:#000000; }
body, textarea, input, button { font-family:'Noto Sans JP', sans-serif; font-size:14px; }
body { width:100%; margin:0 auto; -webkit-text-size-adjust:none; background:#ffffff url("images/00_common/common_body.jpg") 0 0 repeat-x; }
a { background:transparent; -webkit-tap-highlight-color:rgba(0,0,0,0.5); }
a, a:link, a:visited, a:hover, a:active, a:focus { text-decoration:none; outline:none; color:#000000; }
a:hover { opacity:0.5; }
h1, h2, h3, h4 { font-weight:700; }
main h1 { font-size:16px; line-height:31px; height:33px; margin-bottom:1em; background:url("images/00_common/common_h1.jpg") 0 0 no-repeat; padding-left:26px; }
h2 { font-size:16px; line-height:28px; height:33px; margin-top:1em; margin-bottom:1em; background:url("images/00_common/common_h2.jpg") 0 0 no-repeat; padding-left:15px; }
h3 { font-size:16px; line-height:24px; margin-top:0.5em; margin-bottom:0.5em; background:url("images/00_common/common_h3.jpg") 0 center no-repeat; padding-left:15px; }
table { width:100%; border:1px solid #555555; }
th { padding:5px 10px; vertical-align:middle; border:1px solid #555555; white-space:nowrap; background-color:#eeeeee; font-weight:400; }
td { padding:5px 10px; vertical-align:middle; border:1px solid #555555; text-align:left; }
section { padding:50px 0; }
input[type="text"], input[type="email"], input[type="tel"], input[type="password"], textarea { padding:3px 5px; border:1px solid #8f8f9d; background-color:#ffffff; }
input[type="checkbox"] { display:none; }
textarea { height:10em; }
input[type="checkbox"]+label { position:relative; display:inline-block; padding:0 30px; width:auto; cursor:pointer; }
input[type="checkbox"]+label::before { position:absolute; display:block; content:''; width:16px; height:16px; top:50%; left:5px;  margin-top:-8px; border:1px solid #555555; }
input[type="checkbox"]+label::after  { position:absolute; display:block; content:''; width:5px;  height:9px;  top:50%; left:10px; margin-top:-7px; border-right:3px solid #000000; border-bottom:3px solid #000000; transform:rotate(45deg); opacity:0; }
input[type="checkbox"]:checked+label::after { opacity:1; }
input[type="submit"], button { padding:10px 25px; border:1px solid #8f8f9d; border-radius:5px; background-color:#e9e9ed; width:250px; cursor:pointer; }
@media (any-hover:hover) { input[type="submit"]:hover, button:hover { background-color:#d0d0d7; } }
img { display:block; }
ul { list-style-type:disc; margin-top:1em; margin-bottom:1em; }
li { margin-left:1em; }
p+p { margin-top:1em; }
p+figure { margin-top:1em; }
figure+p { margin-top:1em; }
u { text-decoration:none; border-bottom:4px double #999999; padding-bottom:2px; }

/*================================================
 *  ヘッダ・ナビ
 ================================================*/
header { display:flex; justify-content:space-between; align-items:center; height:214px; }
#header_right { display:flex; justify-content:flex-end; }
#header_right a {  background-color:#cb8638; color:#ffffff; border-radius:5px; padding:10px 25px; font-size:20px; }

/* サイドバー */
#search_form { display:flex; justify-content:space-between; margin-bottom:15px; }
#search_form input { width:144px; }
#search_form button { width:50px; padding:2px 0; }
aside nav a { display:block; background:url("images/00_common/side_menu_m.jpg") 0 0 no-repeat; margin-bottom:3px; height:40px; line-height:40px; font-size:14px; padding-left:18px; font-weight:700; }
@media (any-hover:hover) { aside nav a:hover { background-image:url("images/00_common/side_menu_m_on.jpg"); opacity:1; } }
#side_banner { margin-top:10px; }
#side_banner img { margin-bottom:10px; }

/* スマホメニューボタン */
.sp_menu_button { display:none; }

/*================================================
 *  パンくずリスト
 ================================================*/
.breadcrumb { margin-bottom:25px; }
.breadcrumb ol { list-style:none; }
.breadcrumb li { margin-left:0; display:inline; }
.breadcrumb li+li::before { content:'>'; margin-left:10px; margin-right:10px; }

/*================================================
 *  フッタ
 ================================================*/
footer { padding:10px 0 50px; border-top:1px solid #fce06a; }
footer nav { display:flex; justify-content:center; }
footer nav a:not(:last-child) { margin-right:25px; }
.copyright { text-align:center; margin-top:25px; font-size:85%; }

/*================================================
 *  ページトップへの戻り
 ================================================*/
.go_to_top { display:block; position:fixed; bottom:2vw; right:2vw; width:60px; height:60px; background-color:#ffcb00; color:#ae2224; font-size:36px; font-weight:700; line-height:60px; text-align:center; z-index:10; text-decoration:none; }
.go_to_top:hover { background-color:#008c1d; color:#ffffff; cursor:pointer; }

/*================================================
 *  ページ共通
 ================================================*/
/* ブロック要素 */
.inner { width:802px; margin-left:auto; margin-right:auto; }
.body_wrapper { display:flex; justify-content:space-between; padding-top:25px; padding-bottom:80px; }
.body_wrapper aside { width:205px; }
.body_wrapper main  { width:565px; }
.indent { text-indent:1em; }
.left   { text-align:left; }
.center { text-align:center; }
img.center { display:block; margin-left:auto; margin-right:auto; }
.right  { text-align:right; }
.object_fit { display:block; object-fit:cover; width:100%; }
.under_construction { margin:100px 0; font-size:48px; text-align:center; }
.lead { margin-bottom:1em; }
.wp-block-table thead { border-bottom-width:1px !important; }
.error { font-weight:700; text-align:center; font-size:24px; color:#ff0000; }

/* 文字要素 */
.nobr { white-space:nowrap; display:inline-block; }
.message { color:#ff0000; font-weight:700; }
.f_req:after { content:'必須'; font-size:85%; display:inline-block; border-radius:5px; color:#ffffff; background:#ff0000; padding:5px; line-height:1; }
.f_opt:after { content:'任意'; font-size:85%; display:inline-block; border-radius:5px; color:#000000; background:#ffffff; padding:5px; line-height:1; }
main a, main a:link, main a:visited, main a:hover, main a:active, main a:focus { color:#0000ff; text-decoration:underline; }

/*================================================
 *  ページ別定義
 ================================================*/
/* TOPページ */
.top_message { margin-bottom:10px; }

/* 事務所概要 */
.aboutus_table th { width:120px; }

/* お問合せ */
.contact_table th { width:140px; }
.contact_table td { width:calc(100% - 140px); }
.contact_table input, .contact_table textarea { width:100%; }
.contact_table .postal-code { width:100px; }
.contact_table .tel         { width:200px; }
#contact_submit { margin-top:10px; margin-left:auto; margin-right:auto; }


/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  タブレット
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:800px) {


}


/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  スマートフォン
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media screen and (max-width:480px) {

}


/*■■■■■■■■■■■■■■■■■■■■■■■■■
 *  印刷画面
 ■■■■■■■■■■■■■■■■■■■■■■■■■*/
@media print {

/* タグ定義 */
main h1, h2, h3 { background-image:none; padding-left:0; }

/* メニュー */
aside nav a { background-image:none; padding-left:0; }




}
