@charset "utf-8";

/* CSS Document */
/*-------------------------------------------*/
/*	初期設定
/*-------------------------------------------*/
:root {
--root-font-size: 16;
--color-main-text: #444;/*メインテキストカラー*/
--color-main-text-hov: #666;/*メインテキストカラー*/
--color-main: #E71874;/*メインカラー*/
--color-main80: #EB468F;/*メインカラー80%*/
--color-main60: #f074ab;/*メインカラー60%*/
--color-main40: #f5a2c7;/*メインカラー40%*/
--color-main20: #fad0e3;/*メインカラー20%*/
--color-main10: #fce7f1;/*メインカラー10%*/
--color-main5: #fdf3f8;/*メインカラー5%*/
--color-maintrans80: rgba(231,24,116,0.8);/*メインカラー80%*/
--color-maintrans60: rgba(231,24,116,0.6);/*メインカラー60%*/
--color-maintrans40: rgba(231,24,116,0.4);/*メインカラー40%*/
--color-maintrans20: rgba(231,24,116,0.2);/*メインカラー20%*/
--color-maintrans10: rgba(231,24,116,0.1);/*メインカラー10%*/
--color-maintrans5: rgba(231,24,116,0.05);/*メインカラー5%*/
--color-main: #e71874;
--color-main80: #eb468f;
--color-main60: #f074ab;
--color-main40: #f5a2c7;
--color-main20: #fad0e3;
--color-main10: #fce7f1;
--color-red: #B70000;
--color-beige: #eedcb3;
--color-beigetrans20: rgba(238,220,179,0.2);
}
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";
background-image: url(/img/common/bg-note-white.png);
background-size: 300px;
}
/*-------------------------------------------*/
/*	基本共通設定
/*-------------------------------------------*/
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;
}
/*--見出し基本設定--*/
p, h1, h2, h3, h4, h5, h6 {
margin: 0;
}
h1, h2, h3, h4, h5, h6 {
line-height: 1.3em;
}
/* サイズ */
.space,
#common-contact {
padding-top: 100px;
padding-bottom: 100px;
}
.space-t {
padding-top: 100px;
}
.space-b {
padding-bottom: 100px;
}
.space-marb60 {
margin-bottom: 60px;
}
.space-marb100 {
margin-bottom: 100px;
}

#content-wrap {
padding: 0px;
margin-bottom: 0px;
}
body.home #content-wrap {
margin-bottom: 0px;
}
#content {
padding-top: 30px;
}
body.home #content {
    padding: 0;
}
.content2col {
display: flex;
flex-wrap: wrap;
}
.content2col .content2col-text {
width: calc(100% - 300px);
}
.content2col .content2col-img {
width: 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;
}
/* padding */
.pl1em {
padding-left: 1em;
}
.pr1em {
padding-right: 1em;
}
/*-------------------------------------------*/
/*	共通設定
/*-------------------------------------------*/
/*　カラー　*/
.col-main {
color: var(--color-main);
}
.col-pink {
color: var(--color-main);
}
.col-red {
color: var(--color-red);
}
/*　フォントサイズ　*/
.font-13 {
font-size: 13px;
}
.font-18 {
font-size: 18px;
}

/*--GoogleFonts--*/
.g-font-serif,
h1, h2 {
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;
}
h2,
#common-footinfo h2 {
font-size: 1.8rem;
line-height: 1.6em;
}
.adjust {
text-indent: -0.5em;
display: inline-block;
}

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

.text-r {
text-align: right;
}

/*--文字揃え--*/
.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 rgba(0,0,0,0.3);
width: 100%;
}
table tr th,
table tr td {
border-bottom: 1px solid rgba(0,0,0,0.3);
padding: 10px 3px;
text-align: center;
vertical-align: middle;
}
/*--dl設定--*/
dl dt {
font-weight: bold;
color: var(--color-main);
}
dl dd {
margin-left: 0;
}
/*--border-radius--*/
.b-r20 {
border-radius: 20px;
}

/*　reCAPTCHA設定　*/
.grecaptcha-badge { visibility: hidden; }

/*-------------------------------------------*/
/*	ボタン
/*-------------------------------------------*/
.btn a {
position: relative;
display: inline-block;
background-color: var(--color-main);
padding: 17px 2.5em 17px 2em;
color: #fff;
border-radius: 8px;
line-height: 1.3em;
min-width: 230px;
text-align: center;
}
.btn a:before,
.btn a:after {
content: '';
position: absolute;
transition: all .3s;
transform: translateX(-6px);
}
.btn a:hover:before,
.btn a:hover:after {
transform: translateX(0);
}
.btn a:before {
width: 1.25em;
height: 1px;
bottom: 50%;
right: 0.5em;
background-color: #fff;
}
.btn a:hover:before {
width: calc(1.25em + 6px);
}
.btn a:after {
width: 6px;
height: 3px;
bottom: 50%;
right: 0.4em;
border: 3px solid transparent;
border-left: 4px solid #fff;
border-bottom: 2px solid #fff;
transform: translateX(-6px);
}
.btn a:hover {
background-image: none;
background-color: var(--color-main60);
color: #fff;
}
/*----blankLink---*/
a .blank-link {
background-image: url(/img/common/arrow-blank-bk.png);
background-position: right bottom 2px;
background-repeat: no-repeat;
background-size: 0.85em;
padding: 0 1em 0 0;
color: var(--color-main-text);
}
a:hover .blank-link {
background-image: url(/img/common/arrow-blank-pink.png);
color: var(--color-main);
}
/*デフォルトボタン*/
#content .wp-block-button__link {
background-color: var(--color-main);
}
#content .wp-block-button__link:hover {
background-color: var(--color-main60);
}
/*-------------------------------------------*/
/*	装飾・レイアウト・デザイン
/*-------------------------------------------*/
/*	見出し装飾
/*-------------------------------------------*/
/*--h2--*/
.page:not(.home) h2 {
font-size: 1.7rem;
position: relative;
width: fit-content;
padding: 1rem 2rem;
text-align: center;
margin-left: auto;
margin-right: auto;
margin-bottom: 25px;
}
.page:not(.home) h2:before,
.page:not(.home) h2:after { 
  content:'';
  width: 15px;
  height: 15px;
  position: absolute;
  display: inline-block;
}
.page:not(.home) h2:before {
border-left: solid 2px var(--color-main);
border-top: solid 2px var(--color-main);
top:0;
left: 0;
}
.page:not(.home) h2:after {
border-right: solid 2px var(--color-main);
border-bottom: solid 2px var(--color-main);
bottom:0;
left: initial;
right: 0;
}
/*--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.2em;
left: 4px;
top: calc(14px + 0.6em);
border-radius: 2px;
}
/*--h4---*/
.page:not(.home) h4 {
position: relative;
padding: 0px 0px 14px 30px;
border-bottom: 1px dashed rgba(0, 0, 0, 0.3);
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;
}
/*--投稿見出し設定--*/
/*--single(詳細ページ)の見出し--*/
body.single h1.single-ttl {
font-size: 1.4375rem;
text-align: left;
border-bottom: 1px solid var(--color-main);
padding: 20px 10px;
margin-bottom: 10px;
position: relative;
margin-bottom: 20px;
}
body.single h2 {
text-align: left;
border-top: 1px solid var(--color-maintrans60);
border-bottom: 1px solid var(--color-maintrans60);
padding: 15px;
font-size: 1.25rem;
font-weight: 500;
}
body.single h2:after {
content: none;
}
body.single h3 {
position: relative;
border-bottom: 1px solid var(--color-maintrans40);
padding: 10px 10px 10px 1.25em;
margin-bottom: 20px;
}
body.single h3:before {
content: '⚫︎';
position: absolute;
color: var(--color-main);
left: 0.25em;
top: 11px;
font-size: 1em;
}
body.single h4 {
position: relative;
border-bottom: 1px solid var(--color-maintrans60);
padding: 10px 0px 5px 1.35em;
font-size: 120%;
margin-bottom: 20px;
}
body.single h4:before {
content: '';
position: absolute;
text-indent: -1.5em;
background-color: var(--color-main);
width: 0.75em;
height: 0.2em;
left: 4px;
top: calc(10px + 0.6em);
border-radius: 2px;
}
body.single h5 {
border-bottom: 2px dotted rgba(0, 0, 0, 0.3);
padding: 10px 0 5px 5px;
font-size: 115%;
margin-bottom: 20px;
}
body.single h6 {
border-bottom: 1px solid 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;
line-height: 1.4em;
}
.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.ttl-sand-border-pink:before,
.ttl-sand-border.ttl-sand-border-pink:after,
.ttl-sand-border.ttl-sand-border-pink:before,
.ttl-sand-border.ttl-sand-border-pink:after {
border-color: var(--color-main) !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;
}

/*	色背景・ボーダー共通
/*-------------------------------------------*/
.frame-bg-main,
.frame-bg-main,
.frame-bg-gray,
.frame-bg-white,
.frame-border-main,
.frame-border-pink,
.frame-border-white,
.frame-border-gray,
.frame-square-gray,
.frame-dot-gray {
padding: calc(0.5em + 4.1%);
border-radius: 15px;
}
.flex-bg-main,
.flex-bg-pink,
.flex-bg-gray,
.flex-bg-white,
.flex-border-main,
.flex-border-pink,
.flex-border-gray,
.flex-border-white,
.flex-square-gray,
.flex-dot-gray {
padding: calc(1.34% + 10px); 
border-radius: 10px;
}

.full-bg-main,
.full-bg-pink,
.full-bg-gray,
.full-bg-white,
.full-border-main,
.full-border-pink,
.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-maintrans5);
}
.full-bg-pink,
.frame-bg-pink,
.flex-bg-pink {
background-color: var(--color-main10);
}
.full-bg-gray,
.frame-bg-gray,
.flex-bg-gray {
background-color: #f7f8f7;
}
.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-main40);
}
.full-border-pink,
.frame-border-pink,
.flex-border-pink {
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;
}
/*----ベーシックな柄背景---*/
.full-square-gray,
.frame-square-gray,
.flex-square-gray {
background-image:url(/img/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(/img/common/bg-dot-gray.png);
background-position: left top;
background-repeat: repeat;
background-size: 8px;
}

/*-------------------------------------------*/
/*	リンク設定(ヘッダー追従の場合の高さ対策)
/*-------------------------------------------*/
.page-link {
margin-top: -80px;
padding-top: 80px;
}

/*-------------------------------------------*/
/*	リストメニュー
/*-------------------------------------------*/
/*---list-menu---*/
.page ul.list-menu > li {
    position: relative;
}
.page ul.list-menu > li a,
.page ul.list-menu > li .list-menu-wrap {
    padding: 15px 2.5% 15px;
}
.page ul.list-menu > li a {
    padding-bottom: 40px;  
}
.page ul.list-menu > li figure {
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
position: absolute;
top: -0.5em;
left: 10px;
z-index: 1;
width: 50px;
height: 50px;
text-align: center;
font-size: 25px;
background-color: var(--color-main);
display: flex;
align-items: center;
justify-content: center;
color: #fff;
border-radius: 50%;
}
.page ul.list-menu h3 {
padding: 10px 0 15px;
margin-bottom: 15px;
text-align: center;
}
.page ul.list-menu h3:before {
content: none;
}
.page ul.list-menu > li .list-menu-text {
    margin-top: 10px;  
    margin-bottom: 10px;
}
/*---circle-menu---*/
ul.circle-menu > li {
padding: 10px 10px 10px 1em;
margin: 0;
line-height: 1.5em;
position: relative;    
}
ul.circle-menu > li:before {
content: '●';
position: absolute;
font-size: 0.7em;
left: 0em;
color: var(--color-main);
}
/*-------------------------------------------*/
/*	フローリスト
/*-------------------------------------------*/
#content .flow-wrap {
position: relative;
}
#content .flow-wrap:after {
position: absolute;
content: '';
bottom: -35px;
left: 0;
right: 0;
border: 15px solid transparent;
border-top: 15px solid var(--color-maintrans40);
width: 0;
height: 0;
z-index: 1;
margin: 0 auto;
}
#content .flow-wrap dl {
border-radius: 8px;
background: rgba(255,255,255,0.8);
overflow: hidden;
padding: 30px;
}
#content .flow-wrap dl.flow-num dt {
margin-bottom: 0;
}
#content .flow-wrap dl.flow-num dt i {
width: 50px;
height: 50px;
float: left;
line-height: 48px;
overflow: hidden;
text-align: center;
font-size: 20px;
border-radius: 50%;
margin: 0;
color: #fff;
background-color: var(--color-main80);
}
#content .flow-wrap dl.flow-num dt strong {
width: calc(100% - 60px);
display: inline-block;
padding: 12px 5px;
margin: 0 0 0 10px;
line-height: 1.3em;
color: var(--color-kon);
}
#content .flow-wrap dl.flow-num dd {
width: calc(100% - 65px);
float: right;
border-top: 1px solid var(--color-maintrans40);
padding-top: 15px;
}
#content .flow-wrap:last-of-type:after {
content: none;
}
/*-------------------------------------------*/
/*	header
/*-------------------------------------------*/
header {
position: relative;
z-index: 9999;
left: 0;
right: 0;
}

header #header-inner {
display: flex;
justify-content: space-between;
align-items: center;
height: 100px;
width: calc(100% - 150px);
max-width: 1800px !important;
}

header #logo {
width: 220px;
align-self: center;
padding-top: 5px;
}

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

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

header nav#main-nav ul li a {
letter-spacing: 0.05em;
position: relative;
color: var(--color-main-text);
padding: 8px 15px;
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;
}

/*----ヘッダー固定---*/
.fixed {
position: fixed;
top: 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 #header-inner {
height: 70px;
}

.fixed header #logo {
padding-top: 0;
width: 180px;
}
/*-------------------------------------------*/
/*	グローバルナビ
/*-------------------------------------------*/
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.gnav-contact.menu-item {
margin-left: 10px;
}
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:not(.menu-item-type-custom.current-menu-item) > a:after {
transform: scale(0.3, 1);
}
header nav#main-nav > ul > li.gnav-contact.menu-item > a:after {
content: none;
}
header nav#main-nav ul li.gnav-contact.menu-item a {
position: relative;
background-color: var(--color-main);
color: #fff;
padding: 13px 30px 13px 18px;
border-radius: 10px;
background-image: url(/img/common/arrow01-wh.png);
background-position: right 8px center;
background-repeat: no-repeat;
background-size: 10px;
transition: all .5s;
border: none;
}
header nav#main-nav ul li.gnav-contact.menu-item a:hover {
color: #fff;
background-color: var(--color-main60);
border: none;
}
header nav#main-nav ul li.gnav-contact.menu-item a span {
background-image: url(/img/icon/icon-contact-wh.png);
background-position: left center;
background-repeat: no-repeat;
background-size: 26px;
padding: 5px 0 5px 36px;
}
/*マウスオーバー時等にメニューの色を変更*/
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-text-hov);
}
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: var(--color-main-text-hov);
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--*/
body.archive #content,
body.single #content {
padding-bottom: 60px;
}
.wp-block-column.top-inner,
.common-inner-setting,
body.archive #content-inner,
body.single #content-inner,
.common-inner {
width: calc(100% - 200px);
max-width: 1200px !important;
margin-left: auto;
margin-right: auto;
}
/*--フルサイズ(幅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スクロールバー対策--*/
body:not(.home) #content-inner {
position: relative;
overflow: hidden;
}

/*-------------------------------------------*/
/*	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%;
}
.flex24 {
width: 24%;
margin-left: 0.5%;
margin-right: 0.5%;
}
.flex20 {
width: 20%;
}
/*	共通投稿設定
/*-------------------------------------------*/
.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(/img/icon/icon-date.png);
}

.posted-date .modified-date {
background-image: url(/img/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: bold;
}

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

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

/*-------------------------------------------*/
/*	TOP(ホーム)
/*-------------------------------------------*/
/*-------------------------------------------*/
/*	スライド
/*-------------------------------------------*/
[class*=swiper]:focus {
outline: none;
}
/*---スライドテキスト---*/
#top-mv {
position: relative;
}
#top-mv .slide-text {
font-weight: normal;
line-height: 1.6;
position: absolute;
color: #444;
left: 5%;
top: 45%;
transform: translateY(-50%);
-webkit-transform: translateY(-50%);
}

#top-mv .slide-text h2 {
font-size: 3.65rem;
font-weight: 400;
text-shadow: 0 0 10px #fff, 0 0 30px #fff, 0 0 30px #fff, 0 0 30px #fff;
line-height: 1.3em;
}
/*--スライドページネーション--*/
#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 .slide-media {
width: 97%;
height: 56vw;
position: relative;
}
#top-mv .slide-media img {
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
border-radius: 0 30px 30px 0;
}
/*--スライドアニメーション--*/
#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);
}
}
/*	投稿
/*-------------------------------------------*/
/*---投稿共通--*/
/*--シングルページ(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;
padding: 0 10px;
overflow: hidden;
}
/*-------------------------------------------*/
/*	トップコンテンツ
/*-------------------------------------------*/
.sub-eng {
color: var(--color-main);
margin-bottom: 15px;
line-height: 1em;
}
.top-sub-text {
font-size: 18px;
margin-top: 15px;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}
.home h3:before {
content: none;
}
/*	#top-about
/*-------------------------------------------*/
#top-about {
position: relative;
background-image: url(/img/common/bg01-r.png);
background-position: right -50px top;
background-repeat: no-repeat;
background-size: 80%;
}
#top-about .top-about-img-wrap {
display: flex;
justify-content: flex-end;
position: relative;
margin-top: -60px;
z-index: 1;
}
#top-about .top-about-img-wrap img {
width: 35%;
}
#top-about .top-about-wrap {
margin-top: -40px;
position: relative;
}
#top-about .top-about-wrap .top-about-bg-logo {
position: absolute;
width: 30%;
top: 0px;
left: 32%;
}
#top-about .top-about-wrap .top-about-l {
width: 35%;
}
#top-about .top-about-wrap .top-about-r {
width: 56%;
padding-top: 100px;
position: relative;
z-index: 1;
}
#top-about h2 {
font-size: 22px;
font-weight: bold;
}
#top-about .top-about-wrap .top-about-r p.top-main-text {
font-size: 2rem;
line-height: 1.6em;
}

/*	loop-infinite
/*-------------------------------------------*/
.loop-infinite {
overflow: hidden;
}
.loop-infinite .swiper {
overflow: visible;
}
.loop-infinite .swiper-wrapper {
-webkit-transition-timing-function: linear !important;
	transition-timing-function: linear !important;
}
.loop-infinite .swiper-slide {
width: -webkit-max-content;
width: -moz-max-content;
width: max-content;
}
.loop-infinite .item {
overflow: hidden;
width: 25rem;
}
/*	#top-news
/*-------------------------------------------*/
#top-news {
background-color: var(--color-maintrans5);
}
.top-news-l {
width: 300px;
text-align: center;
}
.top-news-l .btn {
margin-top: 40px;
}
.top-news-r {
width: calc(100% - 320px);
}
/*	#top-service
/*-------------------------------------------*/
#top-service {
position: relative;
}
#top-service:before,
#top-service:after {
content: '';
position: absolute;
top: 0;
left: 0;
height: 100%;
}
#top-service:before {
width: 80%;
background-color: rgba(255, 255, 255, 1.0);
z-index: -1;
border-radius: 0 30px 30px 0;
}
#top-service:after {
width: 100%;
background-color: var(--color-maintrans5);
z-index: -2;
}
#top-service .top-service-illust01,
#top-service .top-service-illust02 {
position: absolute;
width: 320px;
z-index: 1;
}
#top-service .top-service-illust01 {
top: -55px;
right: 11%;
}
#top-service .top-service-illust02 {
bottom: -130px;
left: 50px;
}
#top-service .common-inner {
padding: 80px 0 100px;
max-width: 1400px !important;
}
#top-service ul {
margin-top: 60px;
}
#top-service ul li {
position: relative;
}
#top-service ul li img {
border-radius: 20px;
}
#top-service ul li h3 {
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-weight: 400;
font-style: normal;
font-size: 22px;
letter-spacing: 0.05em;
padding: 15px 10px;
position: absolute;
top: -10px;
right: 1em;
background-color: #fff;
cursor: vertical-text;
-webkit-writing-mode: vertical-rl;
-moz-writing-mode: vertical-rl;
-ms-writing-mode: tb-rl;
-ms-writing-mode: vertical-rl;
writing-mode: vertical-rl;
-webkit-text-orientation: upright;
text-orientation: upright;
word-wrap: break-word;
border-top: 2px solid var(--color-main);
box-shadow: -8px 8px 0 rgba(0, 0, 0, 0.1);
}
/*	#top-system
/*-------------------------------------------*/
#top-system {
position: relative;
background-image: url(/img/common/bg02.png);
background-position: center bottom;
background-repeat: no-repeat;
background-size: 100%;
background-color: var(--color-maintrans5);
padding-top: 140px;
}
#top-system .common-inner {
position: relative;
z-index: 1;
}
#top-system .top-system-wrap {
margin-top: 40px;
position: relative;
overflow: hidden;
}

#top-system ul {
display: flex;
flex-wrap: wrap;
justify-content: center;
}
#top-system ul li {
text-align: center;
width: 33.333%;
padding: 5px;
}

#top-system ul li .top-system-listwrap {
width: 100%;
margin: 0 auto;
background-color: #fff;
padding: 20px 40px;
border-radius: 10px;
display: flex;
flex-wrap: wrap;
align-items: center;
justify-content: center;
border: 1px solid var(--color-maintrans20);
}
#top-system ul li .top-system-listwrap p {
font-weight: bold;
font-size: 20px;
position: relative;
padding-bottom: 8px;
margin-bottom: 10px;
width: 100%;
}
#top-system ul li .top-system-listwrap p:after {
content: '';
position: absolute;
width: 50px;
height: 2px;
left: 0;
right: 0;
bottom: 0;
margin: 0 auto;
border-bottom: 2px solid var(--color-main);
}
#top-system ul li .top-system-listwrap img {
width: 100%;
max-width: 200px;
}
/*-------------------------------------------*/
/*	#common-footinfo
/*-------------------------------------------*/
#common-footinfo h3 {
border: none;
padding: 0;
}
#common-footinfo h3:before {
content: none;
}
/*	#common-contact
/*-------------------------------------------*/
#common-contact {
position: relative;
background-color: rgba(0,0,0,0.3);
color: #fff;
text-align: center;
}
#common-contact:before {
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image: url(/img/common/common-contact-bg01.jpg);
background-position: left bottom;
background-repeat: no-repeat;
background-size: cover;
z-index: -1;
}
/*--common-contact-area--*/
#common-contact .common-contact-area ul {
width: 100%;
max-width: 600px;
margin: 20px auto 0;
}
#common-contact .common-contact-area ul li {
background-color: rgba(255, 255, 255, 0.8);
border-radius: 9999px;
padding: 8px 5px;
color: var(--color-main-text);
font-weight: bold;
}

/*--common-contact-tel-contact--*/
#common-contact .common-contact-tel-contact ul {
margin-top: 40px;
}
#common-contact .common-contact-tel-contact ul li {
color: #fff;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
width: 50%;
}
#common-contact .common-contact-tel-contact ul li.common-contact-tel {
border-top: 1px solid rgba(255, 255, 255, 0.5);
border-bottom: 1px solid rgba(255, 255, 255, 0.5);
border-left: 1px solid rgba(255, 255, 255, 0.5);
background-color: rgba(0, 0, 0, 0.1);
padding: 30px 5px;
}
#common-contact .common-contact-tel-contact ul li.common-contact-tel p {
margin-top: 10px;
}
#common-contact .common-contact-tel-contact ul li.common-contact-tel a.telnum span {
font-size: 2.7rem;
color: #fff;
line-height: 1em;
background-image: url(/img/icon/icon-tel-wh.png);
background-position: left bottom 0.2em;
background-repeat: no-repeat;
background-size: 0.7em 0.7em;
padding: 0 0 0 0.85em;
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a {
background-color: rgba(255, 255, 255, 0.7);
display: flex;
width: 100%;
flex-grow: 1;
justify-content: center;
align-items: center;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a:hover {
background-color: rgba(255, 255, 255, 1.0);
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span {
position: relative;
background-image: url(/img/icon/icon-contact-bk.png);
background-position: left center;
background-repeat: no-repeat;
background-size: 45px;
padding: 5px 50px 5px 60px;
display: block;
font-size: 20px;
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span:before,
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span:after {
content: '';
position: absolute;
transition: all .3s;
transform: translateX(-6px);
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span:hover:before,
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span:hover:after {
transform: translateX(0);
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span:before {
width: 1.25em;
height: 1px;
bottom: 50%;
right: 0.5em;
background-color: var(--color-main-text);
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span:hover:before {
width: calc(1.25em + 6px);
}
#common-contact .common-contact-tel-contact ul li.common-contact-btn a span:after {
width: 6px;
height: 3px;
bottom: 50%;
right: 0.4em;
border: 3px solid transparent;
border-left: 4px solid var(--color-main-text);
border-bottom: 2px solid var(--color-main-text);
transform: translateX(-6px);
}

/*-------------------------------------------*/
/*	下層
/*-------------------------------------------*/
/*--下層タイトル周り--*/
#page-ttl {
font-family: "Noto Serif JP", serif;
font-optical-sizing: auto;
font-style: normal;
position: relative;
padding: 80px 10px;
text-align: center;
box-shadow: inset 0 0 4px rgba(0, 0, 0, 0.1);
background-image: url(/img/common/page-ttl-bg.png);
background-position: center center;
background-repeat: no-repeat;
background-size: cover;
background-color: var(--color-beigetrans20);
}
#page-ttl h1 {
font-weight: 400;
}
#page-ttl img {
position: absolute;
width: 100%;
height: 100%;
-o-object-fit: cover;
object-fit: cover;
display: block;
left: 0;
top: 0;
z-index: -1;
}
.page-ttl-text {
font-size: 1.75rem;
}
.page-sub-ttl {
position: relative;
font-size: 50px;
color: var(--color-maintrans80);
display: block;
line-height: 1em;
padding-bottom: 22px;
margin-bottom: 15px;
font-weight: 100;
}
.page-sub-ttl:after {
content: '';
position: absolute;
width: 50px;
height: 2px;
left: 0;
right: 0;
bottom: 0;
margin: 0 auto;
background-color: var(--color-maintrans40);
}

/*--ぱんくずリスト--*/
#breadcrumb {
padding: 10px 0;
}
#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;
}
/*--下層共通--*/
.common-intro {
position: relative;
}
.common-intro:after {
content: '';
position: absolute;
width: 100%;
height: 50%;
bottom: 0;
left: 0;
background-color: var(--color-maintrans5);
z-index: -1;
}
.common-intro .common-intro-text01 {
font-weight: bold;
/*color: var(--color-main);*/
font-size: 20px;
}
.common-intro-img img {
border-radius: 20px;
}
.common-sub-sand-text {
font-size: 18px;
margin-top: 15px;
font-weight: bold;
-webkit-font-smoothing: antialiased;
}
/*	対応できること
/*-------------------------------------------*/
#content #service-business ul.list-menu li img {
width: 85px;
display: block;
margin: 0 auto;
}
/*--#service-flow--*/
#content #service-flow .flow-wrap dl {
display: flex;
justify-content: space-between;
}
#content #service-flow .flow-wrap dl.flow-num dd {
border: none;
padding-top: 0.5em;
float: none;
margin: initial;
}
/*--#service-fee--*/
#service-fee h3 {
text-align: center;
padding: 13px 5px 23px;
font-size: 1.3rem;
}
#service-fee h3:before {
content: none;
}
#service-fee .service-fee-detail {
background-color: var(--color-main5);
padding: 20px;
margin: 0 auto 20px;
font-weight: bold;
}
#service-fee .service-fee-month ul {
justify-content: center;
}
/*--料金を表記しない際に仕様--*/
#service-fee .service-fee-month ul li.service-fee-month-ttl,
#service-fee .service-fee-month ul li.service-fee-month-text {
font-weight: bold;
color: var(--color-main);
}
#service-fee .service-fee-month ul li.service-fee-month-ttl {
position: relative;
}
#service-fee .service-fee-month ul li.service-fee-month-ttl:after {
content: '：';
}
/*--料金を表記する際に仕様
#service-fee .service-fee-month ul li.service-fee-month-list01 {
background-color: var(--color-main);
text-align: center;
color: #fff;
line-height: 1.3em;
align-self: center;
padding: 10px 20px;
border-radius: 8px;
margin-right: 15px;
}
#service-fee .service-fee-month ul li.service-fee-month-list02 .service-fee-num {
line-height: 1em;
font-size: 2.3rem;
text-align: center;
}
/料金を表記する際に仕様-->
/*	5つの分野の社会保険
/*-------------------------------------------*/
#insurance-scope ul.list-menu > li {
margin-top: 30px;
}
#insurance-scope ul.circle-menu > li {
padding: 5px 10px 5px 1em;
}
#insurance-scope ul.list-menu .list-menu-wrap {
padding: 19px;
}
#insurance-scope ul.list-menu .list-menu-ttlbox img {
width: 190px;
margin: 10px auto;
display: block;
}
/*--insurance-book--*/
.insurance-book-wrap-l {
width: 52%;
}
.insurance-book-wrap-l .btn a {
width: 100%;
padding: 27px 2.5em 27px 2em;
}
.insurance-book-wrap-r {
width: 45%;
}

/*	事務所紹介
/*-------------------------------------------*/
/*---共通---*/
#page-introduction ul.reki li span.year {
margin-right: 1em;
width: 8.5em;
display: block;
float: left;
position: relative;
}
#page-introduction ul.reki li span.year:after {
content: '';
position: absolute;
width: 2em;
right: 0em;
border-bottom: 2px dotted rgba(0, 0, 0, 0.2);
top: 0.75em;
}
/*--#introduction-ceo--*/
#introduction-ceo .introduction-ceo-wrap-l {
width: 320px;
text-align: center;
}
#introduction-ceo .introduction-ceo-wrap-l img {
display: block;
padding: 45px;
background-color: #fff;
border-radius: 15px;
margin: 0 auto 25px;
width: 100%;
max-width: 320px;
}
#introduction-ceo .introduction-ceo-wrap-l ul {
border-top: 1px solid var(--color-maintrans40);
border-bottom: 1px solid var(--color-maintrans40);
padding: 12px 0;
margin-top: 15px;
}
#introduction-ceo .introduction-ceo-wrap-l ul li {
line-height: 1.3em;
padding: 2px 0;
}
#introduction-ceo .ceo-name {
font-size: 1.55rem;
letter-spacing: 0.1em;
line-height: 1em;
}
#introduction-ceo .introduction-ceo-wrap-r {
width: calc(100% - 400px);
}
#introduction-ceo ul.reki li {
padding: 3px 0;
}

/*--#introduction-history--*/
#introduction-history {
position: relative;
background-color: rgba(0,0,0,0.2);
}
#introduction-history:before {
content: '';
position: absolute;
width: 100%;
height: 100%;
top: 0;
left: 0;
background-image: url(/img/introduction/introduction-bg-office.png), url(/img/introduction/introduction-bg-sky.png);
background-position: left -50px bottom, right top;
background-repeat: no-repeat, no-repeat;
background-size: 56%, 80%;
background-color: rgba(0, 160, 233, 0.3);
z-index: -1;
}
#introduction-history .introduction-history-wrap {
background-color: rgba(255, 255, 255, 0.9);
padding: 50px;
width: 90%;
max-width: 1000px;
margin: 0 auto;
border-radius: 15px;
}
#introduction-history ul {
padding: 0 50px;
}
#introduction-history ul li {
padding: 15px 20px;
background-color: rgba(0, 0, 0, 0.05);
}
#introduction-history ul li:nth-of-type(even) {
background-color: transparent;
}

/*--#introduction-overview--*/
#introduction-overview table {
border-top: 1px solid var(--color-main40);
    width: 100%;
	max-width: 700px;
	margin: 0 auto;
	}
#introduction-overview table tr th,
#introduction-overview table tr td {
border-bottom: 1px solid var(--color-main40);
padding: 30px 20px;
text-align: left;
}
#introduction-overview table tr th {
font-weight: bold;
    text-align: left;
    vertical-align: initial;
}
#introduction-overview table tr td .add span {
padding-right: 1em;
}
/*	プライバシーポリシー
/*-------------------------------------------*/
#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;
}

/*-------------------------------------------*/
/*	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(0, 0, 0, 0.2);
}

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

/*-------------------------------------------*/
/*	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);
}
#content .pager ul li a {
color: var(--color-main-text);
text-decoration: none;
}
#content .pager ul li a:hover {
opacity: 0.7;
}
/*-------------------------------------------*/
/*	ページトップ
/*-------------------------------------------*/
#page-top {
position: fixed;
bottom: 30px;
right: 30px;
z-index: 100;
}

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

#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-main);
}


/*-------------------------------------------*/
/*	footer
/*-------------------------------------------*/
footer {
color: var(--color-main-text);
font-size: 0.9375rem;
}
footer a,
footer ul.footer-sub-list li a {
color: var(--color-main-text);
}
footer a:hover,
footer ul.footer-sub-list li a:hover,
footer nav#foot-nav ul li a:hover {
color: var(--color-main-text);
opacity: 0.7;
}
#footer-wrap {
padding: 80px 0 60px;
}

footer nav#foot-nav ul {
display: flex;
flex-wrap: wrap;
margin-top: 15px;
}

footer nav#foot-nav ul li a {
color: rgba(255, 255, 255, 0.8);
display: block;
padding: 0 1.25em;
position: relative;
}
footer nav#foot-nav ul li a:before {
content: '';
position: absolute;
width: 0.7em;
top: 50%;
left: 0;
border-top: 1px solid rgba(255, 255, 255, 0.5);
}

.footer-l {
width: 28%;
padding-right: 20px;
}
.footer-l ul {
margin-top: 10px;
}

.footer-logo-list li {
width: 49%;
margin: 0 0.5%;
}

.footer-logo {
width: 200px;
}

ul.footer-sub-list li {
line-height: 1.3em;
padding: 5px 0;
}

ul.footer-sub-list li:last-of-type {
margin-right: 0px;
}

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 .add span {
display: block;
}
/*--FAX(スマホ対策)--*/
img.img0 {
width: 0;
height: 0;
max-width: 0;
}
/*--footer-r--*/
.footer-r {
width: 72%;
display: flex;
flex-wrap: wrap;
flex-direction: column;
justify-content: space-between;
}
.footer-r h4 {
font-size: 15px;
padding: 0px 0px 0px 24px;
}
.footer-r #footer-menu {
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
.footer-r .foot-nav {
width: 25%;
padding: 0 3px;
}
.foot-nav ul li {
line-height: 1.3em;
padding: 8px 0;
}
.foot-nav ul li a {
position: relative;
padding-left: 1em;
display: block;
font-weight: bold;
}
.foot-nav ul li a:hover {
color: var(--color-main);
}
.foot-nav ul li a:before {
content: '⚫︎';
position: absolute;
color: var(--color-main60);
width: 1em;
height: 1em;
left: 0;
top: 0;
font-size: 13px;
}
.foot-nav ul.sub-menu {
margin-top: 5px;
}
.foot-nav ul.sub-menu li a {
position: relative;
font-weight: normal;
}
.foot-nav ul.sub-menu li a:before {
content: '';
position: absolute;
text-indent: -1.5em;
background-color: var(--color-main60);
width: 0.9em;
height: 0.2em;
left: 0;
top: 0.65em;
border-radius: 2px;
font-size: 14px;
}

/*--footer-bottom--*/
.footer-bottom {
border-top: 1px solid var(--color-main20);
padding-top: 30px;
margin-top: 50px;
font-size: 13px;
}