/*
Theme Name: Theme
Version: 1.0
*/


/* CSSリセット */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, fieldset, input, p, blockquote, th, td {
    margin: 0;
    padding: 0;
}

body {
    font-family: Arial, Helvetica, sans-serif;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
	background:#fff;
}

@font-face {
  font-family: 'icomoon';
  src: url('icomoon.ttf') format('truetype');
  font-display: swap;
}



* {
            box-sizing: border-box;
        }


html {
    scroll-behavior: smooth;
}


.sp{
	display:none;
}

.container{
	max-width:1180px;
	width:92.84%;
	margin:auto;
}

@media(max-width:960px){
	body{
		padding-top:60.2px;
	}
	
	.sp{
		display:block;
	}
	.pc{
		display:none;
	}
}

/*Page-header*/
.page-header{
	height:500px;
	position:relative;
}
.page-header h1{
	position:absolute;
	top:50%;
	left:0;
	right:0;
	margin:auto;
	text-align:center;
	color:#fff;
	font-size:2rem;
}
.page-header__bg{
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}
.page-header__bg img{
	width:100%;
	height:100%;
	object-fit:cover;
	position:relative;
}
.page-header__bg::after{
	content:"";
	position:absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	background:linear-gradient(135deg, rgb( 10 10 10/0.15), rgb( 10 10 10/0.15));
}

@media (max-width:600px){
	.page-header h1{
		font-size:1.6rem;
		top:42.5%;
	}
}

/*Contents関連*/
.content-h2{
	    padding-top: 8px;
    padding-bottom: 8px;
    padding-right: 8px;
    padding-left: 12px;
    background-color: #8ba0b6;
    border-left: 6px solid #3f5973;
    color: #ffffff;
	text-align:center;
	margin-bottom:1.5em;
	line-height:1.5;
}

.wp-element-caption{
	margin-top: 4px;
    margin-bottom: 8px;
    text-align: center;
    font-size: 0.72727rem;
    color: #484848;
}

.content-h3{
	position: relative;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: solid 3px #8ba0b6;
	
}
.content-h3:before{
	position: absolute;
    content: "";
    bottom: -3px;
    left: 0;
    width: 15%;
    height: 3px;
    background-color: #3f5973;
    z-index: 2;
}

@media (max-width:600px){
	.content-h2{
		font-size:21.333px;
	}
}


.about-page-skill{
	margin-left:1.5em;
}

/* タイムライン全体 */
.timeline{
  position: relative;
  margin: 0;
  list-style: none;
	margin-left:16px;
}

/* 縦ライン */
.timeline::before{
  content:"";
  position:absolute;
  top:20px;
  left:3px;
  width:1px;
  height:100%;
  background:#eeeff0;
}

/* 各項目 */
.timeline-item{
  position: relative;
	padding-left:2em;
}

/* ドット */
.timeline-dot{
  position:absolute;
	top:50%;
	transform:translateY(-50%);
  left: 0;
  width:7px;
  height:7px;
  background:#828990;
  border-radius:50%;
	
}

/* テキスト */
.timeline-text{
  margin:0;
  color:#333;
  font-size:20px;
  line-height:1.7;
	margin-bottom:2em;
}

@media (max-width:600px){
	.timeline::before{
		top:15px;
	}
	.timeline-dot{
		top:15px;
	}
}

ul{
	margin-top:2em;
	margin-bottom:2em;
}

ul li{
	list-style:disc;
	margin-bottom:4px;
}





/*PC-Header*/

.header-flex{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding-left:16px;
}

.header-left{
	width:17.5%;
	min-width:315px;
}
.header-left a{
	width:100%;
	display:block;
	max-width:270px;
}

.header-right{
	display:flex;
	justify-content:flex-end;
	align-items:center;
	width:80%;
	height:86px;
}

/* 親メニュー横並び */
.header-right nav > ul,
.sticky-nav nav > ul{
  display:flex;
  align-items:center;
	margin:0;
}

/* 親li（基準点） */
.header-right nav > ul > li,
.sticky-nav nav > ul > li{
  position:relative;
  display:block;
}

.header-right nav > ul > li a,
.sticky-nav nav > ul > li a{
	text-decoration:none;
	font-size:14.22px;
	padding-left:16px;
	padding-right:16px;
	height:86px;
	display:flex;
	justify-content:center;
	align-items:center;
}

.sticky-nav nav > ul > li a{
	height:64px;
}

/* 子メニューは初期非表示＆親の真下に配置 */
.header-right nav ul li > ul.sub-menu,
.sticky-nav nav ul li > ul.sub-menu{
  position:absolute;
  top:100%;
  left:-50%;
  min-width: 240px;
  background:#8ba0b6;
  margin:0;
	visibility:hidden;
  z-index:9999;
	opacity:0;
}

/* ホバーで表示 */
.header-right nav ul li.menu-item-has-children:hover > ul.sub-menu,
.sticky-nav nav ul li.menu-item-has-children:hover > ul.sub-menu{
	opacity:1;
	transition:0.4s;
	visibility:visible;
}

/* 子のliは縦並びに */
.header-right nav ul li > ul.sub-menu > li,
.sticky-nav nav ul li > ul.sub-menu > li{
  display:block;
  justify-content:initial;
  align-items:initial;
}

/* 子リンク */
.header-right nav ul li > ul.sub-menu > li > a,
.sticky-nav nav ul li > ul.sub-menu > li > a{
    position: relative;
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
    padding-left: 20px;
    padding-right: 20px;
    min-height: 40px;
    height: 100%;
    width: 100%;
    line-height: 1.8;
    text-decoration: none;
    font-size: 0.72727rem;
	color:#fff;
}
.header-right nav ul li > ul.sub-menu > li > a:hover,
.sticky-nav nav ul li > ul.sub-menu > li > a:hover{
  opacity:.8;
}

.header-contact{
	width:86px;
	background:#3f5973;
	display:flex;
	align-items:center;
	justify-content:center;
	height:86px;
}
.header-contact svg{
	width:16px;
}

@media (max-width:1200px){
	.header-right nav > ul > li a{
		padding-left:8px;
		padding-right:8px;
	}
}

@media (max-width:1088px){
	.header-right nav > ul > li a{
		padding-left:3px;
		padding-right:3px;
		font-size:13px;
	}
}

.sticky-nav{
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999;
  background: rgba( 255 255 255/ 0.86 );
  box-shadow: 0 8px 20px rgba(0,0,0,.08);
  transform: translateY(-110%);
  transition: transform .25s ease;
}

/* 表示 */
.sticky-nav.is-show{
  transform: translateY(0);
}

/* nav全体を中央寄せ */
.sticky-nav nav{
  max-width: 1080px;
  margin: 0 auto;
}

/* ulを中央寄せ */
.sticky-nav nav > ul{
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
}



/*SP-header*/
.sp header{
	position:fixed;
	top:0;
	width:100%;
	left:0;
	background:#fff;
	z-index:999999;
}

.sp-header-flex{
	display:flex;
	align-items:center;
}

.sp-header-left{
	width:60px;
}

.sp-header-right{
width:100%;
	display:flex;
	justify-content:space-between;
	align-items:center;
}
.sp-header-logo{
	max-width:270px;
}

	.sp-header-right .header-contact{
		width:70px;
		height:60px;
	}

/* header */
.site-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 12px 16px;
    position: sticky;
    top: 0;
    z-index: 1000;
    background: #fff;
}

.header-left img {
    height: 60px;
    width: auto;
    display: block;
	object-fit:contain;
}

/* hamburger */
.hamburger {
    width: 44px;
    height: 44px;
    border: none;
    background: transparent;
    display: inline-flex;
    flex-direction: column;
    justify-content: center;
    gap: 7px;
    cursor: pointer;
}

.hamburger__line {
    display: block;
    width: 24px;
    height: 2px;
    background: #111;
    margin: 0 auto;
    transition: transform .25s ease, opacity .25s ease;
}

/* overlay */
.menu-overlay {
    position: fixed;
    inset: 0;
    z-index: 2000;
    background: #fff;
    display: flex;
	flex-direction:column;
    opacity: 0;
    pointer-events: none;
    transition: opacity .25s ease;
	width:368px;
	padding-top:100px;
	padding-bottom:80px;
	padding-left:24px;
	padding-right:24px;
}


.menu-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
	overflow:scroll;
	z-index:999999999;
}

.menu-overlay__nav {
    position: relative;
    text-align: center;
    width:330px;
}

.menu-overlay__list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.menu-overlay__list a {
    display: block;
    color: #333;
    text-decoration: none;
    font-size: 22px;
    padding: 14px 0;
}

.menu-overlay__list a:hover {
    opacity: .8;
}

.menu-overlay__close{
  position:absolute;
	left:0;
	right:0;
	margin:auto;
	top:0;
  width: 40px;
  height: 40px;
  background: transparent;
  border: none;
  padding: 0;
  cursor: pointer;
}

/* 共通線 */
.menu-overlay__close span{
  position: absolute;
  top: 64px;
  left: 50%;
  width: 28px;
  height: 1px; 
  background:#3f5973;
  transform-origin: center;
}

/* 1本目 */
.menu-overlay__close span:nth-child(1){
  transform: translate(-50%, -50%) rotate(45deg);
}

/* 2本目 */
.menu-overlay__close span:nth-child(2){
  transform: translate(-50%, -50%) rotate(-45deg);
}


/* hamburger -> X */
.hamburger.is-open .hamburger__line:nth-child(1) {
    transform: translateY(9px) rotate(45deg);
}

.hamburger.is-open .hamburger__line:nth-child(2) {
    opacity: 0;
}

.hamburger.is-open .hamburger__line:nth-child(3) {
    transform: translateY(-9px) rotate(-45deg);
}

.menu-overlay nav{
	width:100%;
}


/* メニューの基本 */
.menu-overlay nav > ul{
  list-style: none;
  padding: 0;
  margin: 0;
}

.menu-overlay nav > ul li{
	list-style:none;
	margin:0;
}

.menu-overlay nav a{
  display:flex;
  align-items:flex-end;
	padding: 8px 6px;
	padding-left:16px;
  text-decoration:none;
  color:#111;
	position:relative;
}
.menu-overlay nav a:before{
position: absolute;
    content: "\e941";
    left:0;
	top:47.5%;
	transform:translateY(-50%);
    line-height: 40px;
    font-family: "icomoon";
    font-size: 0.8rem;
    color: #b8bcc0;
    font-weight: bold;
}

/* 親aの右端に「矢印ボタン」を置く */
.menu-overlay nav li.menu-item-has-children{
  position: relative;
}

/* 親リンクは右に余白を作る（矢印分） */
.menu-overlay nav li.menu-item-has-children > a{
  padding-right: 52px;
}

/* JSで差し込むボタン */
.menu-overlay .submenu-toggle{
  position: absolute;
  top: 27.5px;
  right: 6px;
  transform: translateY(-50%);
  width: 44px;
  height: 44px;
  border: none;
  background: transparent;
  cursor: pointer;
}

/* 矢印の見た目 */
.menu-overlay .submenu-toggle::before{
  content:"";
  position:absolute;
  top:30%;
	transform:translateY(-50%);
  left:50%;
  width: 8px;
  height: 8px;
  border-right: 2px solid #999;
  border-bottom: 2px solid #999;
  transform: translate(-50%, -50%) rotate(45deg);
  transition: transform .2s ease;
}

/* 開いてる時の矢印 */
.menu-overlay li.is-open > .submenu-toggle::before{
  transform: translate(-50%, -50%) rotate(-135deg);
	top:35%;
}

/* サブメニュー：閉→開（高さアニメ） */
.menu-overlay nav ul.sub-menu{
  max-height: 0;
  overflow: hidden;
  transition: max-height .25s ease;
  margin: 0;
  list-style: none;
}
/* サブメニューのa */
.menu-overlay nav ul.sub-menu a{
  padding: 4px 6px 4px 1em;
	margin-left:20px;
  font-size: 14px;
  color:#444;
}
.menu-overlay nav ul.sub-menu a:before{
	content:"";
	width:4px;
	height:4px;
	border-radius:50%;
	position:absolute;
	left:0;
	top:47.5%;
	transform:translateY(-50%);
	background:#b8bcc0;
}


.drawer-nav__desc{
  font-size: 11px;
  letter-spacing: .08em;
  color: #333;
  font-weight: 200;
	margin-left:8px;
	margin-bottom:2px;
	opacity:0.5;
}

/*SP-Header-CTA*/
.menu-overlay h2{
	text-align:center;
	margin-top:60px;
	font-size:22px;
}

.menu-overlay .cta-flex{
	flex-direction:column;
	margin-top:32px;
	gap:32px 0px;
}
.menu-overlay .cta-left,
.menu-overlay .cta-center,
.menu-overlay .cta-right{
	width:100%;
}

@media (max-width:600px){
	.sp-header-logo{
		max-width:180px;
	}
	.menu-overlay{
		width:90vw;
		padding-top:60px;
		padding-left:16px;
		padding-right:16px;
	}
	.menu-overlay__close span{
		top:32px;
	}
	.menu-overlay .submenu-toggle{
		right:-16px;
	}
	
}



/*CTA*/
.l-container {
            max-width: 1180px;
            width: 92.841%;
            margin: auto;
        }

        .cta-sec {
            padding: 82px 0px 104px 0px;
            position: relative;
            background: url("/wp-content/themes/original/img/cta-sec-bg.webp");
            background-size: cover;
            background-repeat: no-repeat;
            background-position: center;
        }

        .cta-sec:before{
            content:"";
            position: absolute;
            top:0;
            left:0;
            width:100%;
            height:100%;
            background:rgba(255,255,255,0.6);
            z-index: 0;
        }

        .cta-flex {
            display: flex;
            justify-content: space-between;
            position: relative;
            z-index: 1;
        }

        .cta-left,
        .cta-center,
        .cta-right {
            width:330px;
            text-align: center;
        }

.cta-contact-title{
	font-size:1.6rem;
	font-weight:bold;
	text-align:center;
	margin-top:64px;
}

        .cta-title {
            display: block;
            color: #333;
            margin-bottom: 8px;
            letter-spacing: 0.04em;
            font-size: 1.14286rem;
            text-align: center;
        }

        .tel-number {
            display: block;
            pointer-events: none;
            text-decoration: none;
            display: block;
            height: 34px;
            line-height: 1;
            letter-spacing: 0.04em;
            font-weight: 500;
            font-size: 24px;
            color: #333;
            text-align: center;
        }

.tel-number:before{
	    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
	content:"\e973";
	margin-right:4px;
    position: relative;
    top: 3px;
}

        .cta-flex .min {
            display: block;
            margin-top: 8px;
            letter-spacing: 0.1em;
            font-size: 0.72727rem;
            text-align: center;
        }

        .line-btn,
        .contact-btn{
            background-color: #04f210;
            color: #ffffff;
            border-radius: 3px;
            text-decoration: none;
            position: relative;
            display: inline-block;
            padding-top: 6px;
            padding-bottom: 6px;
            padding-right: 32px;
            padding-left: 32px;
            text-decoration: none;
            text-align: center;
            line-height: 1.5;
            letter-spacing: 0.04em;
            font-size: 0.88889rem;
            overflow: hidden;
            cursor: pointer;
            transition: all 0.3s ease;
            margin:auto;
        }
        .contact-btn{
            background:#3f5973;
        }

.line-btn::after,
.contact-btn::after{
    content: "\e98e";
	    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	margin-left:4px;
	position:relative;
	top:1px;
}
.contact-btn::after{
	content: "\e972";
}

@media (max-width:960px){
	.cta-left, .cta-center, .cta-right{
		width:30%;
	}
}


@media (max-width:768px){
	.cta-sec{
		padding:48px 0px;
		background: url("/wp-content/themes/original/img/cta-sec-bg-sp.webp");
	}
	
	.cta-flex{
		flex-direction:column;
		gap:32px;
	}
	
	.cta-left, .cta-center, .cta-right{
		width:100%;
	}
	.tel-number{
		pointer-events:inherit;
	}
}




/*Footer*/

        footer {
            background: #484848;
            padding-top: 24px;
            padding-bottom: 16px;
        }

        .footer-flex {
            display: flex;
            justify-content: space-between;
			width:92.84%;
			margin:auto;
        }

        .footer-left {
            width: 30%;
            font-size: 0.88889rem;
            color: #fff;
        }

        .footer-left p {
            margin-bottom: 1.5em;
            line-height: 1.6;
            letter-spacing: 0.04em;
        }

        .footer-left img {
            width: 100%;
            max-width: 279px;
            object-fit: contain;
			margin-bottom:16px;
        }

        .footer-right {
            width: 33%;
        }

        .footer-right h2 {
            color: #fff;
            margin: 0;
            position: relative;
            margin-bottom: 24px;
            line-height: 1.25;
            letter-spacing: 0.04em;
            font-size: 1.33333rem;
        }

        .footer-right ul {
            color: #fff;
            padding: 0;
			margin:0;
        }

        .footer-right ul {
            padding-left: 12px;
        }

        .footer-right ul li a {
            display: block;
            position: relative;
            line-height: 32px;
            text-decoration: none;
            padding: 4px;
            transition: 0.4s;
            color: #fff;
            font-size: 0.88889rem;
        }

        .copyrights {
            display: block;
            text-align: center;
            color: #fff;
            line-height: 1.5;
            letter-spacing: 0.04em;
            font-size: 11.6363px;
            margin-top: 40px;
        }

@media (max-width:600px){
	.footer-flex{
		flex-direction:column;
		gap:24px 0px;
	}
	.footer-left,
	.footer-right{
		width:100%;
		max-width:100%;
	}
}

/*TOP*/
.fv-sec img{
	width:100%;
	object-fit:cover;
}

.worries{
	padding-top:100px;
}

.worries .sec-ttl{
	text-align:center;
	font-weight:bold;
	font-size:21.333px;
}
.worries-flex{
	display:flex;
	justify-content:space-between;
	max-width:1080px;
	margin:auto;
	padding:64px 0px;
	width:92.84%;
}
	
.worries-flex .box{
	width:30%;
}
.worries-flex .box:nth-child(2){
	width:31%;
}

@media (max-width:600px){
	.worries{
		padding-top:60px;
	}
	.worries h2{
		font-size:1.33333rem;
	}
	.worries-flex{
		flex-direction:column;
		align-items:center;
		gap:32px 0px;
		width:85%;
		padding:32px 0px;
	}
	.worries-flex .box,
		.worries-flex .box:nth-child(2){
		width:100%;
	}
}


/*about*/

.separator{
	height:80px;
}
.separator svg{
	width:100vw;
	margin:0 calc(50% - 50vw);
	height:80px;
	transform:scale(-1,1);
}


.about{
	background:#f8f8f8;
	padding:48px 0px;
	padding-bottom:60px;
}
.about-flex{
	display:flex;
	justify-content:space-between;
}
.about-left{
	width:52%;
}
.about-right{
	width:46.5%;
}
.sec-ttl{
	font-size:1.6rem;
	line-height:1.6;
}

.sub-ttl{
	display:block;
	font-weight:bold;
	font-size:0.88889rem;
	letter-spacing:0.1em;
}
.about-left p{
	margin-top:32px;
	line-height:1.8;
}
.more-link{
	display:block;
	border: 1px solid #3f5973;
	color: #3f5973;
	position: relative;
	display:block;
	max-width:200px;
    padding-top: 6px;
    padding-bottom: 6px;
    padding-right: 32px;
    padding-left: 32px;
    text-decoration: none;
    text-align: center;
    line-height: 1.5;
    letter-spacing: 0.04em;
    font-size: 0.88889rem;
    overflow: hidden;
    cursor: pointer;
    transition: all 0.3s ease;
	margin:auto;
	margin-top:40px;
}

.icon-read-arrow-right{
	position:absolute;
	top:50%;
	transform:translateY(-50%);
	right:12px;
}

@media (min-width:768px){
	.more-link:hover{
		border: 1px solid #8ba0b6;
    color: #8ba0b6;
	}
	.more-link:hover .icon-read-arrow-right{
		right:8px;
		transition:0.3s;
	}
}

@media (max-width:780px){
	
.separator{
	height:40px;
}
.separator svg{
	width:100vw;
	margin:0 calc(50% - 50vw);
	height:40px;
	transform:scale(-1,1);
}
	
	.sec-ttl{
		font-size:1.4rem;
	}
	
	.about{
		padding-top:40px;
	}
	
	.about-flex{
		flex-direction:column;
		gap:24px;
	}
	.about-left{
		order:2;
		width:100%;
		max-width:100%;
	}
	.about-right{
		width:100%;
		max-width:100%;
	}
}

/*Service*/
.service{
	padding:64px 0px;
	padding-bottom:100px;
}

.service .sec-ttl{
	text-align:center;
}

.service p{
	text-align:center;
	margin-top:40px;
}


.service-flex{
	display:flex;
	flex-wrap:wrap;
	gap:24px;
	justify-content:center;
	margin-top:40px;
}
.service-flex .box{
	width:30%;
	border:solid 1px #e5e7e8;
	border-bottom:3px solid #383838;
	min-width:277px;
	transition:0.4s;
}

.service-flex .box a{
	text-decoration:none;
	display:block;
	transition:0.4s;
}

.link-box__list{
	display:flex;
	align-items:center;
	padding:24px 16px;
	gap:0px 16px;
}

.link-box__list img {
	min-width: 80px;
	min-height: 80px;
	width: 80px;
	height: 80px;
}

@media (max-width:600px){
	.service{
		padding:48px 0px;
		padding-bottom:60px;
	}
	.service-flex .box{
		width:100%;
	}
	
	.link-box__list{
		padding:16px;
		border-bottom:3px solid #383838;
	}
	
	.service-flex .box h3{
		font-size:16px;
	}
	
	.link-box__list img{
		    border-radius: 0;
    min-width: 60px;
    min-height: 60px;
    width: 60px;
    height: 60px;
	}
}
@media (min-width:768px){
	.service-flex .box:hover{
		box-shadow: 0 1px 12px 0 rgb(0 0 0 / 0.1);
		transform: translateY(-3px);
	}
}

/*Outline*/
.outline-separator svg{
	transform:inherit;
}

.outline{
	background:#f8f8f8;
	padding:60px 0px;
	padding-bottom:100px;
}
.outline .sec-ttl{
	text-align:center;
}

/* レイアウト */
.outline-flex{
  display: flex;
  gap: 24px;
	margin-top:40px;
}

/* カード */
.outline-card{
  width: 100%;
}

.outline-card__image{
  position: relative;
  overflow: hidden;
		height:212px;
	overflow:hidden;
}

/* 画像 */
.outline-card__image img{
  width: 100%;
  height:100%;
	object-fit:cover;
  display: block;
  transition: transform .4s ease;
}



/* 黒オーバーレイ（u-img-overlay 相当） */
.outline-card__image::after{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.3);
	  transition: background .4s ease;
}

/* 中央テキスト */
.outline-card__title{
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#fff;
	font-size:1.33333rem;
  font-weight:600;
  z-index:1;
  text-align:center;
}

/* 説明文 */
.outline-card__desc{
  margin-top:12px;
  font-size:14px;
  color:#333;
  line-height:1.6;
}


@media (min-width:768px){
/* hover拡大（u-img-scale 相当） */
.outline-card__link:hover img{
  transform: scale(1.05);
}
	.outline-card__link:hover .outline-card__image::after{
  background: rgba(0,0,0,.5);   /* hover時 */
}
}

@media (max-width:780px){
	.outline{
		padding-top:40px;
		padding-bottom:40px;
	}
	
	.outline-flex{
		flex-direction:column;
		align-items:center;
		gap:24px;
	}
	.outline-card{
		max-width:350px;
		width:90%;
	}
	.outline-card__image{
		height:auto;
		max-height:160px;
	}
}

/*TOP-COLUMN*/
.top-column{
	padding:64px 0px;
}
.top-column .sec-ttl{
	text-align:center;
	margin-bottom:48px;
}
.column-slider .u-item-scroll{
	gap:20px;
}
.post-slider__item{
	position:relative;
}

.post-slider__item a{
	text-decoration:none;
}

.post-slider__item .cat-name {
    position: absolute;
    top: 8px;
    left: 8px;
	display: inline-block;
    margin-bottom: 16px;
    padding-right: 8px;
    padding-left: 8px;
    width: fit-content;
    border-radius: 30px;
    line-height: 1.5;
    vertical-align: top;
    backface-visibility: hidden;
    letter-spacing: 0.04em;
    font-size: 0.72727rem;
}
.post-slider__item__info {
    padding-top: 16px;
}
.post-slider__item__title {
    line-height: 1.5;
    letter-spacing: 0.04em;
    font-size: 0.88889rem;
}

@media (max-width:600px){
	.top-column{
		padding:48px 0px;
	}
	.top-column .sec-ttl{
		margin-bottom:16px;
	}
}

@media (min-width:768px){
	.u-img-scale img{
		transform:scale(1);
		transition:0.3s;
	}
	.u-img-scale img:hover{
		transform:scale(1.1);
		transition:0.3s;
	}
	.post-slider__item__thumbnail{
		overflow:hidden;
	}
}

/*Message*/
.message{
	padding:60px 0px;
	background:#f8f8f8;
}
.message-flex{
	display:flex;
	justify-content:space-between;
}
.message-left{
	width:38%;
}

.message-right{
	width:60%;
}
.message-right .sec-ttl{
	margin-bottom:32px;
}

.message-right p{
	margin-bottom:1em;
	letter-spacing:0.04em;
}

@media (max-width:600px){
	.message-flex{
		flex-direction:column;
		gap:24px 0px;
	}
	.message-left,
	.message-right{
		width:100%;
	}
}

/*summary*/
.summary{
	padding:80px 0px;
}
.summary .sec-ttl{
	text-align:center;
}
.summary table{
	width:100%;
	max-width:600px;
	margin:auto;
	margin-top:40px;
}
.summary tr{
	display:flex;
	align-items:center;
	border-bottom:1px solid #b8bcc0;
	position:relative;
}

.summary tr:after{
	content:"";
	position:absolute;
	bottom:-1px;
	width:100px;
	left:0;
	height:1px;
	background:#3f5973;
}

.summary th{
	width:30%;
	padding:20px 10px;
	text-align:left;
	font-weight:400;
}
.summary td{
	width:70%;
	padding:20px 10px;
}
@media (max-width:600px){
	.summary{
		padding:48px 0px;
	}
	
	.summary table{
		margin-top:20px;
	}
}

/*Access*/
.access{
	padding:60px 0px;
	padding-top:0;
	text-align:center;
}
.access iframe{
	margin:auto;
	display:block;
	max-width:690px;
	margin-top:40px;
	width:100%;
}
@media (max-width:600px){
	.access iframe{
		height:280px;
	}
}


/*About message*/
.about-message{
	padding:80px 0px;
}
.about-message-flex{
	display:flex;
	justify-content:space-between;
	margin-bottom:4em;
}
.about-message-left{
	width:47%;
	letter-spacing:0.01em;
}
.about-message-right{
	width:50%;
}
.about-message-left p{
	margin-bottom:1.8em;
}

.about-message-img{
	max-width:510px;
	margin:auto;
	width:100%;
}

.about-message .summary{
	padding:0;
}

.about-message table{
	width:100%;
	max-width:100%;
}

@media (max-width:600px){
	.about-message{
		padding:48px 0px;
	}
	
	.about-message-flex{
		flex-direction:column;
		gap:24px;
	}
	.about-message-left,
	.about-message-right{
		width:100%;
		max-width:100%;
	}

}



/*CASE*/
.case-sec{
	padding:60px 0px;
}

.case-sec h3{
	background-color: #f8f8f8;
    border-color: #f8f8f8;
    color: #333333;
    text-align: left;
	padding:8px 24px;
	margin-bottom:1em;
}

.case-flex{
	display:flex;
	justify-content:space-between;
	margin-bottom:3em;
	gap:0px 16px;
}
.case-left{
	width:10%;
}
.case-right{
	width:90%;
}
.case-left figure{
	width:80px;
	height:80px;
}

.case-left figure img{
	border:2px solid #e5e7e8;
	border-radius:50%;
	height:80px;
	width:80px;
	object-fit:cover;
}
.epb-testimonial__name{
	font-size: 14px;
	margin-top: 8px;
}
.case-left span{
	display:block;
	font-size:13px;
}

@media (max-width:768px){
	.case-sec{
		padding-bottom:0;
	}
	
	.case-flex{
		flex-direction:column;
		gap:16px 0px;
	}
	.case-left{
		display:flex;
		width:100%;
		align-items:center;
		flex-wrap:wrap;
	}
	.case-left span{
		display:block;
		margin-left:1em;
		margin-top:8px;
	}
	.epb-testimonial__name{
		margin-left:10px;
	}
	.case-right{
		width:100%;
	}
	.case-right h3{
		font-size:18px;
		padding:12px;
	}
}

/*Flowページ*/
.flow-sec{
	padding:80px 0px;
	padding-bottom:8px;
}

.flow-flex{
	display:flex;
	gap:0px 20px;
	margin-bottom:32px;
}
.flow-left{
	width:60px;
}


/* 丸数字 */
.flow-left .num{
  display:flex;
  justify-content:center;
  align-items:center;
  background:#3f5973;
  color:#fff;
  font-weight:bold;
  width:40px;
  height:40px;
  border-radius:50%;
  font-size:18px;
  position:relative;
  margin: 0 auto;
}

/* 点線（JSで高さを入れる） */
.flow-left .num::after{
  content:"";
  position:absolute;
  top:100%;
  left:50%;
  transform: translateX(-50%);
  width:1px;
  border-left: 1px dotted #c3c7cc;
  height: 0; /* ← JSで制御 */
}

.flow-left .num::after{
  height: var(--line-height, 0);
  display: var(--line-display, block);
}

.flow-left .num.is-last::after{
  display:none;
}

.flow-right{
	width:calc(100% - 60px);
}

.flow-right h3{
	font-size:20px;
	font-weight:bold;
	margin-bottom:16px;
}
.flow-right figure{
	margin-top:16px;
}
.flow-right img{
		margin:auto;
	display:block;
}

/* ===== Fee Section ===== */
.fee-sec {
	padding-bottom:80px;
}

.fee-sec__titlebox {
  border: 1px solid #d9d9d9;
  padding: 22px 16px;
  text-align: center;
  font-size: 26px;
  letter-spacing: 0.08em;
  margin-bottom: 28px;
}

.fee-emanon{
  display: flex;
  flex-direction: column;
  gap: 32px;
}

/* 3列：左 dt / 中 hr / 右 dd */
.fee-dl{
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 18px;
  margin: 0;
}

.fee-dt{
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
}

.fee-dd{
  margin: 0;
  font-size: 16px;
  line-height: 1.6;
  color: #222;
  white-space: nowrap;
}

.fee-hr hr{
  border: none;
  border-bottom: 2px dotted #cfcfcf;
  margin: 0;
  transform: translateY(-2px);
}


.fee-notes {
  margin-top: 40px;
  font-size: 13px;
  line-height: 1.9;
  color: #333;
}

.fee-notes p {
  margin: 0 0 32px;
}


@media (max-width:600px){
	.flow-right h3{
		margin-top:8px;
	}
	
	.fee-dl.third{
		grid-template-columns: 1fr auto;
    grid-template-rows: auto auto auto;
    align-items: center;
	}
	.fee-dl.third hr{
		width:122px;
	}
}

/*Contact*/
.contact-sec{
	padding:60px 0px;
}

.contact-sec p{
	margin-bottom:40px;
}

.contact-flex{
	display:flex;
	justify-content:space-between;
}
.contact-left,
.contact-right{
	width:48%;
}
.contact-sec h2{
	background:#f0ad4e;
	color:#fff;
	padding-top: 8px;
	padding-bottom: 8px;
	padding-right: 8px;
	padding-left: 12px;
	border-left:6px solid #3f5973;
	font-size:21.333px;
	margin-bottom:24px;
}
.contact-sec img{
	margin:auto;
}

.contact-sec input,
.contact-sec textarea{
	width:100%;
	padding:6px 12px;
	border-radius:3px;
	border:1px solid #b8bcc0;
}
.contact-sec .wpcf7 p{
	margin-bottom:16px;
}

.contact-sec input[type="submit"]{
	    background-color: #3f5973;
    color: #ffffff;
	max-width:300px;
	margin:auto;
	display:block;
	padding:12px 0px;
	font-weight:bold;
}

@media (max-width:600px){
	.contact-flex{
		flex-direction:column;
		gap:24px 0px;
	}
	.contact-left,
	.contact-right{
		width:100%;
	}
}


/*FAQ*/
.faq-sec{
padding:40px 0px;}

.faq{
  margin-top: 24px;
}

.faq-item{
  border-radius: 6px;
  overflow: hidden;
  background: #e5e7e8;
  margin-bottom: 12px;
}

.faq-q{
  list-style: none;
  cursor: pointer;
  padding: 16px 18px;
  color: #333;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.faq-q::-webkit-details-marker{
  display:none;
}

.faq-q__text{
  font-weight: 600;
  line-height: 1.6;
}

/* ＋ / − アイコン */
.faq-q__icon{
  position: relative;
  width: 16px;
  height: 16px;
  flex: 0 0 auto;
}
.faq-q__icon::before{
  content:"";
  position:absolute;
  top:50%;
  left:0;
  width:100%;
  height:2px;
  background:#666;
  transform: translateY(-50%);
}
.faq-q__icon::after{
  content:"";
  position:absolute;
  top:0;
  left:50%;
  width:2px;
  height:100%;
  background:#666;
  transform: translateX(-50%);
  transition: opacity .2s ease;
}
.faq-item[open] .faq-q__icon::after{
  opacity: 0;
}

.faq-a{
  height: 0;
  overflow: hidden;
  transition: height .35s ease;
  background: #fff;
}

.faq-a__inner{
  padding: 16px 18px 18px;
}

.faq-item[open] .faq-a{
  grid-template-rows: 1fr;
}

.faq-a p{
  margin: 0;
  line-height: 1.8;
  color:#333;
}

.faq-q__text::before{
  content: "Q. ";
  font-weight: 700;
}
.faq-a p::before{
  content: "A. ";
  font-weight: 700;
}


/*Breadcrumb*/
.breadcrumb{
	    margin-top: 10px;
    margin-bottom: 10px;
    color: #484848;
    overflow: hidden;
	max-width:1180px;
	width:92.84%;
	margin:auto;
	margin-top:8px;
	margin-bottom:20px;
}

.breadcrumb__inner {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height: 1.6;
    font-size: 0.8rem;
}
.breadcrumb__item {
    display: inline;
}
.breadcrumb__item a {
    text-decoration: none;
    color: #004e8e;
	transition:0.4s;
}
.icon-chevron-right:before{
	position:relative;
	top:1px;
}



/*Blog-Archive*/
.blog-sec{
	padding:24px 0px;
	padding-bottom:100px;
}

.blog-sec h1{
    line-height: 1.5;
    font-size: 1.33333rem;
	margin-bottom:1.5em;
}

.blog-flex{
	display:flex;
	justify-content:space-between;
}

.blog-left{
	width:65%;
}
.blog-right{
	width:300px;
}

.archive-list a{
	display:flex;
	border:;
	text-decoration:none;
	position:relative;
	box-shadow:0 1px 3px 1px rgb(0 0 0 / 0.08);
	margin-bottom:32px;
}

.post-thumbnail{
	width:300px;
}

.archive-list a li{
	list-style:none;
	font-size:12.8px;
	color:#484848;
	margin:0;
	transition:0.4s;
}

.article-info{
	padding:16px;
	width:calc(100% - 300px);
}
.cat-name{
	position:absolute;
	top: 16px;
	left: 16px;
	margin-bottom: 0;
	font-size:0.72727rem;
	color:#fff;
	background:rgb( 63 89 115 / 0.7 );
	padding:0px 10px;
	border-radius:100px;
}

.article-title{
	font-size:1.14286rem;
}

.article-info ul{
	padding:0;
	margin:0;
	position:absolute;
	bottom:16px;
}

/*Sidebar*/
.sidebar-title{
position: relative;
    margin-bottom: 4px;
    width: 100%;
    line-height: 1.25;
    letter-spacing: 0.04em;
    font-size: 1rem;
}
.sidebar-related__list{
	margin-top:16px;
}
.sidebar-related__list li{
	list-style:none;
	padding:8px 0px;
	margin:0;
	border-bottom:1px solid #e5e7e8;
}
.sidebar-related__list li:last-child{
	border-bottom:none;
}

.sidebar-related__list li a{
	display:flex;
	justify-content:space-between;
	text-decoration:none;
	transition:0.4s;
	position:relative;
}
.sidebar-img{
	overflow:hidden;
	position:relative;
}

.sidebar-related__list li a img{
	width:107px;
	height:60px;
	object-fit:contain;
	transition:0.4s;
}
.sidebar-related__list li a h3{
	width:calc(100% - 115px);
	font-size:14.333px;
	line-height:1.4;
}


/* 三角形 */
.popular-post-rank{
	position:absolute;
	top:0;
	left:0;
  display: block;
  width: 0;
  height: 0;
  border-top: 26px solid #3f5973;
  border-right: 26px solid transparent;
	z-index:10;
}
.post-rank{
	position:absolute;
	display:block;
	top:-28px;
	left:0;
	color:#fff;
	font-size:12px;
	left:4px;
}

/* 数字 */
.post-rank::after{
  content: attr(data-rank);
  position: absolute;
  top: -40px;
  left: 6px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  line-height: 1;
}

.pagination{
	margin-top: 16px;
	margin-bottom: 32px;
	text-align: center;
}

.page-numbers.current {
    background-color: #004e8e;
	    border: 1px solid #eeeff0;
    color: #fff;
}

.page-numbers{
	    position: relative;
    display: inline-block;
    margin-right: 4px;
    min-width: 32px;
    height: 32px;
    line-height: 32px;
    background-color: #fff;
    border-radius: 50%;
    border: 1px solid #e5e7e8;
    text-align: center;
    font-size: 0.72727rem;
    color: #484848;
    transition: all 0.3s ease;
    text-decoration: none;
}

.prev,
.next{
	border:none;
}

.prev.page-numbers::before {
    content: "\e940";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -16px;
    font-family: "icomoon";
    color: #828990;
    transition: all 0.2s ease-in;
    font-size: 1rem;
}

.next.page-numbers::after {
    content: "\e941";
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: -16px;
    font-family: "icomoon";
    color: #828990;
    transition: all 0.2s ease-in;
    font-size: 1rem;
}

.page-numbers.dots {
    border: none;
    background-color: inherit;
}

@media (min-width:768px){
	.sidebar-related__list li a:hover img{
		transform:scale(1.2);
		transition:0.4s;
	}
}

@media (max-width:960px){
	.blog-flex{
		flex-direction:column;
	}
	.blog-left,
	.blog-right{
		width:100%;
		max-width:100%;
	}
	.sidebar-related__list li a p{
		letter-spacing:0.04em;
	}
	.related-posts{
		display:none;
	}
	.sidebar-related{
		margin-top:40px;
	}
	.post-content h2{
		font-size:21px;
	}
}

/*Single*/
.post-category{
	display: inline-block;
    padding-top: 2px;
    padding-bottom: 2px;
    padding-right: 16px;
    padding-left: 16px;
    border-radius: 30px;
    line-height: 1.5;
    border: solid 1px #e5e7e8;
    text-decoration: none;
    letter-spacing: 0.02em;
    font-size: 0.72727rem;
    color: #484848;
	margin-bottom:16px;
}
.post-category a{
		text-decoration:none;
}
h1.post-title{
	font-size:1.6rem;
	    line-height: 1.4;
    letter-spacing: 0.04em;
    font-size: 1.4rem;
    font-weight: bold;
    color: #333;
}

.post-dates{
	margin-top:24px;
	font-size:0.8rem;
	letter-spacing:0.04em;
	color:#484848;
	margin-bottom:24px;
}

.post-date--modified{
	position:relative;
	margin-left:4px;
}
.post-date--modified::before{
	content: "\e93f";
	    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
}

/*Post-content*/
.post-content{
	margin-top:2em;
}
.post-content p{
	margin-top:40px;
}
.post-content p:first-child{
	margin-top:0;
}

.post-content ul,
.post-content ol{
	margin:0;
	padding-left:1em;
}

.post-content ul li a,
.post-content ol li a{
	transition:0.4s;
}

.post-content .epb-box{
	margin-top:40px;
}
.post-content figure{
	margin-top:40px;
}
.post-content a,
.post-content .c-link,
.post-content .c-link__underline{
	color:#004e8e;
	text-decoration:none;
}
.post-content h2{
	    padding-top: 8px;
    padding-bottom: 8px;
    padding-right: 8px;
    padding-left: 12px;
    background-color: #8ba0b6;
    border-left: 6px solid #3f5973;
    color: #ffffff;
	margin-top:40px;
	font-size:21.333px;
}

.post-content h3{
	margin-top:40px;
	position: relative;
    padding-top: 8px;
    padding-bottom: 8px;
    border-bottom: solid 3px #8ba0b6;
	font-size:1.14286rem;
	line-height:1.333;
}
.post-content h3:before{
	    position: absolute;
    content: "";
    bottom: -3px;
    left: 0;
    width: 15%;
    height: 3px;
    background-color: #3f5973;
    z-index: 2;
}

.post-content h4{
	padding-left: 12px;
    border-left: 3px solid #3f5973;
	line-height: 1.14286;
	font-size: 1.14286rem;
}
.post-content table th{
	background-color: #fafafa;
    font-weight: bold;
}

.post-content .wp-block-table td,
.post-content .wp-block-table th{
	border: 1px solid;
    padding: .5em;
}
.post-content .wp-block-table td{
	vertical-align:middle;
}
.post-content td,
.post-content th{
	word-break:break-all;
}
.post-content .wp-block-quote{
	margin-top:40px;
	    margin-bottom: 0;
    padding-top: 24px;
    padding-bottom: 24px;
    padding-right: 32px;
    padding-left: 32px;
    background-color: #f8f8f8;
    border-radius: 3px;
	position:relative;
	font-size:14.222px;
	margin-left:16px;
	margin-right:16px;
}


.wp-block-quote::before {
    content: '';
    top: 10px;
    left: 10px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M4.58341 17.3211C3.55316 16.2274 3 15 3 13.0103C3 9.51086 5.45651 6.37366 9.03059 4.82318L9.92328 6.20079C6.58804 8.00539 5.93618 10.346 5.67564 11.822C6.21263 11.5443 6.91558 11.4466 7.60471 11.5105C9.40908 11.6778 10.8312 13.159 10.8312 15C10.8312 16.933 9.26416 18.5 7.33116 18.5C6.2581 18.5 5.23196 18.0095 4.58341 17.3211ZM14.5834 17.3211C13.5532 16.2274 13 15 13 13.0103C13 9.51086 15.4565 6.37366 19.0306 4.82318L19.9233 6.20079C16.588 8.00539 15.9362 10.346 15.6756 11.822C16.2126 11.5443 16.9156 11.4466 17.6047 11.5105C19.4091 11.6778 20.8312 13.159 20.8312 15C20.8312 16.933 19.2642 18.5 17.3312 18.5C16.2581 18.5 15.232 18.0095 14.5834 17.3211Z' fill='%23828990'%3E%3C/path%3E%3C/svg%3E");
    background-position: top 35% left 35%;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    width: 16px;
    height: 16px;

}

.has-warning-color{
	color:#dc3545;	
}

.blog-card__inner{
	display:flex;
	padding:24px;
	border:2px solid #e5e7e8;
}
.blog-card__inner figure{
	margin:0;
	max-width:214px;
	width:100%;
}
.blog-card__body{
    display: block;
    margin-bottom: 8px;
    font-weight: bold;
    line-height: 1.5;
    font-size: 1rem;
    color: #333;
	padding:0px 20px;
}

.blog-card__excerpt{
display: block;
        margin-top: 8px;
        margin-bottom: 8px;
        line-height: 1.8;
        font-size: 0.72727rem;
        color: #484848;
	color:#484848;
	font-weight:400;
}

.epb-panel__wrapper p{
	line-height:1.8;
	margin:0;
}

@media (max-width:960px){
	.single .breadcrumb,
	.blog-left{
		max-width:736px;
		margin:auto;
	}
}

@media (min-width:768px){
	.post-content ul li:hover a,
		.post-content ol li:hover a{
		color:#828990;
		transition:0.4s;
	}
	.post-content .wp-block-quote{
		margin-left:8px;
		margin-right:8px;
	}
}

/*監修者*/
.author-card{
	margin-top:48px;
	border-radius:3px;
	background:#eeeff0;
	padding:24px;
}

.author-card__title {
  margin-bottom: 16px;
  letter-spacing: 0.1em;
  font-size: 1.14286rem;
}

.author-card .u-row{
	display:flex;
	justify-content:space-between;
	gap:0px 24px;
}

.author-card__avatar {
  margin-bottom: 24px;
  text-align: center;
	width:80px;
}
.author-card__avatar .avatar {
    width: 80px;
    height: 80px;
    border-radius: 50%;
	object-fit:cover;
}
.author-card__avatar--name{
    margin-top: 8px;
    letter-spacing: 0.04em;
    font-size: 0.8rem;
    font-weight: normal;
}

.author-card__description{
	width:calc(100% - 100px);
}
.author-card__description p {
    font-size: 0.88889rem;
}

/*前後ページ*/
/* ===== 前後記事 ===== */
.post-pager{
  margin-top: 24px;
  padding-top: 24px;
}
.post-pager__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.pager-card__label{
  font-size: 12px;
  margin-bottom: 8px;
	    line-height: 1;
    letter-spacing: 0.04em;
    font-size: 0.88889rem;
    font-weight: bold;
}

.pager-card--next .pager-card__label{
		text-align:right;
}

.pager-card__link{
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 14px;
  border: 1px solid #e5e7e8;
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  background: #fff;
}
.pager-card__thumb{
  width: 72px;
  flex: 0 0 auto;
  margin: 0;
}
.pager-card__thumb img{
  width: 100%;
  height: auto;
  display: block;
}
.pager-card__title{
  font-weight: 600;
  line-height: 1.5;
  font-size: 14px;
}

/* 右カード（次のページ）は右寄せ感 */
.pager-card--next .pager-card__link{
  justify-content: space-between;
}
.pager-card--next .pager-card__title{
  text-align: left;
}

/* ===== 関連記事 ===== */
.related-posts{
  margin-top: 40px;
}
.related-posts__title{
  font-size: 18px;
  font-weight: 700;
  margin-bottom: 16px;
}

.related-posts__grid{
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.related-card__link{
  display: flex;
  gap: 12px;
  align-items: center;
  border: 1px solid #e5e7e8;
  border-radius: 6px;
  text-decoration: none;
  color: inherit;
  background: #fff;
}

.related-card__thumb{
  width: 78px;
	height:78px;
  flex: 0 0 auto;
  margin: 0;
}
.related-card__thumb img{
  width: 100%;
  height: 100%;
  display: block;
	object-fit:cover;
	transition:0.4s;
}

.related-card__title{
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  line-height: 1.5;

  /* タイトル長い時に2行で… */
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}


@media (max-width: 600px){
	.single .blog-sec{
		padding-top:0;
	}
	
  .post-pager__grid{
    grid-template-columns: 1fr;
  }
  .related-posts__grid{
    grid-template-columns: 1fr;
  }
	.page-header,
	.page-header{
		height:250px;
	}
	.post-thumbnail{
		width:160px;
	}
	.article-info{
		width:calc(100% - 160px);
		padding:8px;
	}
	.article-title{
		line-height: 1.4;
    font-size: 0.72727rem;
		display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  overflow: hidden;
  line-height: 1.5;
  max-height: calc(1.5em * 3);
	}
	.article-info ul{
		bottom:4px;
	}
	.article-info ul li{
	font-size:9.8px;
	}
	.cat-name{
		font-size:7px;
		top:8px;
		left:8px;
	}
	.author-card .u-row{
		flex-direction:column;
		gap:8px 0px;
		align-items:center;
	}
	.author-card__title{
		text-align:center;
	}
	.author-card__avatar{
		margin-bottom:0;
	}
	.author-card__description{
		width:100%;
	}
		.blog-card__inner{
		flex-direction:column;
		align-items:center;
		gap:16px 0px;
			padding:16px;
	}
	.blog-card__inner figure{
		max-width:100%;
	}
	
	.blog-card__body{
		padding:0;
		width:100%;
		max-width:100%;
	}
	.blog-card__excerpt{
		display:none;
	}
}

/*hover*/
@media (min-width:768px){
	.header-right nav > ul > li:hover a{
		    color: #8ba0b6;
		transition:0.4s;
	}
	
	.line-btn:hover{
		background:#bcf4ba;
		transition:0.4s;
	}
	.contact-btn:hover{
		transition:0.4s;
		background:#8ba0b6;
	}
	
.pager-card__link:hover{
		border:1px solid #333;
		transition:0.4s;
	}
	.related-card__link:hover,
	.archive-list a:hover{
		transition:0.4s;
		transform: translateY(-3px);
    box-shadow: 0 1px 12px 0 rgb(0 0 0 / 0.1);
		cursor:pointer;
	}
	.page-numbers:hover{
    border: 1px solid #eeeff0;
    color: #fff;
		background:#828990;
				transition:0.4s;
}
		.page-numbers.prev:hover,
	.page-numbers.next:hover{
		background:none;
		border:none;
		color:inherit;
		opacity:0.8;
		transition:0.4s;
	}
.next.page-numbers:hover::after{
		right:-20px;
	transition:0.4s;
	}
	.prev.page-numbers:hover::before{
	left:-20px;
	transition:0.4s;
	}
	.page-numbers.dots:hover{
    border: none;
    background-color: inherit;
		color:#333;
}
	.breadcrumb__item a:hover{
		opacity:0.8;
		transition:0.4s;
	}
	.post-category:hover{
		    border: solid 1px #828990;
    color: #484848;
		transition:0.4s;
	}
}


/*Sticky*/
 .footer-sticky {
                display: none;
            }

            @media (max-width: 600px) {
                .footer-sticky {
                    display:block;
                    position: fixed;
                    bottom: 0;
                    left: 0;
                    width: 100vw;
                    margin: 0 calc(50% - 50vw);
                    background: #3f5973;
                    padding: 7.5px 2.5px;
                    z-index: 99999;
                }
				
				.footer-sticky a{
					text-decoration:none;
				}

                .sticky-flex {
                    display: flex;
                }

                .sticky-flex div {
                    width: 30%;
                    margin: 0px 1.6%;
                    border-radius: 3px;
                    background: #fff;
                }

                .sticky-flex img {
                    width: 30px;
                    height: 20px;
                    object-fit: contain;
                    margin: auto;
                    display: block;
                    margin-top: 5px;
                }

                .sticky-flex div span {
                    padding: 2.5px;
                    display: block;
                    font-size: 10px;
                    font-weight: bold;
                    display: block;
                    text-align: center;
                    color: #3f5973;
                    font-weight: bold;
                }

                div.sticky-mail span {
                    color: #996c38;
                }

                div.sticky-line span {
                    color: #00B900;
                }
            }


/*thanks-sec*/
.thanks-sec{
	padding:40px 0px;
}
.thanks-sec h1{
	font-size:1.6rem;
	margin-bottom:1em;
}
.thanks-sec p{
	margin-bottom:2em;
}


/*Page*/
.page-sec{
	padding:40px 0px;
}

.page-sec h1{
	font-size:1.6rem;
	line-height:1.4;
	letter-spacing:0.04em;
	margin-bottom:1em;
}
.page-sec h2{
	padding-top: 8px;
    padding-bottom: 8px;
    padding-right: 8px;
    padding-left: 12px;
    background-color: #8ba0b6;
    border-left: 6px solid #3f5973;
    color: #ffffff;
	margin-top:2em;
	margin-bottom:1em;
	font-size:21.333px;
}
.page-sec p{
	margin-bottom:2em;
	line-height:1.8;
}
@media (max-width:600px){
	.page-sec h1{
		font-size:1.4rem;
	}
}

/*Header-Contact*/
.contact-panel{
height:208px;
  overflow: hidden;
  opacity: 0;
  transition: max-height .35s ease, opacity .25s ease;
	position:absolute;
	top:86px;
	width:100%;
	z-index:10;
}

.contact-panel.is-open{
  height: 208px;
  opacity: 1;
	display:block;
	z-index:999;
}


/* 既存CTAの背景はパネル側で持つなら透明でOK */
.cta-sec--panel{
  background: transparent;
	height:100%;
	padding:0;
	display:flex;
	align-items:center;
	background:rgb( 51 51 51/1);
	color:#fff;
}
.cta-sec--panel .cta-title,
.cta-sec--panel .tel-number{
	color:#fff;
}

.cta-sec--panel:before{
	display:none;
}

/* header-contact 基本 */
.header-contact{
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

/* ✕ アイコン（初期は非表示） */
.header-contact::after{
  content: "\e979";
	    font-family: "icomoon" !important;
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    -webkit-font-smoothing: antialiased;
	color:#fff;
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;

  opacity: 0;
  transition: opacity .2s ease;
}

/* open時：メールSVGを消す */
.header-contact.is-active svg{
  opacity: 0;
}

/* open時：✕を表示 */
.header-contact.is-active::after{
  opacity: 1;
}

#contactPanel {
  display: none;
}

#contactPanel.is-open {
  display: block;
}

@media (max-width:960px){
	.contact-panel{
		top:60px;
	}
	.contact-panel.is-open{
		height:auto;
	}
	.cta-sec--panel{
		padding:24px 0px;
	}
}

/*相続Thanks*/
	.page-id-2681 .sticky-nav{
		display:none !important;
	}


/*Embed*/
.wp-block-embed iframe{
	width:100%;
}

.c-embedCard{
  font-family: inherit;
}

.c-embedCard__link{
  display:flex;
  gap:24px;
  align-items:flex-start;
  text-decoration:none;
  color:inherit;
  border:2px solid #e5e7e8;
  border-radius:3px;
  padding:24px;
  background:#fff;
}

.c-embedCard__thumb{
  flex:0 0 214px;
}

.c-embedCard__img{
  width:100%;
  height:120px;
  object-fit:contain;
  border-radius:3px;
  display:block;
}

.c-embedCard__noimg{
  width:100%;
  height:140px;
  border-radius:3px;
  background:#eee;
}

.c-embedCard__title{
display: block;
    margin-bottom: 8px;
    font-weight: bold;
    line-height: 1.5;
    font-size: 1rem;
    color: #333;
}

.c-embedCard__excerpt{
        display: block;
        margin-top: 8px;
        margin-bottom: 8px;
        line-height: 1.5;
        font-size: 0.72727rem;
        color: #484848;
        word-break: break-word;
	letter-spacing:0.04em;
}

/* SPは縦並び */
@media (max-width: 500px){
  .c-embedCard__link{
    flex-direction:column;
  }
  .c-embedCard__thumb{
    flex:0 0 auto;
    width:100%;
  }
	.c-embedCard__excerpt{
		display:none;
	}
	
  .c-embedCard__img,
  .c-embedCard__noimg{
    height:auto;
  }
}
@media (hover: hover) and (pointer: fine){
  .c-embedCard__link{
    transition: 0.4s;
  }
  .c-embedCard__link:hover{
	      border:2px solid #828990;
  }
}


/*Style調整*/
.epb-balloon__icon figure{
	margin:0;
}
.epb-balloon{
	margin-top:40px;
}
#ez-toc-container{
	margin-top:40px;
}
.wp-block-table td, .wp-block-table th, .wp-block-table tr{
	border-color:#b8bcc0;
}