@charset "utf-8";
/* CSS Document */
/*-------------------------------------------*/
/*	初期設定
/*-------------------------------------------*/
:root {
    --root-font-size: 16;
	--color-main-text: #444;/*メインテキストカラー*/
    --color-main: #315C7A;/*メインカラー*/
	--color-main80: #5a7c94;/*メインカラー80%*/
	--color-main60: #839daf;/*メインカラー60%*/
	--color-main40: #acbdc9;/*メインカラー40%*/
	--color-main20: #d5dee4;/*メインカラー20%*/
	--color-main10: #eaeef1;/*メインカラー10%*/
	--color-maintrans80: rgba(49,92,122,0.8);/*メインカラー80%*/
	--color-maintrans60: rgba(49,92,122,0.6);/*メインカラー60%*/
	--color-maintrans40: rgba(49,92,122,0.4);/*メインカラー40%*/
	--color-maintrans20: rgba(49,92,122,0.2);/*メインカラー20%*/
	--color-maintrans10: rgba(49,92,122,0.1);/*メインカラー10%*/
	--color-red: #B70000;
	--color-dark-navy: #154669;
	--color-light-navy: #A5B9C7;
	--color-gray: #C7C7C7;
	--color-dark-gray: #7A7A7A;
	--color-light-gray: #F0F0F0;
	--navy-gradation: linear-gradient(to right, #154669 0%, #315C7A 100%);
	--navy-gradation-arrow: url(/images/common/arrow01-wh.png),linear-gradient(to right, #154669 0%, #315C7A 100%);
}
html {
    font-family: YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
}
body {
    font-size: calc( 16 / var(--root-font-size) * 1rem );
    line-height: 1.9;
    color: var(--color-main-text);
    font-feature-settings: "palt";
}
/*-------------------------------------------*/
/*	基本共通設定
/*-------------------------------------------*/
img {
    width: 100%;
    max-width: 100%;
    height: auto;
}

a img {
    transition: all .5s;
}

a {
    color: var(--color-main-text);
    text-decoration: none;
    transition: all .5s;
}
a:not(.wp-block-button__link):hover,
a:not(.wp-block-button__link):active {
    color: var(--color-main-text);
}
ul {
    margin: 0;
    padding: 0;
}

li {
    list-style-type: none;
}
i, em {
font-style: normal;
}
strong {
-webkit-font-smoothing: antialiased;
}
/*--見出し基本設定--*/
p, h1, h2, h3, h4, h5, h6 {
    margin: 0;
}
h1, h2, h3, h4, h5, h6 {
    line-height: 1.3em;
}

/* サイズ */

.space {
padding-top: 80px;
padding-bottom: 80px;
}
.space-t {
padding-top: 80px;
}
.space-b {
padding-bottom: 80px;
}
#content-wrap {
    padding: 0px;
    margin-bottom: 0px;
}

body.home #content-wrap {
    margin-bottom: 0px;
}
#content {
padding: 40px 0 100px;
}
body.home #content {
    padding: 0;
}
.content2col {
    display: flex;
    flex-wrap: wrap;
}

.content2col .mainContent {
    width: calc(100% - 300px);
}

/* margin */
.mt10 {
    margin-top: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mt40 {
    margin-top: 40px;
}

.mt50 {
    margin-top: 50px;
}

.mt60 {
    margin-top: 60px;
}

.mt70 {
    margin-top: 70px;
}

.mt80 {
    margin-top: 80px;
}

.mt90 {
    margin-top: 90px;
}

.mt100 {
    margin-top: 100px;
}

/*-------------------------------------------*/
/*	共通設定
/*-------------------------------------------*/
/*　文字　*/
/* フォントサイズコピペ用コード
ブラウザのデフォルトフォント1rem = 16px
なので13pxにする場合（13 / 16 = 0.8125）
*/
.font-size-dummy {
    font-size: .75rem;   /* 12px */
    font-size: .8125rem; /* 13px */
    font-size: .875rem;  /* 14px */
    font-size: 1rem;     /* 16px */
    font-size: 1.25rem;  /* 20px */
    font-size: 1.75rem;  /* 28px */
}
/*　カラー　*/
.col-main {
color: var(--color-main);
}
.col-dark-navy {
color: var(--color-dark-navy);
}
.col-red {
color: var(--color-red);
}
.adjust {
text-indent: -0.5em;
display: inline-block;
}

.text-c {
    text-align: center;
}

.text-r {
    text-align: right;
}
.font-13 {
font-size: 13px;
}
.font-14 {
font-size: 13px;
}
.font-15 {
font-size: 15px;
}
.font-16 {
font-size: 16px;
}
.font-17 {
font-size: 17px;
}
.font-18 {
font-size: 18px;
}
.font-22 {
font-size: 22px;
}
/*--line-height--*/
.l-h1 {
line-height: 1em;
}
/*--GoogleFonts--*/
.g-font-serif,
#top-mv .slide-text,
.btn a,
h1, h2,
.page-sub-ttl,
.tel-num-link,
.footer-l,
#top-pr ul li a h3 {
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
}
.font-normal {
font-family: YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
}
/*--文字揃え--*/
.text-cl-1199,
.text-cl-969,
.text-cl-800,
.text-cl-769,
.text-cl-660,
.text-cl-480,
.text-cl-370 {
    text-align: center;
}

/*--表示、非表示--*/
.sp-display-1199,
.sp-display-969,
.sp-display-800,
.sp-display-769,
.sp-display-660,
.sp-display-480,
.sp-display-370 {
    display: none;
}
.pc-display {
    display: block;
}
/*--テーブル設定--*/
/*--テーブルノーマル--*/
table {
margin-bottom: 13px;
}
table {
border-top: 1px solid var(--color-main40);
width: 100%;
}
table tr th,
table tr td {
border: 1px solid var(--color-main40);
padding: 10px 3px;
text-align: center;
vertical-align: middle;
}
table tr th {
-webkit-font-smoothing: antialiased;
background-color: var(--color-main10);
}
/*--テーブルシンプル--*/
table.simple-table tr th,
table.simple-table tr td {
border: none;
border-bottom: 1px solid var(--color-main40);
text-align: left;
padding: 25px;
}
table.simple-table tr th {
background-color: transparent;
}
/*--dl設定--*/
dl dt {
font-weight: bold;
color: var(--color-main);
}
dl dd {
margin-left: 0;
}
/*--border-radius--*/
.b-r20 {
border-radius: 20px;
}
/*--検索--*/
.search-form-style {
    position: relative;
    border: 1px solid;
    width: 100%;
}
.search-form-style #s.form-text {
    padding: 10px;
    width: calc(100% - 40px);
    border: none;
}
.search-form-style .search-btn {
    border: none;
    background-color: var(--color-main-text);
    color: #fff;
    height: 100%;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0;
    width: 40px;
}
.search-form-style .search-btn:hover {
    opacity: .9;
}
.search-form-style .search-btn svg {
    display: block; 
    padding: 2px;
}
/*　reCAPTCHA設定　*/
.grecaptcha-badge { visibility: hidden; }


/*-------------------------------------------*/
/*	装飾・レイアウト・デザイン
/*-------------------------------------------*/
/*	ボタン
/*-------------------------------------------*/
.btn a {
position: relative;
display: inline-block;
border: 1px solid var(--color-main-text);
padding: 17px 2.5em 17px 2em;
color: var(--color-main-text);
line-height: 1.3em;
min-width: 230px;
text-align: center;
background-image: url(/images/common/arrow01-bk.png);
background-position: right 10px center;
background-repeat: no-repeat;
background-size: 12px;
}
.btn a:hover {
border: 1px solid var(--color-main);
background-image: url(/images/common/arrow01-wh.png);
background-color: var(--color-main);
color: #fff;
}
.btn-navy-gradation a,
#common-contact .common-contact-tel-contact ul li.common-contact-btn a {
position: relative;
display: inline-block;
background: var(--navy-gradation-arrow);
background-position: right 15px center, left top;
background-repeat: no-repeat, no-repeat;
background-size: 18px 10px,cover;
padding: 17px 38px;
color: #fff;
line-height: 1.3em;
min-width: 230px;
text-align: center;
}
/*----btn-contact---*/
.btn-contact a {
position: relative;
display: inline-block;
background: url(/images/icon/icon-mail.png),url(/images/common/arrow01-wh.png), var(--navy-gradation);
background-position: left 15px center, right 15px center, left top;
background-repeat: no-repeat, no-repeat, no-repeat;
background-size: 20px 20px, 18px 10px, cover;
padding: 17px 50px 17px 57px;
color: #fff;
line-height: 1.3em;
min-width: 230px;
text-align: center;
}
.btn-contact a:hover {
color: #fff;
opacity: 0.7;
}
/*----blankLink---*/
a .blank-link {
background-image: url(/images/common/arrow-blank-gray.png);
background-position: right bottom;
background-repeat: no-repeat;
background-size: 0.65em;
padding: 0 0.8em 0 0;
color: var(--color-main-text);
text-decoration: underline;
}
a:hover .blank-link {
background-image: url(/images/common/arrow-blank-gray.png);
color: var(--color-main);
text-decoration: none;
}
/*デフォルトボタン*/
#content .wp-block-button__link {
background-color: var(--color-main);
}
#content .wp-block-button__link:hover {
background-color: var(--color-main60);
}
/*	見出し装飾
/*-------------------------------------------*/
/*--投稿見出し設定--*/
/*--single(詳細ページ)の見出し--*/
body.single h1.single-ttl {
    font-size: 1.4375rem;
    text-align: left;
    border-bottom: 1px solid var(--color-main);
	color: var(--color-main);
    padding: 20px 10px;
    margin-bottom: 10px;
    position: relative;
    margin-bottom: 20px;
}
body.single h1.single-ttl:before {
    content: '';
    position: absolute;
    border-bottom: 1px solid;
    left: 0;
    bottom: -1px;
    width: 60px;
    height: 1px;
}
body.single not:(#common-footinfo) h2 {
text-align: left;
border-top: 1px solid;
border-bottom: 1px solid;
padding: 15px;
font-size: 1.25rem;
}
body.single h2:after {
content: none;
}
body.single h3 {
position: relative;
border-bottom: 2px solid var(--color-maintrans60);
padding: 10px 10px 10px 1.5em;
margin-bottom: 20px;
}
body.single h3:before {
content: '⚫︎';
position: absolute;
color: var(--color-main);
left: 0.25em;
top: 11px;
font-size: 1.25em;
}
body.single h4 {
position: relative;
border-bottom: 1px solid var(--color-maintrans60);
padding: 10px 0px 5px 30px;
font-size: 120%;
margin-bottom: 20px;
}
body.single h4:before {
content: '';
position: absolute;
text-indent: -1.5em;
background-color: var(--color-main);
width: 0.9em;
height: 0.2em;
left: 4px;
top: calc(10px + 0.65em);
border-radius: 2px;
}
body.single h5 {
border-bottom: 1px solid rgba(0, 0, 0, 0.3);
padding: 10px 0 5px 5px;
font-size: 115%;
margin-bottom: 20px;
}
body.single h6 {
border-bottom: 2px dotted rgba(0, 0, 0, 0.3);
padding: 10px 0 5px 5px;
font-size: 110%;
margin-bottom: 20px;
}
/*--ttl-sand-border--*/
.ttl-sand-border,
.page .ttl-sand-border {
position: relative;
text-align: center;
padding: 0 3em !important;
border: none;
width: fit-content;
margin-left: auto;
margin-right: auto;
background-image: none;
border: none !important;
}
.ttl-sand-border:before,
.ttl-sand-border:after,
.page .ttl-sand-border:before,
.page .ttl-sand-border:after {
content: '' !important;
position: absolute !important;
border-left: none !important;
border-right: none !important;
border-top: none !important;
border-bottom: 1px solid !important;
width: 2em !important;
height: 1px !important;
top: 50% !important;
}
.ttl-sand-border:before,
.page .ttl-sand-border:before {
left: 0 !important;
}
.ttl-sand-border:after,
.page .ttl-sand-border:after {
right: 0 !important;
}
/*--ttl-vertical-borderbottom--*/
.ttl-vertical-borderbottom {
position: relative;
padding-bottom: 80px;
text-align: center;
}
.ttl-vertical-borderbottom:before {
content: '';
position: absolute;
width: 1px;
height: 60px;
background-color: var(--color-main);
left: 0;
right: 0;
bottom: 0;
margin: 0 auto;
}

/*	色背景・ボーダー共通
/*-------------------------------------------*/
.frame-bg-main,
.frame-bg-gray,
.frame-bg-white,
.frame-border-main,
.frame-border-white,
.frame-border-gray,
.section-border-main,
.section-border-main20,
.frame-square-gray,
.frame-dot-gray {
    padding: calc(0.5em + 4.1%);
}
.flex-bg-main,
.flex-bg-gray,
.flex-bg-white,
.flex-border-main,
.flex-border-gray,
.flex-border-white,
.flex-square-gray,
.flex-dot-gray {
    padding: calc(1.34% + 10px); 
}
.full-bg-main,
.full-bg-gray,
.full-bg-white,
.full-border-main,
.full-border-white,
.full-border-gray,
.full-square-gray,
.full-dot-gray {
border-radius: 0px;
}
/*----色背景---*/
.full-bg-main,
.frame-bg-main,
.flex-bg-main {
    background-color: var(--color-main10);
}
.full-bg-gray,
.frame-bg-gray,
.flex-bg-gray {
    background-color: var(--color-light-gray);
}
.full-bg-white,
.frame-bg-white,
.flex-bg-white {
    background-color: rgba(255,255,255,0.8);
}
/*----ボーダー---*/
.full-border-main,
.frame-border-main,
.flex-border-main {
    border: 1px solid var(--color-main);
}
.full-border-white,
.frame-border-white,
.flex-border-white {
    border: 1px solid rgba(255,255,255,0.8);
}
.full-border-gray,
.frame-border-gray,
.flex-border-gray {
    border: 1px solid #e0e0e0;
}
.section-border-main {
border: 15px solid var(--color-maintrans10);
}
.section-border-main20 {
border: 15px solid var(--color-maintrans20);
}
/*----ベーシックな柄背景---*/
.full-square-gray,
.frame-square-gray,
.flex-square-gray {
    background-image:url(/images/common/bg-square-gray.png);
    background-position: left top;
    background-repeat: repeat;
    background-size: 60px;
}
.full-dot-gray,
.frame-dot-gray,
.flex-dot-gray {
    background-image:url(/images/common/bg-dot-gray.png);
    background-position: left top;
    background-repeat: repeat;
    background-size: 8px;
}
/*----kakko-bracket---*/
.kakko-bracket {
position: relative;
padding: 15px 30px;
width: fit-content;
margin: 0 auto;
}
.kakko-bracket:before,
.kakko-bracket:after {
content: '';
position: absolute;
width: 15px;
height: 100%;
top: 0;
display: inline-block;
}
.kakko-bracket:before {
border-left: solid 1px;
border-top: solid 1px;
border-bottom: solid 1px;
left: 0;
}
.kakko-bracket:after {
border-top: solid 1px;
border-right: solid 1px;
border-bottom: solid 1px;
right: 0;
}
/*-------------------------------------------*/
/*	リンク設定(ヘッダー追従の場合の高さ対策)
/*-------------------------------------------*/
.page-link {
    margin-top: -30px;
    padding-top: 30px;
    }


/*-------------------------------------------*/
/*	リストメニュー
/*-------------------------------------------*/

/*	共通　リンクメニュー
/*-------------------------------------------*/
/*---link-menu---*/
ul.link-menu {
	display: flex;
	flex-wrap: wrap;
	overflow:hidden;
}
ul.link-menu > li {
    display: flex;
    list-style-type: none;
    flex-direction: column;
    margin: 0;
    line-height: 1.3em;
    font-feature-settings: "palt";
}
ul.link-menu > li a,
ul.link-menu > li .listwrap {
    display: block;
	border: 1px solid var(--color-main-text);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: calc(100% - 8px);
	height: 100%;
    padding: 18px 30px;
    margin: 4px;
    text-align: left;
    text-decoration: none;
}
ul.link-menu > li a {
background-image: url(/images/common/arrow01-bk.png);
background-position: right 10px center;
background-repeat: no-repeat;
background-size: 12px;
}
ul.link-menu > li a:hover {
background-color: var(--color-main);
border-color: var(--color-main);
color: #fff;
background-image: url(/images/common/arrow01-wh.png);
}
ul.link-menu > li a:hover img {
filter:alpha(opacity=100);
	-moz-opacity:1;
	-khtml-opacity: 1;
	opacity:1;
}
ul.link-menu > li h3 {
padding: 0;
margin: 0;
}
/*---pagelink-menu---*/
ul.pagelink-menu {
    display: flex;
	flex-wrap: wrap;
	overflow:hidden;  
}
ul.pagelink-menu > li {
    display: flex;
    list-style-type: none;
    flex-direction: column;
    margin: 0;
    line-height: 1.3em;
    font-feature-settings: "palt";
}
ul.pagelink-menu > li a {
    background-color: var(--color-main20);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    width: calc(100% - 8px);
	height: 100%;
    padding: 18px 30px;
    margin: 4px;
    text-align: center;
	text-decoration: none;
	background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" ><path fill="%23000" d="M10,15.8c-0.3,0-0.7-0.1-1-0.4l-8-8C0.5,6.8,0.5,6,1,5.4s1.4-0.5,1.9,0l7,7l7-7c0.5-0.5,1.4-0.5,1.9,0s0.5,1.4,0,1.9l-8,8C10.7,15.6,10.3,15.8,10,15.8z" /></svg>');
	background-position: right 10px center;
    background-repeat: no-repeat;
    background-size: 0.5em 0.5em;
    text-align: left;
}
ul.pagelink-menu > li a:hover {
	color: #fff;
	border-color: var(--color-main);
	background-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 20 20" ><path fill="%23fff" d="M10,15.8c-0.3,0-0.7-0.1-1-0.4l-8-8C0.5,6.8,0.5,6,1,5.4s1.4-0.5,1.9,0l7,7l7-7c0.5-0.5,1.4-0.5,1.9,0s0.5,1.4,0,1.9l-8,8C10.7,15.6,10.3,15.8,10,15.8z" /></svg>');
	background-position: right 10px center;
    background-repeat: no-repeat;
	background-size: 0.5em 0.5em;
	background-color: var(--color-main);
}

/*-------------------------------------------*/
/*	header
/*-------------------------------------------*/
header {
    position: relative;
    z-index: 9999;
    left: 0;
    right: 0;
	background-color: var(--color-light-gray);
}

header #header-inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    max-width: initial !important;

}
header #g-nav-inner {
display: flex;
flex-wrap: wrap;
align-items: center;
}
header #logo {
width: 270px;
align-self: center;
padding-left: 50px;
}

header #logo a,
header #logo a img {
    display: block;
}

header nav#main-nav ul {
    display: flex;
}

header nav#main-nav ul li a {
    position: relative;
    color: var(--color-main-text);
    padding: 8px;
    transition: initial;
}

header nav#main-nav ul li.current a,
header nav#main-nav ul li a:hover {
    color: var(--color-main-text);
}
.hamburger-menu {
    display: none;
}
/*----#header-info---*/
header #header-info {
width: 250px;
display: flex;
flex-wrap: wrap;
font-size: 15px;
}
header #header-info ul {
display: flex;
flex-direction: column;
}
header #header-info ul#header-info01 {
width: 60px;
}
header #header-info ul#header-info02 {
width: 190px;
}
header #header-info ul li {
line-height: 1.3em;
display: flex;
flex-direction: column;
flex-basis: 100%;
}
header #header-info ul li a {
color: #fff;
display: block;
text-align: center;
flex-grow: 1;
}
header #header-info ul li a span {
display: inline-block;
background-repeat: no-repeat;
background-size: 20px 20px;
padding: 13px 3px 13px 28px;
}
header #header-info ul li#header-info-recruit a {
background-color: var(--color-main);
}
header #header-info ul li#header-info-recruit a span {
background-image: url(/images/icon/icon-recruit.png);
background-position: center bottom 10px;
padding: 10px 3px 36px 3px;
display: block;
}
header #header-info ul li#header-info-contact a {
background-color: var(--color-dark-navy);
}
header #header-info ul li#header-info-contact a span {
background-image: url(/images/icon/icon-mail.png);
background-position: center left;
}
header #header-info ul li#header-info-access a {
color: var(--color-main-text);
background-color: var(--color-light-navy);
}
header #header-info ul li#header-info-access a span {
background-image: url(/images/icon/icon-map.png);
background-position: center left;
}
header #header-info ul li#header-info-recruit a:hover {
background-color: var(--color-dark-gray);
}
header #header-info ul li#header-info-contact a:hover {
background-color: var(--color-main-text);
}
header #header-info ul li#header-info-access a:hover {
background-color: var(--color-gray);
}
/*----ヘッダー固定---*/
.fixed {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 10000;
    box-shadow: 0 0 5px rgba(0,0,0,0.3);
}
.fixed header {
    background-color: rgba(255, 255, 255, 0.9);
}
.fixed header #logo {
    padding-top: 0;
}

/*-------------------------------------------*/
/*	グローバルナビ
/*-------------------------------------------*/
header nav#main-nav ul li.menu-item {
    font-size: 0.9375rem;
    position: relative; /*z-indexの指定や子要素の基準とするために指定*/
	z-index: 1; /*ドロップダウンしたメニューが隠れないように*/
    line-height: 1.3em;
 }
 header nav#main-nav ul li.menu-item a {
   display: block;    /*要素の幅いっぱいにするために指定*/
   position: relative;
 }
 header nav#main-nav > ul > li.menu-item > a:after {
   content: '';
   position: absolute;
   bottom: 0;
   left: 0;
   right: 0;
   margin: 0 auto;
   width: 86%;
   height: 2px;
   background: var(--color-main);
   transition: all .3s;
   transform: scale(0, 1);
   transform-origin: center top;
   border-radius: 5px;
 }
 header nav#main-nav > ul > li.menu-item > a:hover:after,
 header nav#main-nav > ul > li.current-menu-item > a:after {
   transform: scale(0.3, 1);
 }
 /*マウスオーバー時等にメニューの色を変更*/
 header nav#main-nav ul li.menu-item a:hover,   /*マウスオーバー時*/
 header nav#main-nav ul li.current-menu-item a,     /*現在表示されているページのメニュー*/
 header nav#main-nav ul li.current-menu-parent a,  /*現在表示されているページの親のメニュー*/
 header nav#main-nav ul li.current-post-ancestor a {
   color: var(--color-main);    
 }
 header nav#main-nav ul li ul.sub-menu {
   display: none;  /*サブメニューは最初は非表示にしておく*/
   font-size: 0.9375rem;
   box-shadow: 0 2px 4px rgba(0,0,0,.1);
   transition: opacity .25s,visibility .25s;
 }
 header nav#main-nav ul li:hover ul.sub-menu {
   display: block;    /*マウスオーバー時にサブメニューを表示する*/
   position: absolute;
   z-index: 1000;
   border-top: 1px solid #ccc;
   width: 200px;
   left: 50%;
   transform: translateX(-50%);
   box-shadow: 1px 1px 3px rgba(0,0,0,0.2);
 }
 header nav#main-nav ul li ul.sub-menu li{
   float: none;  /*サブメニューはフロートさせないので解除*/
   padding: 0;  /*親メニューのパディングを解除*/
 }
 header nav#main-nav ul li ul.sub-menu li a {  
   border: 1px solid #eee;  /*ボーダーの指定*/
   border-top: none;  /*ボーダートップは重なって太くなるので解除。一番上は ul 要素に指定*/
   padding: 10px 10px;
   background-color: #FFF;
   color: #666;
	text-align: left;
    letter-spacing: 0;
}
  header nav#main-nav ul li ul.sub-menu li a:hover {
  color: var(--color-main);
      background-color: var(--color-main10);
  }
 /*サブメニューで現在表示されているページのリンクの色を変更する*/
 header nav#main-nav ul li ul.sub-menu li.current-menu-item a {
   display: block;
   background-color: var(--color-main10); 
 }
/*-------------------------------------------*/
/*	innerなど、サイズ設定
/*-------------------------------------------*/
/*--共通inner--*/
.wp-block-column.top-inner,
.common-inner-setting,
body.archive #content-inner,
body.single #content-inner,
.common-inner {
width: 90%;
max-width: 1152px !important;
margin-left: auto;
margin-right: auto;
}
/*--投稿のアーカイブ、シングル--*/
body.single #content,
body.archive #content,
body.post-type-archive-blog #content,
body.tax-blog_cat #content,
body.tax-blog_tag #content,
body.single-blog #content {
    background-color: #fff;
}
body.post-type-archive-blog #content-inner,
body.tax-blog_cat #content-inner,
body.tax-blog_tag #content-inner,
body.single-blog #content-inner {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    align-items: flex-start;
}
body.single #content-inner main#main-content,
body.archive #content-inner main#main-content,
body.single-blog #content-inner main#main-content {
    background-color: #fff;
}
body.post-type-archive-blog #content-inner main#main-content,
body.tax-blog_cat #content-inner main#main-content,
body.tax-blog_tag #content-inner main#main-content {
width: 100%;
margin: initial;
}
body.post-type-archive-blog aside#sidebarArea,
body.tax-blog_cat aside#sidebarArea,
body.tax-blog_tag aside#sidebarArea,
body.single-blog aside#sidebarArea {
    width: 290px;
    padding-left: 10px;
}

/*--フルサイズ(幅100%)--*/
.full,
body .is-layout-constrained .full {
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
    width: 100vw;
    padding-left: calc(50vw - 50%);
    padding-right: calc(50vw - 50%);
}

/*--100vwに対してwindowsスクロールバー対策--*/
#content-inner {
    position: relative;
    overflow: hidden;
}
/*--幅--*/
.w90, .w80, .w60 {
margin-left: auto !important;
margin-right: auto !important;
}
.w90 {
width: 90%;
max-width: 950px;
}

.w80 {
width: 80%;
max-width: 900px;
}
.w60 {
width: 60%;
max-width: 600px;
}
/*-------------------------------------------*/
/*	flex設定
/*-------------------------------------------*/
.flex,
.flex-sb,
.flex-sa {
display: flex;
flex-wrap: wrap;
}

.flex-sb {
justify-content: space-between;
}

.flex-sa {
justify-content: space-around;
}

.flex50 {
width: 50%;
}
.flex49 {
width: 49%;
margin-left: 0.5%;
margin-right: 0.5%;
}

.flex33 {
width: 33.333%;
}
.flex32 {
width: 32%;
margin-left: 0.666%;
margin-right: 0.666%;
}
.flex25 {
width: 25%;
}
.flex20 {
width: 20%;
}
/*	共通投稿設定
/*-------------------------------------------*/
/*イメージ付カード式*/
.posted-list-card ul.posted-list {
    display: flex;
    flex-wrap: wrap;
}

.posted-list-card ul.posted-list li {
    width: 33.333%;
    padding: 5px;
    margin-bottom: 30px;
}
.posted-list-card ul.posted-list li a:hover {
    color: var(--color-main-text);
}
body.home .posted-list-card ul.posted-list li {
    width: 33.333%;
}

.posted-list-card ul.posted-list li h3 {
    font-size: 16px;
    font-weight: 300;
}
.posted-list-card ul.posted-list li a img {
    border: 1px solid rgba(0, 0, 0, 0.1);
}

.posted-list-card ul.posted-list li a:hover img {
    filter: alpha(opacity=70);
    -moz-opacity: 0.7;
    -khtml-opacity: 0.7;
    opacity: 0.7;
}

/*イメージ付カード式のカテゴリー欄*/
.posted-list-card ul.posted-list ul.term-list {
    display: flex;
    flex-wrap: wrap;
    margin-top: 10px;
}

.posted-list-card ul.posted-list ul.term-list li {
    margin: 0;
    width: initial !important;
    text-align: center;
    padding: 0 3px;
    font-size: 11px;
}
.single-posted-cat-list ul li a,
.posted-list-card ul.posted-list ul.term-list li a {
    background-color: rgba(255, 255, 255, 0.8);
    display: block;
    border-radius: 3px;
    border: 1px solid rgba(62, 58, 57, 0.3);
    padding: 0 7px;
    margin-bottom: 3px;
}
.single-posted-cat-list ul li a:hover,
.posted-list-card ul.posted-list ul.term-list li a:hover {
    background-color: var(--color-main-text);
    border-color: var(--color-main-text);
    color: rgba(255, 255, 255, 0.8);
}

.posted-date .date,
.posted-date .modified-date {
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 1.3em;
    padding-left: 1.5em;
    font-size: 13px;
    display: inline-block;
}

.posted-date .date {
    background-image: url(/images/icon/icon-date.png);
}

.posted-date .modified-date {
    background-image: url(/images/icon/icon-modified-date.png);
    margin-left: 5px;
}
/*イメージなしリスト式*/
.posted-list-simple ul.posted-list li a {
    display: block;
    padding: 30px 10px;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    position: relative;
}

.posted-list-simple ul.posted-list li a:hover {
    color: var(--color-main);
}

.posted-list-simple ul.posted-list li a:before {
    content: '';
    position: absolute;
    bottom: -1px;
    left: 0;
    width: 100%;
    height: 1px;
    border-bottom: 1px solid var(--color-main);
    transition: all .3s;
    transform: scale(0, 1);
    transform-origin: left bottom;
}

.posted-list-simple ul.posted-list li a:hover:before {
    transform: scale(1, 1);
}

.posted-list-simple ul.posted-list li:first-of-type {
    padding-top: 0;
}

.posted-list-simple ul.posted-list li h3,
.posted-list-simple ul.posted-list li .posted-date {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.3em;
}

.posted-list-simple ul.posted-list li .posted-date {
    width: 110px;
}

.posted-list-simple ul.posted-list li .posted-ttl {
    width: calc(100% - 110px);
    font-weight: 500;
}

.posted-list-simple ul.posted-list li a .posted-a-wrap {
display: flex;
background-image: url(/images/common/arrow01-bk.png);
background-position: right top 0.75em;
background-repeat: no-repeat;
background-size: 10px;
padding: 0 1.5em 0 0;
}

.posted-list-simple ul.posted-list li a:hover .posted-a-wrap {
background-image: url(/images/common/arrow01-navy.png);
}

/*-------------------------------------------*/
/*	TOP
/*-------------------------------------------*/
/*-------------------------------------------*/
/*	スライド
/*-------------------------------------------*/
[class*=swiper]:focus {
    outline: none;
  }
/*---スライドテキスト---*/
#top-mv {
position: relative;
}
#top-mv:before,
#top-mv:after {
content: '';
position: absolute;
left: 0;
bottom: 0;
}
#top-mv:before {
width: 45%;
height: calc(100% - 100px);
background-color: var(--color-main);
z-index: -1;
}
#top-mv:after {
width: 100%;
height: 100%;
background-color: var(--color-light-gray);
z-index: -2;
}

#top-mv .slide-text {
display: inline-block;
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
font-weight: normal;
line-height: 1.6;
position: absolute;
color: #fff;
left: 7rem;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
margin-top: 50px;
height: 16em;
}

#top-mv .slide-text h2 {
font-size: 1.75rem;
line-height: 3.25rem;
letter-spacing: 0.25em;
}
#top-mv .slide-text h2 span {
display: block;
border-left: 1px solid rgba(255,255,255,0.5);
}
#top-mv .slide-text p {
letter-spacing: 0.1em;
}
/*--スライドページネーション--*/
#top-mv .swiper-pagination {
    width: 3px;
    position: absolute;
    z-index: 1;
    top: 0;
    bottom: 0;
    left: initial;
    right: 3.2rem;
    height: -webkit-max-content;
    height: -moz-max-content;
    height: max-content;
    margin: auto;
  }
#top-mv .swiper-pagination-bullet {
    background-color: rgba(255, 255, 255, 0.4);
    outline:none;  
    display: block;
    width: 3px;
    height: 4rem;
}
#top-mv .swiper-pagination-bullet-active {
    background-color: var(--color-main);
  }
#top-mv .swiper-pagination-bullet:not(:first-of-type) {
margin-top: 0.8rem;
}
/*--高さ--*/
#top-mv .swiper {
position: relative;
}
#top-mv .swiper:before {
content: '';
position: absolute;
top: 0;
right: 0;
background-color: var(--color-light-gray);
}
#top-mv .swiper:before,
#top-mv .slide-media {
    height: 54vw;
    width: calc(100% - 22rem);
    overflow: hidden;
    margin-left: auto;
}
#top-mv .slide-media {
position: relative;
  }
#top-mv .slide-media img {
	width: 100%;
    height: 100%;
-o-object-fit: cover;
object-fit: cover;
}
/*--スライドアニメーション--*/
#top-mv .slide-media img {
    -webkit-transition: 7s 1s ease-out;
    transition: 7s 1s ease-out;
  }
#top-mv .swiper-slide[class*=-active] .slide-media img {
-webkit-transition-delay: 0s;
transition-delay: 0s;
-webkit-transform: scale(1.05);
transform: scale(1.05);
}
#top-mv .swiper-fade .swiper-slide {
-webkit-transition-property: opacity, -webkit-transform !important;
transition-property: opacity, -webkit-transform !important;
transition-property: opacity, transform !important;
transition-property: opacity, transform, -webkit-transform !important;
pointer-events: none;
}
#top-mv .swiper-fade .swiper-slide-active {
pointer-events: auto;
}
#top-mv .swiper-slide[class*=-active] .slide-media img {
  -webkit-transition-delay: 0s;
          transition-delay: 0s;
  -webkit-transform: scale(1.05);
          transform: scale(1.05);
}
#top-mv .swiper-slide[class*=-active] .slide-title {
  -webkit-animation: mv01-fadeIn 2s 0.5s var(--easing) both;
          animation: mv01-fadeIn 2s 0.5s var(--easing) both;
}

  @-webkit-keyframes mv01-fadeIn {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
      opacity: 0;
      -webkit-filter: blur(300px);
              filter: blur(300px);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1;
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }

  @keyframes mv01-fadeIn {
    0% {
      -webkit-transform: scale(0.5);
              transform: scale(0.5);
      opacity: 0;
      -webkit-filter: blur(300px);
              filter: blur(300px);
    }
    100% {
      -webkit-transform: scale(1);
              transform: scale(1);
      opacity: 1;
      -webkit-filter: blur(0);
              filter: blur(0);
    }
  }

/*	#top-about
/*-------------------------------------------*/
#top-about {
position: relative;
}
#top-about:before,
#top-about:after {
content: '';
position: absolute;
top: 0;
left: 0;
}
#top-about:before {

}
#top-about:after {
width: 100%;
height: 100%;
background-color: var(--color-light-gray);
z-index: -2;
}
#top-about .top-about-img {
position: relative;
width: 45%;
padding-right: 5%;
display: flex;
align-items: flex-end;
}
#top-about .top-about-img:before {
content: '';
position: absolute;
top: 0;
left: 0;
width: 100%;
height: calc(100% - 80px);
background-color: var(--color-main);
z-index: -1;
}
#top-about .top-about-img img,
#top-about .top-about-contents {
    margin-top: 80px;
}
#top-about .top-about-img img {
object-fit: cover;
width: 100%;
height: calc(100% - 80px);
}
#top-about .top-about-contents {
width: 50%;
}
#top-about .top-about-contents ul.link-menu li {
min-width: 250px;
}
/*	#top-news
/*-------------------------------------------*/
#top-news h2 {
padding: 10px;
font-size: 2rem;
}
#top-news .top-news-wrap {
width: 100%;
max-width: 1800px;
margin: 0 auto;
}
#top-news .top-news-contents {
width: 60%;
max-width: 840px;
margin-left: auto;
padding-right: 50px;
}
#top-news .top-news-img {
width: 35%;
position: relative;
}
#top-news .top-news-img ul {
width: 100%;
position: relative;
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: flex-end;
}
#top-news .top-news-img ul li {
width: 55%;
}
#top-news .top-news-img ul li:first-of-type {
position: relative;
z-index: 2;
}
#top-news .top-news-img ul li:last-of-type {
position: absolute;
left: 0;
bottom: -50px;
z-index: 1;
}
#top-news .top-news-img ul li img {
}
/*	#top-business
/*-------------------------------------------*/
#top-business {
}
#top-business h2 {
padding: 10px 10px 20px;
}
#top-business .business-menu {
background-color: transparent;
padding: 0;
}
#top-business .business-menu ul,
#top-business .business-menu ul li {
border: none;
}
#top-business .business-menu ul li {
width: 15%;
margin: 8px 0.8333%;
}
/*	#top-pr
/*-------------------------------------------*/
#top-pr {
position: relative;
}
#top-pr:before {
content: '';
position: absolute;
width: 100%;
height: 50%;
top: 0;
left: 0;
background-color: var(--color-main);
z-index: 0;
}
#top-pr ul li {
width: 32%;
position: relative;
}
#top-pr ul li a {
display: block;
}
#top-pr ul li a h3 {
margin-bottom: 0;
z-index: 2;
text-align: center;
width: 100%;
position: relative;
font-size: 20px;
margin-top: 0.5em;
text-shadow: 0 0 10px rgba(5, 43, 69, 1.0);
}
#top-pr ul li a .top-pr-img {
position: relative;
display: flex;
align-items: center;
color: #fff;
padding: 80px 0;
overflow: hidden;
-webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1);
transition: all .3s cubic-bezier(.645, .045, .355, 1);
-webkit-transition-timing-function: cubic-bezier(.645, .045, .355, 1);
transition-timing-function: cubic-bezier(.645, .045, .355, 1);
min-height: 220px;
}
#top-pr ul li a .top-pr-img:before {
content: '';
position: absolute;
width: 100%;
height: 100%;
background-size: cover;
background-position: center center;
background-repeat: no-repeat;
z-index: 0;
top: 0;
left: 0;
-webkit-transform: scale(1);
transform: scale(1);
-webkit-transition: all .5s cubic-bezier(.645, .045, .355, 1);
transition: all .5s cubic-bezier(.645, .045, .355, 1);
-webkit-transition-timing-function: cubic-bezier(.645, .045, .355, 1);
transition-timing-function: cubic-bezier(.645, .045, .355, 1);
}
#top-pr ul li a:hover .top-pr-img:before {
-webkit-transform: scale(1.05);
transform: scale(1.05);
}
#top-pr ul li.top-pr-flow a .top-pr-img:before {
background-image: url(/images/top/top-pr-flow.jpg);
}
#top-pr ul li.top-pr-faq a .top-pr-img:before {
background-image: url(/images/top/top-pr-faq.jpg);
}
#top-pr ul li.top-pr-fee a .top-pr-img:before {
background-image: url(/images/top/top-pr-fee.jpg);
}
#top-pr ul li a .top-pr-img:after {
content: '';
width: 100%;
height: 100%;
position: absolute;
background-color: var(--color-main-text);
-webkit-transition: all .3s cubic-bezier(.645, .045, .355, 1);
transition: all .3s cubic-bezier(.645, .045, .355, 1);
-webkit-transition-timing-function: cubic-bezier(.645, .045, .355, 1);
transition-timing-function: cubic-bezier(.645, .045, .355, 1);
top: 0;
left: 0;
opacity: 0.6;
z-index: 1;
}
#top-pr a:hover .top-pr-img:after {
background-color: var(--color-main);
opacity: 0.75;
}
#top-pr a .top-pr-btn {
text-align: right;
background-image: url(/images/common/arrow01-bk.png);
background-position: right center;
background-repeat: no-repeat;
background-size: 0.8em;
width: fit-content;
margin-top: 10px;
margin-left: auto;
border-bottom: 1px solid var(--color-main-text);
line-height: 1em;
padding: 3px 4em 3px 0;
}
#top-pr a:hover .top-pr-btn {
color: var(--color-main);
background-image: url(/images/common/arrow01-navy.png);
border-color: var(--color-main);
}
/*	#top-access
/*-------------------------------------------*/
/*--top-access-top--*/
#top-access .top-access-top {
margin-top: 40px;
}
#top-access .top-access-top .top-access-gmap {
width: calc(100% - 330px);
}
#top-access .top-access-top .top-access-detrail {
width: 280px;
}
/*--top-access-bottom--*/
#top-access .top-access-bottom {
margin-top: 40px;
}
#top-access .top-access-bottom ul li {
width: 30%;
}
#top-access .top-access-bottom ul li h3 {
border-bottom: 1px solid var(--color-main40);
padding-bottom: 10px;
margin-bottom: 10px;
}
#top-access .top-access-bottom .add span,
#top-access .top-access-bottom .add em {
display: block;
}
/*	投稿
/*-------------------------------------------*/
/*---投稿共通--*/
/*--シングルページ(single.php--記事詳細ページ)--*/
body.single .posted-date {
    padding-left: 10px;
}
body.single .single-posted-term-block h3 {
    padding: 5px 5px 0;
    margin-bottom: 5px;
    border: none;
    font-size: 14px;
    border-top: 1px dashed rgba(0,0,0,0.1);
}
.single-posted-cat-list,
.single-posted-tag-list {
    margin: 5px 0;
}
.single-posted-cat-list ul,
.single-posted-tag-list ul {
    display: flex;
    flex-wrap: wrap;  
}
.single-posted-cat-list ul li,
.single-posted-tag-list ul li {
    margin: 0;
    width: initial;
    text-align: center;
    padding: 0 3px;
    font-size: 11px;
}

.single-posted-tag-list ul li a {
    background-color: rgba(0, 0, 0, 0.05);
    display: block;
    border-radius: 3px;
    padding: 0 7px;
}
.posted-content {
    margin: 2em 0 4em;
}
/*	#blog
/*-------------------------------------------*/
#blog {
    position: relative;
}
#blog .top-inner {
    position: relative;
}

#blog .btn-posted-archive {
    position: absolute;
    top: 60px;
    right: 10px;
}

/*--#news--*/
#news {
    background-color: var(--color-main10);
}

#news .top-inner {
    border-top: 1px solid rgba(62, 58, 57, 0.3);
    border-bottom: 1px solid rgba(62, 58, 57, 0.3);
    padding: 30px 0;
}

#news .news-ttl-contents {
    width: 30%;
    padding-top: 30px;
    padding-bottom: 30px;
}

#news .btn-posted-archive {
    margin-top: 60px;
}

#news .news-text-contents {
    width: 70%;
    border-left: 1px solid rgba(62, 58, 57, 0.3);
    padding-top: 40px;
    padding-bottom: 40px;
    padding-left: 80px;
}
/*-------------------------------------------*/
/*	トップコンテンツ
/*-------------------------------------------*/
/*-------------------------------------------*/
/*	共通コンテンツ
/*-------------------------------------------*/
/*	#common-footinfo
/*-------------------------------------------*/
#common-footinfo {
background-image: url(/images/common/common-contact-bg01.jpg);
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
text-align: center;
padding: 100px 0;
}
#common-contact {
width: 90%;
max-width: 956px;
margin: 0 auto;
background-color: #fff;
padding: 50px;
}
#common-contact .common-contact-tel-contact {
border-top: 1px solid var(--color-main40);
padding-top: 25px;
margin-top: 15px;
}
#common-contact .common-contact-tel-contact ul li {
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 50%;
}
#common-contact .common-contact-tel-contact ul li.common-contact-tel a.telnum span {
font-size: 40px;
line-height: 1em;
background-image: url(/images/icon/icon-tel.png);
background-position: left bottom 0.2em;
background-repeat: no-repeat;
background-size: 0.85em;
padding: 0 0 0 1em;
color: var(--color-dark-navy);
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a {
color: #fff;
display: flex;
width: 100%;
flex-grow: 1;
justify-content: center;
align-items: center;
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a:hover {
opacity: 0.7;
}
/*-------------------------------------------*/
/*	下層
/*-------------------------------------------*/
/*--下層タイトル周り--*/
#page-ttl {
position: relative;
padding: 130px 50px;
}
#page-ttl:before {
content: '';
position: absolute;
width: 100%;
left: 0;
}
#page-ttl:before {
height: 100%;
bottom: 0;
background-image: url(/images/common/common-page-ttl.jpg);
background-position: left center;
background-repeat: no-repeat;
background-size: cover;
z-index: -3;
}
#page-ttl .page-ttl-imgbox {
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
z-index: -2;
}
#page-ttl .page-ttl-imgbox:before {
content: '';
position: absolute;
width: 100%;
height: 50px;
top: 0;
left: 0;
background-color: var(--color-light-gray);
z-index: -2;
}
#page-ttl img {
position: absolute;
width: 83%;
height: calc(100% - 50px);
-o-object-fit: cover;
object-fit: cover;
display: block;
right: 0;
top: 0;
z-index: -1;
}
#page-ttl-inner {
max-width: initial !important;
}
.page-ttl-text {
font-size: 1.65rem;
font-weight: bold;
-webkit-font-smoothing: antialiased;
font-family: YuGothic, 'Yu Gothic', 游ゴシック体, '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'MS ゴシック', 'MS Gothic', sans-serif;
color: rgba(255, 255, 255, 1.0);
}
.page-sub-ttl {
position: relative;
font-size: 6rem;
color: rgba(255,255,255,1.0);
display: block;
line-height: 1em;
padding-bottom: 15px;
margin-bottom: 15px;
font-weight: 100;
}
/*--プライバシーポリシー--*/
#page-privacy .page-sub-ttl {
font-size: 5rem;
}

/*--h3---*/
.page:not(.home) h3 {
position: relative;
border-bottom: 1px solid var(--color-maintrans40);
padding: 14px 0px 14px 30px;
font-size: 18px;
margin-bottom: 20px;
}
.page:not(.home) h3:before {
content: '';
position: absolute;
text-indent: -1.5em;
background-color: var(--color-main);
width: 0.9em;
height: 0.1em;
left: 4px;
top: calc(14px + 0.6em);
border-radius: 2px;
}
/*--h4---*/
.page:not(.home) h4 {
position: relative;
padding: 0px 0px 0px 30px;
font-size: 17px;
margin-bottom: 20px;
}
.page:not(.home) h4:before {
content: '■';
position: absolute;
color: var(--color-main);
width: 0.9em;
height: 0.2em;
left: 4px;
top: 0px;
}
/*--h5---*/
.page:not(.home) h5 {
font-size: 16px;
border-bottom: 2px dotted var(--color-main40);
padding: 0 0 10px;
margin-bottom: 15px;
}
/*--h6---*/
.page:not(.home) h6 {
font-size: 15px;
border-bottom: 1px dotted rgba(0, 0, 0, 0.3);
padding: 0 0 10px;
margin-bottom: 15px;
}
/*--ぱんくずリスト--*/
#breadcrumb {
    padding: 10px 0;
}
#breadcrumb .fbc-page .fbc-wrap {
    display: flex;
    justify-content: flex-end;
}
#breadcrumb .fbc-page .fbc-wrap .fbc-items {
    background-color: transparent;
    line-height: 1.3em;
}
#breadcrumb .fbc-page .fbc-wrap .fbc-items li {
    padding: 0px 2px;
}
#breadcrumb .fbc-page .fbc-wrap .fbc-items li:first-child {
    padding-left: 0;
}
/*--電話--*/
.tel-num-link span {
line-height: 1em;
background-image: url(/images/icon/icon-tel.png);
background-position: left bottom 0.2em;
background-repeat: no-repeat;
background-size: 0.85em;
padding: 0 0 0 1em;
color: var(--color-dark-navy);
}

/*	弁護士紹介
/*-------------------------------------------*/
#page-lawyer #content {
padding-bottom: 0;
}
/*--lawyer-pic-block--*/
.lawyer-pic-block .lawyer-pic-text {
display: flex;
justify-content: center;
width: 50%;
}
.lawyer-pic-block .lawyer-pic-text p {
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
text-align: left;
font-size: 26px;
letter-spacing: 0.2em;
line-height: 2em;
margin: 50px auto;
}
.lawyer-pic-block .lawyer-pic-text p span {
background-image: url(/images/common/deco-quotation01.png), url(/images/common/deco-quotation02.png);
background-position: right top, left bottom;
background-repeat: no-repeat, no-repeat;
background-size: 1em, 1em;
padding: 1.5em 0.75em 1.5em 0;
display: block;
color: var(--color-main);
font-weight: 500;
height: fit-content;
}
.lawyer-pic-block .lawyer-pic-img {
width: 45%;
}
.lawyer-pic-block .lawyer-pic-img img {
    box-shadow: 30px 30px 0 var(--color-main20);
}
/*--lawyer-message-block--*/
.lawyer-message-block {
margin-top: -180px;
padding-top: 60px;
padding-bottom: 80px;
}
.lawyer-message-block-name {
width: 45%;
}
.lawyer-message-block-name .name {
font-size: 1.85rem;
letter-spacing: 0.1em;
}
.lawyer-message-block-name .name em {
font-size: 0.85em;
}
.lawyer-message-block-name dt {
    font-weight: bold;
    color: var(--color-main);
    margin-top: 15px;
}
.lawyer-message-block-name dd {
margin-left: 0;
}
.lawyer-message-block-text {
width: 100%;
}
.lawyer-message-block-text .deco-eng {
position: relative;
font-size: 2rem;
font-weight: 200;
color: var(--color-main);
margin-top: 20px;
margin-bottom: 20px;
}
.lawyer-message-block-text .deco-eng:after {
content: '';
position: absolute;
width: calc(100% - 150px);
height: 1px;
top: 50%;
right: 0;
background-color: var(--color-main40);
}
/*--よく取り扱う分野--*/
ul.lawyer-field {
display: flex;
flex-wrap: wrap;
}
ul.lawyer-field li {
position: relative;
padding: 0 0.25em 0 0;
}
ul.lawyer-field li:before {
content: '/';
padding-right: 0.25em;
display: inline-block;
}
ul.lawyer-field li:first-of-type:before {
content: none;
}
/*--略歴--*/
.lawyer-reki-block ul li {
    list-style-type: none;
    padding: 18px 10px;
    margin: 0;
    overflow: hidden;
    font-size: 15px;
    display: flex;
    line-height: 1.3em;
}
.lawyer-reki-block ul li:nth-of-type(odd) {
background-color: var(--color-main10);
}
.lawyer-reki-block ul li .year {
    margin-right: 1em;
    width: 8em;
    display: block;
position: relative;
}
.lawyer-reki-block ul li .year:after {
    content: '';
    position: absolute;
    width: 2em;
    right: 0em;
    border-bottom: 2px dotted rgba(0,0,0,0.2);
    top: 0.75em;
}
.lawyer-reki-block ul li .reki-text {
display: block;
width: calc(100% - 8em);
}
/*--役職・所属団体--*/
.lawyer-position-block h2 {
width: 220px;
font-size: 19px;
color: var(--color-main);
}
.lawyer-position-block ul {
width: calc(100% - 220px);
}
.lawyer-position-block ul li {
width: 48%;
list-style-type: disc;
}
/*--書籍--*/
.lawyer-books-block ul.flex > li {
width: 23%;
margin-left: 1%;
margin-right: 1%;
}
.lawyer-books-block ul.flex > li img {
border: 1px solid rgba(0,0,0,0.1);
}
.lawyer-books-block ul.flex > li.lawyer-books-list03,
.lawyer-books-block ul.flex > li.lawyer-books-list06 {
width: 48%;
font-size: 14px;
}
.lawyer-books-block ul.flex > li.lawyer-books-list04,
.lawyer-books-block ul.flex > li.lawyer-books-list05 {
    margin-top: -100px;
}
.lawyer-books-block ul.flex > li.lawyer-books-list03 {
margin-top: 30px;
}
.lawyer-books-block ul.flex > li.lawyer-books-list04 {
order: 5;
}
.lawyer-books-block ul.flex > li.lawyer-books-list05 {
order: 6;
}
.lawyer-books-block ul.flex > li.lawyer-books-list06 {
order: 4;
align-self: flex-end;
margin-bottom: 30px;
}
.lawyer-books-text .num {
position: relative;
width: 6.5em;
}
.lawyer-books-text .num:after {
content: '';
position: absolute;
width: 3em;
height: 1px;
top: 0.85em;
left: 2.5em;
background-color: rgba(0, 0, 0, 0.2);
}
.lawyer-books-text ul {
width: calc(100% - 6.5em);
}
/*--lawyer01--*/
#lawyer01 .lawyer-pic-block,
#lawyer01 .lawyer-message-block-inner {
flex-direction: row-reverse;
}
#lawyer01 .lawyer-pic-block .lawyer-pic-text p {
    padding-right: 3em;
}
#lawyer01 .lawyer-message-block-text .deco-eng {
    margin-top: 0;
}
/*--lawyer02--*/
#lawyer02 .lawyer-pic-block .lawyer-pic-img img {
box-shadow: -30px 30px 0 var(--color-main20);
}
/*	取扱分野
/*-------------------------------------------*/
/*--business-menu--*/
.business-menu {
background-color: var(--color-main10);
padding: 15px;
}
.business-menu ul {
display: flex;
flex-wrap: wrap;
border-bottom: 1px solid var(--color-main10);
}
.business-menu ul li {
display: flex;
flex-direction: column;
width: 16.666%;
border-top: 1px solid var(--color-main10);
border-left: 1px solid var(--color-main10);
padding: 10px;
min-height: 150px;
background-color: #fff;
}
.business-menu ul li:nth-of-type(6n) {
border-right: 1px solid var(--color-main10);
}
.business-menu ul li a {
position: relative;
flex-grow: 1;
padding: 15px 5px;
display: flex;
flex-wrap: wrap;
}
.business-menu ul li a:before,
.business-menu ul li a:after {
content: '';
position: absolute;
width: 5px;
height: 5px;
right: 0;
bottom: 0;
border: 5px solid transparent;
border-right: 5px solid var(--color-main10);
border-bottom: 5px solid var(--color-main10);
}
.business-menu ul li a:hover {
background-color: var(--color-maintrans10);
}
.business-menu ul li a:hover:before,
.business-menu ul li a:hover:after {
border-right: 5px solid var(--color-main);
border-bottom: 5px solid var(--color-main);
}
.business-menu ul li img.business-menu-icon {
width: 45px;
height: 45px;
margin: 0 auto 5px;
}
.business-menu ul li .business-menu-ttl {
width: 100%;
text-align: center;
line-height: 1.3em;
align-self: center;
}
/*--business-common-contents--*/
.business-common-contents {
position: relative;
border-top: 1px solid var(--color-main);
padding: 60px 10px 0;
}
.business-common-contents:last-of-type {
padding: 60px 10px 0;
}
.business-common-contents:after {
content: '';
position: absolute;
width: 45%;
height: 3px;
top: -2px;
left: 0;
right: 0;
margin: 0 auto;
background-color: var(--color-main);
}
.business-common-contents .business-menu-icon {
display: block;
width: 60px;
margin-bottom: 15px;
margin-left: auto;
margin-right: auto;
}
.business-common-contents h2 {
text-align: center;
}
/*--business-list-block--*/
.business-list-block {
margin-top: 40px;
}
.business-list-block ul li {
width: 50%;
}
.business-list-block ul.link-menu > li a,
.business-list-block ul.link-menu > li .listwrap {
min-height: 5em;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}

/*	ご相談の流れ
/*-------------------------------------------*/
#page-flow #content,
#page-flow #breadcrumb {
background-color: var(--color-main10);
}
#page-flow #content #content-inner {
z-index: 1;
}
#page-flow h2.ttl-vertical-borderbottom {
font-size: 22px;
}
.flow-block ul.flow-block-ul > li {
position: relative;
padding: 0 0 80px;
}
.flow-block ul.flow-block-ul > li:last-of-type {
padding: 0;
}
.flow-block ul.flow-block-ul > li:after {
content: "";
position: absolute;
display: block;
width: 1px;
height: 60px;
background-color: var(--color-main);
left: 0;
right: 0;
bottom: 0;
margin: 0 auto;
}
.flow-block ul.flow-block-ul > li:last-of-type:after {
content: none;
}

.flow-block .flow-wrap {
position: relative;
padding: 0 50px 50px;
}
.flow-block .flow-wrap:after {
content: '';
position: absolute;
width: 100%;
height: calc(100% - 30px);
left: 0;
bottom: 0;
background-color: rgba(255,255,255,0.6);
z-index: -1;
}
.flow-block .flow-num {
font-size: 5rem;
position: relative;
color: var(--color-main);
display: inline-block;
line-height: 1em;
padding-right: 50px;
font-weight: 100;
}
.flow-block .flow-num:after {
content: '';
position: absolute;
border-top: 1px solid var(--color-main80);
width: 0.8em;
height: 1px;
transform: rotate(-60deg);
right: 0;
bottom: 0.4em;
}
.flow-block .flow-contents {
padding: 30px;
}
.flow-block .flow-tel,
.flow-block .flow-contactform {
position: relative;
width: 49%;
background-color: var(--color-main10);
padding: 30px;
text-align: center;
}
.flow-block .flow-tel h4,
.flow-block .flow-contactform h4 {
padding: 0 0 15px;
margin: 0 auto 10px;
border-bottom: 1px solid var(--color-main60);
}
.flow-block .flow-tel h4:before,
.flow-block .flow-contactform h4:before {
content: none;
}
.flow-block .flow-tel a.tel-num-link {
font-size: 28px;
text-align: center;
display: block;
width: fit-content;
margin: 8px auto;
line-height: 1em;
}
.flow-block .flow-tel .kakko-bracket {
padding: 0px 25px;
}
.flow-block .flow-tel .kakko-bracket:before,
.flow-block .flow-tel .kakko-bracket:after {
width: 10px;
}
.flow-block .flow-fee {
margin-top: 20px;
font-size: 21px;
color: var(--color-main);
padding: 15px 50px;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}
.flow-block .flow-fee .flow-fee-text {
position: relative;
padding-right: 80px;
}
.flow-block .flow-fee .flow-fee-text:after {
content: '';
position: absolute;
width: 50px;
height: 2px;
top: 50%;
right: 15px;
border-bottom: 2px dotted var(--color-main40);
}
/*	費用のご案内
/*-------------------------------------------*/
#fee-section .wp-block-group__inner-container {
width: 100%;
max-width: 950px;
margin: 0 auto;
}
.fee-menu ul.pagelink-menu > li {
width: 25%;
}
#fee-section h3.ttl-sand-border {
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-size: 1.45rem;
}
table.fee-table tr th,
table.fee-table tr td {
padding: 15px 10px;
}
table.fee-table tr td {
text-align: right;
min-width: 200px;
}
/*	よくある質問
/*-------------------------------------------*/
.faq-button,
.faq-detail {
    background-color: var(--color-main10);
    padding: 25px 85px 25px 35px;
	position: relative;
	display: flex;
}
.faq-button span,
.faq-detail span {
    padding-top: 0.55em;
    width: calc(100% - 3.8em);
}
.faq-button:before,
.faq-button:after {
    content: '';
    display: block;
    position: absolute;
    top: 50%;
    right: 50px;
    margin-left: auto;
    margin-right: auto;
    margin-top: -1px;
    height: 3px;
    width: 15px;
    background: var(--color-main);
    -webkit-transition: .3s;
    transition: .3s;
    border-radius: 1px;
}
.faq-button:after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}
.faq-button.selected:after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}
.faq-button:hover {
cursor: pointer;
}
.faq-button figure,
.faq-detail figure {
background-color: var(--color-main);
    color: #fff;
    width: 2.8em;
    height: 2.8em;
    border-radius: 50%;
line-height: 2.8em;
    text-align: center;
    margin-right: 1em;
	margin-bottom: 0px;
    float: left;
    position: relative;
}
.faq-detail figure {
background-color: var(--color-main);
}
.faq-content {
margin: 12px auto;
}
.faq-detail{
    padding: 35px;
    background-color: transparent;
}


/*	事務所案内
/*-------------------------------------------*/
/*--aboutus-intro--*/
.aboutus-intro {
position: relative;
}
.aboutus-intro .aboutus-intro-img {
/*height: 500px;*/
}
.aboutus-intro .aboutus-intro-img-wrap {
padding-left: 18%;
}
.aboutus-intro .aboutus-intro-img img {
object-fit: cover;
width: 100%;
height: 100%;
box-shadow: -30px 30px 0 var(--color-main20);
}
.aboutus-intro .aboutus-intro-text {
position: absolute;
top: 50%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}
.aboutus-intro .aboutus-intro-text p.sub-eng {
font-size: 3.25rem;
border-bottom: 1px solid var(--color-main);
padding-right: 150px;
padding-bottom: 23px;
margin-bottom: 20px;
line-height: 1em;
color: var(--color-main);
font-weight: 100;
text-shadow: 0 0 10px #fff;
}
.aboutus-intro .aboutus-intro-text h2 {
}
/*--aboutus-message--*/
.aboutus-message {
margin-top: 80px;
}
.aboutus-message .aboutus-message-text {
width: 50%;
padding-bottom: 100px;
}
.aboutus-message .aboutus-message-text p.aboutus-message-text-main {
font-size: 1.75rem;
margin-bottom: 30px;
}
.aboutus-message .aboutus-message-img {
position: relative;
width: 43%;
display: flex;
flex-direction: column;
justify-content: flex-end;
padding-top: 50px;
z-index: 1;
}
.aboutus-message .aboutus-message-img img {
width: 70%;
display: block;
position: relative;
object-fit: cover;
height: 350px;
}
.aboutus-message .aboutus-message-img img.aboutus-message-img02 {
margin-top: -80px;
z-index: -1;
margin-left: auto;
}
.aboutus-overview {
position: relative;
background-color: var(--color-maintrans10);
padding-top: 100px;
padding-bottom: 80px;
margin-top: -50px;
}
.aboutus-overview table {
width: 100%;
max-width: 800px;
margin: 40px auto 0;
}
.aboutus-overview table tr th {
min-width: 150px;
}
.aboutus-overview .aboutus-overview-fax {
padding-left: 1em;
}
.aboutus-overview a.aboutus-overview-contact {
    text-decoration: underline;
}
.aboutus-overview a.aboutus-overview-contact:hover {
    text-decoration: none;
}
.aboutus-access-gmap {
width: calc(100% - 380px);
}
.aboutus-access-detrail {
width: 340px;
}
.aboutus-access-detrail dl:first-of-type {
margin-top: 0;
}
.aboutus-access-detrail dl dd p.add span,
.aboutus-access-detrail dl dd p.add em {
display: block;
}
.aboutus-access-detrail img.aboutus-map {
border: 1px solid var(--color-main80);
padding: 13px;
}
/*	採用情報
/*-------------------------------------------*/
#page-recruit #content,
#page-recruit #breadcrumb {
background-color: var(--color-main10);
}
#page-recruit #content #content-inner {
z-index: 1;
}
#page-recruit h3.ttl-sand-border {
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-size: 1.45rem;
color: var(--color-main);
}
#page-recruit h3.ttl-sand-border:before,
#page-recruit h3.ttl-sand-border:after {
border-color: var(--color-main);
}
#page-recruit .recruit-table-wrap {
width: 100%;
max-width: 900px;
margin: 0 auto;
}
#page-recruit table th {
color: var(--color-main);
}
/*	プライバシーポリシー
/*-------------------------------------------*/
#page-privacy dl dt {
position: relative;
margin-top: 25px;
margin-bottom: 20px;
padding: 0 0 10px 1.25em;
font-weight: bold;
border-bottom: 1px solid var(--color-main40);
}
#page-privacy dl dt:before {
content: '■';
position: absolute;
color: var(--color-main);
font-size: 1em;
left: 0;
}
#page-privacy dl dt:first-of-type {
    margin-top: 0px;
}
/*-------------------------------------------*/
/*	サイトマップ
/*-------------------------------------------*/
#sitemap {
    border: 3px solid rgba(0,0,0,0.1);
    padding: calc(0.5em + 4.1%);
}
.sitemap-wrap {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.sitemap-l,
.sitemap-r {
    width: 48%;
}
ul.page-sitemap-list ul {
    margin-left: 0.5em;
}
#sitemap li a {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" ><path fill="%23666" d="M3.64,8.95c-.12,0-.25-.05-.34-.15-.18-.19-.17-.49.02-.67l3.28-3.13L3.31,1.87c-.19-.18-.2-.48-.02-.67.18-.19.48-.2.67-.02l3.64,3.48c.09.09.15.21.15.34s-.05.25-.15.34l-3.64,3.48c-.09.09-.21.13-.33.13Z" /></svg>');
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 8px 8px;
    padding-left: 12px;
    color: #666;
}
#sitemap li a:hover {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" ><path fill="%23999" d="M3.64,8.95c-.12,0-.25-.05-.34-.15-.18-.19-.17-.49.02-.67l3.28-3.13L3.31,1.87c-.19-.18-.2-.48-.02-.67.18-.19.48-.2.67-.02l3.64,3.48c.09.09.15.21.15.34s-.05.25-.15.34l-3.64,3.48c-.09.09-.21.13-.33.13Z" /></svg>');
    color: #999;
}
/*-------------------------------------------*/
/*	archive
/*-------------------------------------------*/
.page-menu {
    background-color: #e9e5e1;
    padding: 50px;
    margin: 50px auto;
}

.page-menu h3 {
    width: 300px;
}

.page-menu ul {
    width: calc(100% - 300px);
}

.page-menu ul li {
    width: 33%;
}

/*-------------------------------------------*/
/*	archiveページネーション
/*-------------------------------------------*/
.nav-links {
    text-align: center;
    margin-top: 40px;
}

.nav-links span,
.nav-links a:not(.next, .prev) {
    width: 3em;
    height: 3em;
    border-radius: 50%;
    line-height: 3em;
    display: inline-block;
    margin: 0 2px;
    background-color: rgba(62, 58, 57, 0.3);
}

.nav-links a:not(.next, .prev):hover,
.nav-links .current {
    background-color: var(--color-main-text);
    color: #fff;
}

/*-------------------------------------------*/
/*	single
/*-------------------------------------------*/
.single-wrap {
    width: 100%;
    max-width: 840px;
    margin: 60px auto 0;
}

.single-wrap h1 {
    font-size: 17px;
    border-bottom: 1px solid;
    margin: 0 0 25px;
    padding: 0px 0px 15px;
    line-height: 1.3em;
}

.detail_contents {
    margin: 30px auto 60px;
}

.detailBox {
    margin: 30px auto;
    border: 1px solid;
    padding: 20px;
}

.urlLink a {
    background-image: url(/images/port/common/arrowBrown_link.png);
    background-position: right bottom;
    background-repeat: no-repeat;
    background-size: 0.8em;
    padding-right: 1em;
}

/*-------------------------------------------*/
/*	singleページネーション
/*-------------------------------------------*/
.pager ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    background-color: rgba(0,0,0,0.05);
    padding: 10px 0;
    margin-top: 30px;
}

.pager ul li {
    text-align: center;
    padding: 0;
    width: 33.333%;
}
.pager ul li:nth-of-type(2) {
    border-left: 1px solid rgba(0,0,0,0.1);
    border-right: 1px solid rgba(0,0,0,0.1);
}
.pager ul li a:hover {
color: var(--color-main);
}
/*-------------------------------------------*/
/*	フローティングメニュー
/*-------------------------------------------*/
#floating-menu {
    position: fixed;
    right: 0px;
    top: calc(50% - 150px);
    z-index: 9998;
    text-align: center;
}

#floating-menu ul li {
    min-width: 90px;
    margin: 0 0 5px;
}

#floating-menu ul li a {
    color: #fff;
    display: block;
    border-radius: 5px 0 0 5px;
    padding: 40px 0 10px;
    background-size: auto 20px;
    background-position: center 13px;
    background-repeat: no-repeat, no-repeat;
    background-color: var(--color-dark-navy);
    text-decoration: none;
    font-size: 13px;
    line-height: 1.2em;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
#floating-menu ul li a p {
    font-size: 13px;
    margin: 0 auto;
}
#floating-menu ul li a:hover {
    background-color: var(--color-main);
    background-size: auto 30px, 10px 10px;
    background-position: center 8px, left 5px top 5px;
    background-repeat: no-repeat, no-repeat;
    color: #fff;
}

#floating-menu ul li.fm-recruit a {
    background-image: url(/images/icon/icon-recruit.png);
}

#floating-menu ul li.fm-contact a {
    background-image: url(/images/icon/icon-mail.png);
}

#floating-menu ul li.fm-access a {
    background-image: url(/images/icon/icon-map-wh.png);
}
#floating-menu ul li.fm-line a:hover {
    background-color: rgba(0, 192, 0, 0.8);
}
#floating-menu ul li.page-top {
    display: none;
}
/*-------------------------------------------*/
/*	ページトップ
/*-------------------------------------------*/
#page-top {
    position: fixed;
    bottom: 30px;
    right: 30px;
    z-index: 100;
}

#page-top a {
    text-decoration: none;
}

#page-top a:hover {
    background-color: rgba(182, 100, 203, 0.8);
}

#page-top a img {
    width: 50px;
    padding: 20px;
    display: block;
    line-height: 40px;
    background-color: var(--color-main-text);
    border-radius: 50%;
}

#page-top a:hover img {
    background-color: var(--color-dark-navy);
}


/*-------------------------------------------*/
/*	footer
/*-------------------------------------------*/
footer {
    color: #fff;
    background: var(--navy-gradation);
    font-size: 0.9375rem;
}
footer a,
footer ul.footer-sub-list li a {
    color: #fff;
}
footer a:hover,
footer ul.footer-sub-list li a:hover,
footer nav#foot-nav ul li a:hover {
opacity: 0.7;
}
#footer-wrap {
    padding: 40px 0;
}
.footer-l {
width: 280px;
padding-right: 20px;
}

.footer-r {
width: calc(100% - 280px);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

.footer-l ul {
    margin-top: 10px;
}

.footer-logo {
    width: 200px;
}

ul.footer-sub-list li {
margin-right: 15px;
line-height: 1.4em;
margin-top: 0.75em;
}
ul.footer-sub-list li:last-of-type {
    margin-right: 0px;
}
footer ul.footer-sub-list .add span,
footer ul.footer-sub-list .add em {
display: block;
}
ul.footer-sub-list li a {
    background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 10 10" ><path fill="%23fff" d="M3.64,8.95c-.12,0-.25-.05-.34-.15-.18-.19-.17-.49.02-.67l3.28-3.13L3.31,1.87c-.19-.18-.2-.48-.02-.67.18-.19.48-.2.67-.02l3.64,3.48c.09.09.15.21.15.34s-.05.25-.15.34l-3.64,3.48c-.09.09-.21.13-.33.13Z" /></svg>');
    background-position: left center;
    background-repeat: no-repeat;
    background-size: 10px 8px;
    padding: 0 0 0 13px;
    color: rgba(255, 255, 255, 0.8);
}
ul.footer-sub-list li a:hover {
    opacity: 0.7;
}
ul.footer-sub-list li .footer-sub-list-tel a {
padding: 0;
background-image: none;
color: #fff;
}
ul.footer-sub-list li .footer-sub-list-tel a:hover {
color: #fff;
}
/*--#footer-menu--*/
#footer-menu {
width: calc(100% - 330px);
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#footer-menu .foot-nav {
width: 48%;
border-top: 1px solid rgba(255, 255, 255, 0.5);
padding: 25px 0px 0px 18px;
}
footer nav#foot-nav ul {
    display: flex;
    flex-wrap: wrap;
    margin-top: 15px;
}
#footer-menu .foot-nav ul li {
line-height: 1.3em;
margin: 10px 0;
}
#footer-menu .foot-nav ul li a {
position: relative;
padding-left: 1em;
display: block;
}
#footer-menu .foot-nav ul li a:hover {
text-decoration: underline;
color: #fff;
}
#footer-menu .foot-nav ul li a:before {
content: '';
position: absolute;
top: 0.5em;
left: 0;
width: 0.5em;
height: 1px;
background-color: #fff;
}
.foot-nav ul.sub-menu {
padding-left: 1em;
}
/*--foot-sns--*/
.foot-sns {
width: 300px;
}
.foot-sns ul li {
margin-bottom: 15px;
}
.foot-sns ul li a {
border: 1px solid rgba(255, 255, 255, 0.8);
display: block;
padding: 10px;
text-align: center;
}
.foot-sns ul li a:hover,
.foot-sns ul li a:hover img {
    opacity: 0.7;
}
.foot-sns ul li.foot-sns-fb a {
background-image: url(/images/icon/icon-fb.png);
background-position: 10px center;
background-repeat: no-repeat;
background-size: 28px;
padding-left: 30px;
}
.foot-sns ul li.foot-sns-fb a:hover {
background-image: url(/images/icon/icon-fb-hov.png);
background-color: var(--color-light-navy);
color: var(--color-dark-navy);
opacity: 1;
}
.foot-sns ul li.foot-oldblog a {
background-image: url(/images/common/arrow01-navy.png);
background-position: right 10px center;
background-repeat: no-repeat;
background-size: 12px;
background-color: var(--color-light-navy);
color: var(--color-dark-navy);
}

/*--footer-bottom--*/
.footer-bottom {
    margin-top: 30px;
    font-size: 13px;
}