@charset "UTF-8";
@import "https://use.fontawesome.com/releases/v5.13.0/css/all.css";

/*!
Theme Name: Cocoon Child
Description: Cocoon専用の子テーマ
Theme URI: https://wp-cocoon.com/
Author: わいひら
Author URI: https://nelog.jp/
Template:   cocoon-master
Version:    1.1.3
*/

/************************************
 　　子テーマ用のスタイルを書く
************************************/
/*必要ならばここにコードを書く*/



/*
Author: 宮園
*/

/***********表示非表示設定***********/

/*背景なし*/
.main, .sidebar{
	background: none;
}
/*固定ページ日付非表示*/
.page .date-tags{
	display:none;
}
/*リキャプチャロゴマーク非表示*/
.grecaptcha-badge { visibility: hidden; }
/*モバイルのみ設定*/
/* 非表示 */
@media screen and (max-width: 991px){
	.mobile-hide{
		display:none!important;
	}
}
/* モバイルのみ改行*/
@media screen and (min-width:768px){
	.br-sp{/*改行タグを無効に*/
		display:none;
	}
/*モバイル用お問い合わせメニューを表示させない*/
	.mobile-footer-area{
	display:none;
	}
}	
@media screen and (max-width: 768px){
/*TOPのお問合せボタンなし*/
	.side-button{
		display:none!important;
	}
}

/* コクーン初期見出しリセット */
/* 見出し2 */
.page h2{
	background:none;
	padding:none;
}
/* 見出し3 */
.page h3{
	border-top:none;
	border-bottom:none;
	border-left:none;
	border-right:none;
	padding: none;
}
/* 見出し4 */
.page h4{
	padding: none;
	font-size:none;
	line-height:none;
	border-top:none;
	border-bottom:none;
}
/* 見出し5 */
.page h5{
	border-bottom:none;
	padding: none;
}
/* 見出し6 */
.page h6{
	border-bottom:none;
	padding:none;
}



/**********フォントスタイル **********/

.manga-font{
	font-family: 'M PLUS 1p', sans-serif;
}
.rittai-font{
	font-family: "Rampart One", sans-serif!important;
	font-weight: 700;
	font-style: normal!important;
}
.maru-font{
	font-family: "Dela Gothic One", sans-serif;
	font-weight: 400;
	font-style: normal;
}
.yasasii-font{
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 900;
	font-style: normal;
}
.eigo-font{
	font-family: Rubik, sans-serif;
    font-style: italic;
	color: #333;
}

/*フォント独自サイズ指定*/
.big-font{/*大*/
	font-size:clamp(15px, 9vw, 95px);
	line-height: 1.3;
}
.middle-font{/*中*/
	font-size:clamp(15px, 5.5vw, 50px);
	line-height: 1.3;
}
.small-font{/*小*/
	font-size:clamp(13px, 4vw, 29px);
}
.mini-font{/*ミニ*/
	font-size:clamp(12px, 3vw, 21px);
}
.small-font, .middle-font, .big-font, .mini-font{/*フォントスタイル*/
	font-family: 'M PLUS 1p', sans-serif;
}

/*フォント指定なしサイズのみ*/
.small-font-simple{/*小*/
	font-size:clamp(13px, 4vw, 29px)!important;
}
.middle-font-simple{/*中*/
	font-size:clamp(15px, 5.5vw, 50px);
	line-height: 1.3;
}



/**********デザイン各種**********/

/*黄色点線*/
.dot-line{
	border-bottom: dotted 5px #fff53b;
}
.maru-border{
	border-radius:50px;
	border:3px solid #333;
}
/*背景方眼*/
.box{
	background-image: linear-gradient(0deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px)),
                    linear-gradient(90deg, transparent calc(100% - 1px), #f0f0f0 calc(100% - 1px));
	background-size: 16px 16px;
	background-repeat: repeat;
	background-position: center center;
}
/*縦書き*/
.tatekaki{
	writing-mode: vertical-lr;
	vertical-align:middle;
}
/*もっと見るボタン*/
.more-btn{
	text-align:center;
}
.more-btn a {
    font-weight: 700;
    display: inline-block;
	margin:30px auto;
    padding: 20px 30px 20px 50px;
	text-align: center;
    color: #283135;
    border-radius: 100vh;
    background: #fff;
	border:solid 1px #ddd;
    box-shadow: 0 5px 0 #ddd;
	text-decoration: none;
}
@media screen and (min-width: 768px){
	.more-btn a{
		transition: all .3s;
	}
	.more-btn a:hover {/*マウスオーバー*/
		transform: translateY(3px);
		box-shadow: 0 2px 0 #ddd;
	}
	.more-btn i {/*アイコン*/
		margin-left: 3rem;
		position:relative;
	}
}
@media screen and (max-width: 767px){
	.more-btn a{
		line-height: 1.5;
		position: relative;
		width: 100%;
		max-width: 280px;
		padding: 1.25rem 1rem 1.25rem 0;
	}
	.more-btn i {/*アイコン*/
		position: absolute;
		right: 41px;
		top: 24px;
	}
}
/* カール見出し2 (記事ページで使用中）*/
.curl {
	background-color: rgb(240,240,240); /* 背景色 */
	padding: .5em .75em;
	position: relative;
	z-index: 3;
	font-weight: bold;
	transform-style: preserve-3d;
}
.curl::before,
.curl::after {
	content: "";
	width: 30%;
	height: 50%;
	position: absolute;
	bottom: 8px;
	z-index: -1;
	box-shadow: 0 10px 15px rgba(0,0,0,.2);
}
.curl::before {
  left: .3em;
  -webkit-transform: translate3D(0,0,-1px) rotate(-3deg);
  transform: translate3D(0,0,-1px) rotate(-3deg);
}
.curl::after {
  right: .3em;
  -webkit-transform: translate3D(0,0,-1px) rotate(3deg);
  transform: translate3D(0,0,-1px) rotate(3deg);
}
/* 両サイド罫線見出し (トップメッセージで使用中）*/
.head-border {
    display: flex;
    align-items: center;
}
.head-border:before,
.head-border:after {
    content: "";
    height: 1px;
    flex-grow: 1;
    background-color: #666;
}
.head-border:before {
    margin-right: 1rem;
}
.head-border:after {
    margin-left: 1rem;
}
/* 右側だけ罫線見出し*/
.right-border{
display: flex;
align-items: center;
}
.right-border:after {
	border-top: 2px solid #ddd;
	content: "";
	flex-grow: 1;
}
.right-border:after {
	margin-left: 1rem;
}



/*********余白設定*********/
.page-id-155 .main,/*お役立ちコンテンツ*/
.page-id-53 .main,/*TOP*/
.page-id-4552 .main,
.page-id-151 .main,
.page-id-4918 .main,
.page-id-4976 .main{
	padding:0px!important;/*内側余白消す*/
}

/*TOP*/
.page-id-53 .content,.page-id-53 .entry-content{
	margin-top:0px;/*外側上*/
}
#post-53 *{
	margin-bottom:initial;}/*外側下*/

/******ブロック用余白指定*****/
@media screen and (min-width: 769px){/*タブレット以上*/
	.margin-wide-block{
		width:80%;
		margin-left:auto;
		margin-right:auto;
		max-width:1200px;
	}
	.margin-narrow-block{
		width:60%;
		margin-left:auto;
		margin-right:auto;
		max-width:1000px;
	}
}
@media screen and (max-width: 768px){/*画面小さい時更*/
	.margin-wide-block,.margin-narrow-block{
		margin-left:5%!important;
		margin-right:5%!important;
	}
}

/*****ブロック用余白指定（トップ用）****/
@media screen and (min-width: 1201px){
	.top-padding-block{
		width:60%;
		max-width:1100px;
		margin-left:auto;
		margin-right:auto;
	}
}
@media screen and (max-width: 1200px){/*画面小さい時更*/
	.top-padding-block{
		margin-left:5%!important;
		margin-right:5%!important;
	}
}



/*********スクロールバーデザイン*********/
::-webkit-scrollbar {
	width: 10px;
	height: 15px;
}
::-webkit-scrollbar-track {
	background:translate;
}
::-webkit-scrollbar-thumb {
	background: #adadad;
	border-radius: 5px;
}



/*************パンくずリスト*************/
.breadcrumb .fa-home,
.breadcrumb .fa-folder,
.breadcrumb .fa-file{/*アイコン非表示*/
	display: none;
}
#breadcrumb.breadcrumb {
	font-size: 15px;/*文字サイズ*/
	padding-left:20px;
}
/*ホームをTOPに変更*/
#breadcrumb.breadcrumb .breadcrumb-home a span{
	font-size: 0px;
}
#breadcrumb.breadcrumb .breadcrumb-home a span::before{
	font-size: 15px;
	content: "TOP";
}



/***********ページトップに戻るボタン***********/
.go-to-top{
	margin: 60px 10px;
}
.go-to-top-button{
	flex-direction: column;
	width: 80px;
    height: 80px;
	border-radius: 50px;
	opacity: .8;
	font-weight: 700;
	padding: 5px;
	border:solid 3px;
}
.go-to-top-button:after{
	content:'PAGE TOP'!important;
    font-size:10px; /* 文字サイズ */
    margin-top:2px;
}
@media screen and (min-width: 769px){/*タブレット以上*/
	.go-to-top{
		margin: 60px 50px;
	}
}



/***********スクロールボタン***********/
/* ボタンの装飾 */
.pulse-btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	top: -20px;
	border-radius: 50%;
	border: 1px solid #ddd;
	background-color: rgb(238,238,238,.5);
	box-shadow: 0 0 20px #ccc;
	cursor: pointer;
	margin: 0 auto;
}
/* ボタンの中のアイコン画像 */
.pulse-btn span{
	font-size:12px;
	color:#555;
	position:absolute;
}
/* ボタンの波紋 */
.pulse-btn::before, .pulse-btn::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border: 1px solid #ccc;
	border-radius: 50%;
	box-sizing: border-box;
	pointer-events: none;
	animation: pulsate 2s linear infinite;
}
.pulse-btn::after {
	animation-delay: 1s;
}
/* ボタンの波紋が広がっていくアニメーション */
@keyframes pulsate {
	0% {
		transform: scale(1);
		opacity: 1;
	}
	100% {
		transform: scale(2);
		opacity: 0;
	}
}



/***************サイドお問合せボタン****************/

label.side-tel{/*お問い合わせ*/
	background-color: hsl(37deg 100% 44%)!important;
}
.side-contact a{/*見積もり*/
	background-color: hsl(147deg 55% 44%)!important;
}
/*タブレット以上横側お問合せボタン*/
@media screen and (min-width: 768px){
	.side-button{/*基準を画面の右下に*/
		z-index: 999;
        position: fixed;
        top: 40%;
        right: 0;
	}
	.side-tel,.side-contact{/*ボタン外観*/
		width: 60px;
		height: 150px;
	    line-height: 1;
	    margin: 0;
        padding: 0;
        border: 0;
        outline: 0;
        vertical-align: baseline;
        background: transparent;
		margin-bottom: 18px!important;
		writing-mode:vertical-rl;
	}
	label.side-tel,.side-contact a{/*ボタン中身外観*/
		display: flex;
        align-items: center;
        justify-content: center;
    	width:100%!important;
        color:ghostwhite!important;
		font-weight:700;
        text-align: center;
        border-radius: 20px 0 0 20px;
     	border-right: none !important;
		padding: 7px 13px;
	}
	label.side-tel{/*ボタン罫線*/
		border: solid 2px hsl(37deg 100% 44%)!important;
	}
	.side-contact a{
		border: solid 2px hsl(147deg 55% 44%)!important;
	}
}
/*電話ボタンポップアップ*/
#popup{
	display: none; /*ポップアップ非表示*/
}
.popup-open {
	cursor: pointer; /*マウスオーバーでカーソルの形状変更*/
}
.popup-overlay {
	display: none; /*クリックするまでは背景グレーなし*/
}
#popup:checked ~ .popup-overlay {/*クリックで背景グレー*/
	display: block;
	z-index: 99999;
	background-color: #00000070;
	position: fixed;
	width: 100%;
	height: 100vh;
	top: 0;
	left: 0;
}
.popup-window {/*ポップアップ内外観*/
	width: 90vw;
	max-width: 560px;
	padding: 20px;
	background-color: #ffffff;
	border-radius: 6px;
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	line-height:initial;
}
.popup-close {/*ポップアップ内閉じるボタン*/
	cursor: pointer;
	position: absolute;
	top: -26px;
	right: 0;
}
.popup-window .contact-popup-title {/*ポップアップ内タイトル*/
    font-size: 1.5rem;
    font-weight: bold;
    text-align: center;
}
.popup-text{/*ポップアップ内文字*/
	text-align: center;
	margin: 0;
}
.popup-text:not(:last-of-type) {
	margin-bottom: 1em
}
.popup-text em {/*太字*/
    font-style: normal;
    font-weight: bold;
}
.popup-tel-01{/*電話番号部分背景*/
    background: #dbf4ff;
	margin: 20px auto;
    max-width: 340px;
    padding: 8px 5px 7px 5px;
    text-align: center;
    width: 100%;
}
.popup-tel-01 b {/*電話番号文字*/
    color: #0071c5;
    display: inline-block;
    font-size: 1.375rem;
    font-weight: bold;
    vertical-align: middle;
}


/*************横並び問い合わせボタンブロック全体*****************/
.top-contact{
	background-color:rgba(238,238,238,.7);
}
.contact-block{
	padding-top:2rem;
	padding-bottom:2rem;
	margin-bottom:0px!important;
}
/*ボタンまとめて*/
label.tel-block,a.mail-block{
	padding-top:1.5rem;
	padding-bottom:1rem;
	padding: 14px 30px;
	cursor: pointer;
	width:100%;
	border-radius:30px;
}
/*ボタン個別に設定*/
/*左、電話ボタン*/
label.tel-block{
	color: ghostwhite;/*文字色*/
	background:hsl(37deg 100% 44%);/*背景色*/
	box-shadow: 0 6px 0 hsl(37deg 100% 37%), 0 10px 5px rgba(0,0,0,.1);/*横,縦,ぼかし,広がり*//*色番号,透明度*/
	transition: color .3s, background .3s, box-shadow .3s, transform .3s;
	}
label.tel-block:hover {/*マウスオーバー*/
	color: white;
	background: hsl(37deg 105% 47%);
	box-shadow: 0 3px 0 hsl(37deg 100% 41%), 0 6px 5px rgba(0,0,0,.3);/*横,縦,ぼかし,広がり*//*色番号,透明度*/
	transform: translateY(3px);
}
label.tel-block:active{/*クリックで立体的に動く*/
	color: gainsboro;
	background: hsl(37deg 100% 44%);
	box-shadow: 0 0 0 hsl(37deg 46% 48%), 0 0 5px rgba(0,0,0,.3);/*横,縦,ぼかし,広がり*//*色番号,透明度*/
	transform: translateY(6px);
	transition-duration: .1s;
}
/*右、見積もりボタン*/
a.mail-block{
	color: ghostwhite!important;
	background: hsl(147deg 55% 44%)!important;
	box-shadow: 0 6px 0 hsl(147deg 55% 36%), 0 10px 5px rgba(0,0,0,.1)!important;/*横,縦,ぼかし,広がり*//*色番号,透明度*/
	transition: color .3s, background .3s, box-shadow .3s, transform .3s!important;
	}
a.mail-block:hover {/*マウスオーバー*/
	color: white!important;
	background: hsl(147deg 60% 46%)!important;
	box-shadow: 0 3px 0 hsl(147deg 55% 38%), 0 6px 5px rgba(0,0,0,.3)!important;/*横,縦,ぼかし,広がり*//*色番号,透明度*/
	transform: translateY(3px)!important;
}
a.mail-block:active{/*クリックで立体的に動く*/
	color: gainsboro!important;
	background:hsl(147deg 55% 44%)!important;
	box-shadow: 0 0 0 hsl(147deg 46% 48%), 0 0 5px rgba(0,0,0,.3)!important;/*横,縦,ぼかし,広がり*//*色番号,透明度*/
	transform: translateY(6px)!important;
	transition-duration: .1s!important;
}
/***モバイル表示***/
@media screen and (max-width: 781px){
	label.tel-block{
		padding-left: 5%;
		padding-right: 5%;
	}
}


/****お問い合わせ前吹き出し*****/
.top-contact-area{
	position: relative;
	text-align: center;
}
/*ふきだし外観*/
.under-fukidashi {
	font-family: 'M PLUS 1p',sans-serif;
    font-size: 27px;
    font-weight: 800;
    position: relative;
    display: inline-block;
    margin-top: -18px;
    border: 4px solid #eee;
    border-radius: 10px;
    background: #fff;
	padding: 5px 40px;
	box-shadow: 0 20px 18px 0 rgba(11,39,54,.1);
}
.under-fukidashi:before,
.under-fukidashi:after{
	position: absolute;
	left: calc(50% - 10px);
	content: "";
}
.under-fukidashi:before{
	bottom: -10px;
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #efefef transparent transparent transparent;
}
.under-fukidashi:after {
	bottom: -7px;
	border-width: 10px 10px 0 10px;
	border-style: solid;
	border-color: #fff transparent transparent transparent;
}
	




/**************************** ヘッダーレイアウト**********************************/

@media screen and (min-width: 1161px) {
	.header-container-in{
		width: 95%;
	}
}
#header {
		z-index:1;
}
/*ヘッダーロゴ画像*/
.header-container-in.hlt-top-menu .logo-header img {
	max-height: 44px;
}
/*ヘッダーロゴテキスト*/
.header-container-in.hlt-top-menu .site-name-text {
	font-family: 'Dela Gothic One', sans-serif;/*フォント*/
	font-style: italic;/*斜体*/
	font-size:29px;/*文字サイズ*/
}
/*ヘッダー背景*/
.header-container, .navi{
	background: transparent !important;
}

/*****PCスクロール時ヘッダー*****/

/*PCスクロール時ヘッダー影太さ（Cocoon初期値から上書き変更）*/
.fixed-header {
	border-bottom: 5px solid #e5e5e5;
	background: #fff !important;
}
/*PCスクロール時ロゴ*/
.header-container-in.hlt-top-menu .logo-image {
	margin:auto;/*縦真ん中に*/
    max-height: 100%;
}



/*****************メニュー*****************/

/*メニュー全体*/
.navi-in .menu-header .item-label{
	font-weight: bold;/*太字*/
}
/*ナビメニュー単体*/
.navi-in > ul li {
height: initial;/*初期高さリセット*/
}
#header-container-in > #navi{
	background-color: transparent!important;/*背景色*/
	box-shadow:none;/*下線なし*/
}
.navi-in > ul {
	justify-content:right;/*右に寄せる(重要)*/
	align-items:center;/*文字を縦中央に(重要)*/
}
#navi .navi-in>ul>li>a {
	padding: 0 10px;/*メニュー間余白*/
}
nav#navi, .menu-header .sub-menu{
	box-shadow:0 5px 12px -5px rgba(0,0,0,.6);/*横,縦,ぼかし,広がり*//*色番号,透明度*/
}
.menu-item a:hover{/*マウスオーバー時*/
	color: #ffffff;/*文字色*/
	transition: 0.1s ;/*動く速さ*/
	background-color:initial!important;/*背景色*/
}
/***マウスオーバー時　下線が引かれる（アニメーション）****/
.menu-header .menu-item{
  text-decoration: none;
  color: #5bc8ac;
}
.item-label{
  position: relative;
  z-index: 1;
}
.item-label:after{
  content: '';
  position: absolute;
  left: 0;
  bottom: 0px;/*テキストからの距離*/
  width: 0%;/*初期状態・下線非表示*/
  height: 2px;/*下線の高さ*/
  background: #5e8fff;/*下線の色*/
  z-index: -1;
  transition: all 0.4s;/*アニメーション速度*/
}
.menu-header .menu-item:hover .item-label:after{
	width: 100%;/*hover時に表示*/
}
/*サブメニュー*/
.sub-menu .item-label:after{
	content: '';
	position: absolute;
	left: 0;
	bottom: 0px;/*テキストからの距離*/
	width: 0% !important;/*初期状態・下線非表示*/
	height: 2px;/*下線の太さ*/
	background: #5e8fff;/*下線の色*/
	z-index: -1;
	transition: all 0.4s;/*アニメーション速度*/
}
.sub-menu .menu-item:hover .item-label:after{
  width:80% !important;/*hover時に表示*/
  margin-left:-10px
}
/*メニューマウスオーバー時*/
#navi .navi-in a:hover{
	background: #dbdbdb;/*背景色*/
	color: #6d6d6d;/*文字色*/
	transition: 0.5s ;
}
/*サブメニュー*/
.navi-in>ul .sub-menu li {
 border-bottom: 2px groove #f5f5f5; /*区切り線*/
 background:white;/*背景色*/
}

 /************モバイルスライドインメニュー************/
/*モバイル時メニュー*/
@media screen and (max-width: 1023px){
.has-logo-button .logo-menu-button {
	font-family: 'M PLUS 1p',sans-serif;
	font-style: italic;
    font-size: 20px;
}
}
.search-menu-button.menu-button,
.navi-menu-button.menu-button{
	padding-top: 8px;
}
.menu-drawer li.menu-item > a:not(.sub-menu a){
	border-bottom: 1px solid #999;
	font-family: Rubik,sans-serif;
    font-size: 21px;
    font-style: italic;
    position: relative;
    display: block;
    margin: 20px;
    padding: 8px 0 6px 10px;
}
 /*モバイルスライドインサブメニュー*/
.sub-menu a{
	font-size: 14px;
    padding: 0.3em 0 0.3em 30px;
	font-weight: 700;
    display: block;
	letter-spacing: .1em;
	position: relative;
}
.sub-menu a:before { /*サブメニューの前に線*/
    position: absolute;
    top: 50%;
    left: 0;
    width: 16px;
    height: 1px;
    content: '';
    transition: all .3s ease;
    background: rgba(40,49,53,.3);
}
.menu-drawer a:hover {/*マウスオーバー*/
	color:#000;
}

/***************************ヘッダーカスタムここまで****************************/




/**************************メインカラムカスタム*****************************/

/* 記事ページ見出し2 */
.single-post .entry-content h2 {
	margin:  0;                 /* デフォルトCSS打ち消し */
    position:  relative;        /* 位置調整 */
    font-weight:  normal;       /* 文字の太さ調整 */
    display:  inline-block;     /* インラインブロックにする */
    background-color: #eef1f2;  /* 背景色指定 */
    margin-bottom: 15px;        /* 周りの余白指定 */
    border-radius:  5px;        /* 角丸指定 */
	width: 100%;
	font-weight:700;
	color:#333;
}
.single-post .entry-content h2:before {
	content:  '';               /* 空白の要素を作る */
    background-color: #b3b3b3;  /* 背景色指定 */
    display:  block;            /* ブロック要素にする */
    position:  absolute;        /* 位置調整 */
    left: 50%;                  /* 位置調整 */
    height: 60%;                /* 高さ指定 */
    top: 26%;                   /* 位置調整 */
    z-index:  -1;               /* 重なり調整 */
    width: 46%;                 /* 幅指定 */
    box-shadow: 0 0 8px 8px #b3b3b3;/* 影指定 */
    transform: rotate(3deg);    /* 回転 */
}
/* 記事ページ見出し3*/
.single-post .entry-content h3{
	border-top:none;
	border-left:none;
	border-right:none;
	padding: none;
	margin:  0;             /* デフォルトCSS打ち消し */
    font-size:  20px;       /* 文字サイズ指定 */
    position:  relative;    /* 位置調整 */
    margin-bottom: 15px;    /* 周りの余白指定 */
    border-bottom: solid 4px rgba(212, 212, 212, 0.6);        /* 線指定 */
    border-radius: 0px 0px 160px 180px/0px 0px 20px 4px;    /* 角丸指定 */
	font-weight:600;/* 文字の太さ調整 */
}



.ect-vertical-card .entry-card-wrap {
    width: 100%!important;
}



/************************固定ページ************************/




/***************TOPページカスタム******************/
.page-id-53 .header-container{/*TOPメニュー*/
	background-color:yellow!important;
}
.page-id-53 .fixed-header{/*TOPスクロール時メニュー*/
	background-color:#fff!important;
}
.page-id-53 .entry-header{
display: none!Important;
}

/*TOP用h2デザイン*/
.page-id-53 h2{
	padding:0px;
	display:flex;
	justify-content: center;
	align-items: center;
	font-family: 'M PLUS 1p',sans-serif;
	font-style:italic;
	font-size: clamp(30px, 5.5vw, 46px)!important;
	line-height: 1.3!important;
}

/*月末日バナー*/
.date-banner{
	position: relative;
	margin: 30px auto;
	text-align: center;
	width: fit-content;
	font-size:2rem;
}
.date-banner:before,
.date-banner:after {
	position: absolute;
	z-index: 0;
	bottom: -10px;
	display: block;
	content: '';
	border: 1em solid #d90606;
}
.date-banner:before {
	left: -45px;
	border-left-width: 24px;
	border-left-color: transparent;
}
.date-banner:after {
	right: -45px;
	border-right-width: 24px;
	border-right-color: transparent;
}
.date-banner p{
	position: relative;
	z-index: 1;
	display: block;
	padding: 0rem 3rem;
	color: #fff;
	background: #fa4141;
}
.date-banner p:before,
.date-banner p:after {
	position: absolute;
	bottom: -20px;
    display: block;
    width: 1px;
    height: 10px;
	content: '';
	border-style: solid;
	border-color: #b70505 transparent transparent transparent;
}
.date-banner p:before{
  left: 0;
  border-width: 10px 0 0 10px;
}
.date-banner p:after{
  right: 0;
  border-width: 10px 10px 0 0;
}
@media screen and (max-width: 767px){
.date-banner{
	font-size: 17px;}
}
	
	

/**************タイトルエリア**************/
.top-area{/*冒頭全体*/
    z-index: 0;
    position: relative;
	background:yellow;
}
.top-title{/*タイトル文字全体*/
	font-weight: 800;
	letter-spacing: 4.5px;
}
/*流形シェイプ*/
.top-shape1{
	position: absolute;
    top: -55%;
    left: -9%;
    width: 500px;
    z-index: -999;
}
.top-hero{/*ヒーロー*/
	position:absolute;
	width: 15%;
    top: 7%;
    right: 15%;
}
/*トップ境界線（波）*/
.custom-shape-divider-bottom-1713196289 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}
.custom-shape-divider-bottom-1713196289 svg {
    position: relative;
    display: block;
    width: calc(171% + 1.3px);
    height: 88px;
    transform: rotateY(180deg);
}
.custom-shape-divider-bottom-1713196289 .shape-fill {
    fill: #fff;
}
/*タブレット以上*/
@media screen and (min-width: 769px){
	.top-title-block{/*タイトルブロック*/
		padding-top: 20px;
		padding-bottom:20px;
	}
	.top-title-block{/*タイトルブロック*/
		width:90%!important;
		margin-left:auto;
		margin-right:auto;
	}
}
/*モバイル*/
@media screen and (max-width: 767px){
	.top-title-block{/*タイトルブロック*/
		padding-top: 10px;
		padding-bottom:20px;
	}
	.top-hero{
		width: 29% !important;
		top: 66% !important;
		right: 3% !important;
	}
	.top-title p{
		text-align:center;
	}
	.top-title1{/*月額9000円*/
		font-size: 1rem!important;
		margin-right: auto!important;
		margin-left: auto!important;
	}
	.top-title1 span{/*月額*/
		font-size: 1rem!important;
	}
	.top-title2{/*決算申告レスキュー*/
		font-size: 2.5em!important;
		margin-right: auto!important;
		margin-left: auto!important;
	}
	.top-title2 span{/*レスキュー*/
		font-size: .5em;
	}
	.top-point{
		margin-left: auto;
		margin-right: auto;
	}
	.top-resucue{/*画像*/
		width:60%;
		margin-left: auto;
		margin-right: auto;
	}
}

/**************クーポンエリア**************/
/*背景*/
.coupon-area {
	margin-bottom: 20px;
	padding: 30px;
	text-align: center;
	background: #fa4141;
}
.coupon{
	font-size: 1.6rem;
	font-weight: 700;
	line-height: 1.5;
	position: relative;
	display: inline-block;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #212529;
	border-radius: 0.5rem;
}
a.coupon {
	font-size: 1.8rem;
	line-height: 1.2;
	padding: 2rem 3rem;
	color: #fa4141;
	border-radius: 0;
	background: #fff;
}
a.coupon i {
	font-size: 1.6rem;
	position: absolute;
	width: 1rem;
	-webkit-transition: all 1s;
	transition: all 1s;
	text-align: right;
	color: #fff;
	background: #fa4141;
}
a.coupon i.fa-position-top {
	top: -1em;
	left: 1rem;
}
a.coupon i.fa-position-bottom {
	right: 1rem;
	bottom: -1em;
	left: auto;
	-webkit-transform: scale(-1, 1);
	transform: scale(-1, 1);
}
a.coupon:before {
	position: absolute;
	top: -9px;
	left: -9px;
	width: calc(100% + 18px);
	height: calc(100% + 18px);
	content: "";
	border: 2px dashed #fff;
}
a.coupon:hover {
	color: #fa4141;
	background: rgba(255, 255, 255, 0.9);
}
a.coupon:hover i {
	width: 90%;
}
.coupon-txt1{
	font-family: "Roboto", sans-serif;
	font-size: 4rem;
	font-style: italic;
}
.coupon-txt2{
	font-size: 1rem;
	color:#333;
}
@media screen and (max-width: 767px){
	.coupon-area{
		margin-bottom: 30px !important;
	}
	a.coupon {
		font-size: 1.5rem;
		width: 100%;
		padding: 1rem 1rem;
	}
	a.coupon span {
		font-size: 2rem;
	}
	.coupon-txt2 {
		font-size: 1rem!Important;
	}
}



/************お悩みエリア************/

.top-onayami-area{
	padding:15px;
	min-height:590px;
	max-height:800px;
	background-color: #fac957;
}
.top-onayami-block{
	position: relative;
	z-index:0;
	height:327px;
}
.nayamu-hito{
	position:absolute;
	top: 25%;
    left: calc(50% - 80px);
    width: 300px;
    height: 226px;
	z-index: 1;
}
/*ふきだし外観*/
/*ふきだし本体*/
.fukidashi{
	position: absolute;/*自由に配置*/
	padding: 22px;/*内側余白*/
	width: fit-content;/*幅をテキストに合わせる*/
	background: #ffffff;/*背景*/
	border-radius:45%;/*角丸*/
	border-width: 5px 8px!important;
	border: solid #eef1f2;
	z-index: 2;
}
.fukidashi.onayami-1 {
	left: 62%;
}
.fukidashi.onayami-2{
	left: 66%;
    top: 43%;
}
.fukidashi.onayami-3 {
    left: 56%;
    top: 79%;
}
.fukidashi.onayami-4 {
	right: 62%;
}
.fukidashi.onayami-5{
    right: 67%;
    top: 41%;
}
.fukidashi.onayami-6 {
    right: 58%;
    top: 79%;
}
/*ふきだし小丸*/
.fukidashi:before{  
	content: "";
	position: absolute;/*自由に配置*/
	left: -16%;/*基本位置*/
	width: 12px;
	height: 12px;
	bottom: -20%;
	background: #ffffff;/*背景*/
	border-radius: 50px;/*角丸*/
}
/*ふきだし中丸*/
.fukidashi:after{
	content: "";
	position: absolute;/*自由に配置*/
	left: -9%;/*基本位置*/
	width: 20px;
	height: 18px;
	bottom: 3%;
	background: #ffffff;/*背景*/
	border-radius: 50px;/*角丸*/
}
.fukidashi.onayami-2:after{
	bottom: 40%;
}
.fukidashi.onayami-2:before{
	bottom: 30%;
}
.fukidashi.onayami-3:after{
	bottom: 40%;
}
.fukidashi.onayami-3:before{
	bottom: 66%;
}
.fukidashi.onayami-4:after{
	bottom: -5%;
    left: 85%;
}
.fukidashi.onayami-4:before{
	bottom: -25%;
    left: 99%;
}
.fukidashi.onayami-5:after{
	bottom:20%;
	left:105%;
}
.fukidashi.onayami-5:before{
	bottom:28%;
	left:119%
}
.fukidashi.onayami-6:after{
    bottom: 42%;
    left: 100%;
}
.fukidashi.onayami-6:before{
	bottom: 63%;
	left:116%;
}
.yajirushi-1{
	position: absolute;
	top: -3%;
	width: 85px!important;
	left: 0;
	right: 0;
	margin: auto;
}
/*モバイル*/
@media screen and (max-width: 767px){
	.top-onayami-area {	
		height: 80vh!important;
		min-height: initial;
	}
	.nayamu-hito{
		left: calc(50% - 55px);
		width: 110px;
	}
	.fukidashi{/*ふきだし*/
		font-size: 11px;
		line-height: 17px;
		padding: 10px;
	}
	.fukidashi:before{
		display:none!important;
	}
	.fukidashi:after{
		display:none!important;
	}
}



/***************アイテムエリア******************/
.top-item-area{
	position: relative;
	background: #13b5b1;/*背景*/
}
/*アイテム並び方*/
.top-item-lists{
	list-style: none;
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit,minmax(300px,1fr));
	margin: auto;
	max-width: 1250px;
	padding-left:5%;
	padding-right:5%;
}
li .item-button{
	width:100%;
	display: list-item;
	text-align: match-parent;
}
/*アイテム1つずつ*/
.item-button span{
	font-weight: 700;
	position: relative;
	display: block;
	padding: 1rem 5rem;
	border-radius: 15px;
	border: 4px solid #eee;
	background-color: #fff;
	color: #444444;
}
/*アイテムアイコン*/
.item-button span img{
	position:absolute;
	top: 8px;
	left: 6px;
}



/***************ポイントセクション***************/

/*ポイント０エリア*/
.top-point0-area:before {/*背景尖らせる*/
	box-sizing: inherit;
	position: absolute;
    content:'';
    border-width: 80px 50vw 0;
    border-style: solid;
    border-color: #13b5b1 transparent transparent;
}
.top-point0-area{ /*ドット背景にする*/
	position: relative;
	overflow: hidden;
	background-color: #fcfcfc;
	background-image: radial-gradient(#eee 10%, transparent 20%), radial-gradient(#eee 10%, transparent 20%);
	background-position: 0 0, 10px 10px;
	background-size: 20px 20px;
}
/*ポイント１〜３エリア*/
/*ポイントごとセクション全体*/
.top-point01-area{
	font-family: 'M PLUS Rounded 1c', sans-serif;
    position: relative;
    overflow: hidden;
    border-bottom: 2px solid #1c2125;
    background: #fac957;
}
.top-point02-area{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	position: relative;
    overflow: hidden;
    background: #faea57;
}
.top-point03-area{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	position: relative;
	overflow: hidden;
	border-top: 2px solid #1c2125;
	border-bottom: 2px solid #1c2125;
	background: #fffdea;
}
/*テキストと画像ブロック全体*/
.top-point-block{
	font-weight: 700;
	position: relative;
	z-index: 10;
}
/*テキストボックス*/
.point-textbox{
	line-height: 1.6;/*行間*/
	display: inline-block;
	border: 2px solid #1c2125;/*枠線*/
	border-radius: 20px;/*角丸*/
	background: #fff;/*背景白*/
	box-shadow: 0 20px 18px 0 rgba(11,39,54,.1);/*陰*/
}
/*ポイントごとタイトル*/
.point-title{
    line-height: 1;
    position: absolute;
}
.point-title01, .point-title02, .point-title03{
    color:#1c2125;/*文字色*/
}
.point-title em{/*数字*/
	font-style: normal;
	padding-right:5px;
}	
/*画像ボックス*/
.point-imgbox{
	border-radius:20px;/*角丸*/
	box-shadow:0 20px 18px 0 rgba(11,39,54,.1);/*陰*/
}
.point-imgbox img {
	border: 2px solid #1c2125;/*枠線*/
	border-radius: 20px;/*角丸*/
}

/*タブレット以上の場合*/
@media screen and (min-width: 768px){
/*ポイントごとセクション全体*/
	.top-point01-area, .top-point02-area, .top-point03-area{
		padding-top: 200px;
		padding-bottom: 100px;
	}
/*テキストと画像ブロック全体*/
	.top-point-block{
		width:78%;
		max-width: 1200px;
		margin: 0 auto 40px;
	}
	/*ブロックごと*/
	.top-point01-block,.top-point02-block{
		height: 300px;
	}
	.top-point03-block{
		height: 330px;
	}
	/*テキストボックス*/
	.point-textbox{
		font-size:min(1.5vw, 35px);
	}	
	.point-textbox01{/*ポイント１テキストブロック*/
		position: absolute;
		top: 0;
		left: -70px;
		width: 65%;
		padding:70px 50px;
	}
	.point-textbox02{/*ポイント2テキストブロック*/
		position: absolute;
		top: 0;
		right: -70px;
		width: 65%;
		padding:70px 50px;
	}
	.point-textbox03{/*ポイント3テキストブロック*/
		position: absolute;
		top: 0;
		width: 65%;
		left: -70px;
		padding:70px 50px;
	}
	/*POINTごとタイトル*/
	.point-title{	
		font-size: 35px;
	}	
	.point-title span{/*POINT*/
		letter-spacing: 7px;
	}
	.point-title em{/*数字*/
		font-size: 115px;
	}	
	.point-title01{/*ポイント１タイトル全体*/
		color: #1c2125;
		top: -140px;
		left: -60px;
	}
	.point-title02{/*ポイント2タイトル全体*/
		color: #1c2125;
		top: -140px;
		right:-10px;
	}
	.point-title03{/*ポイント3タイトル全体*/
		color: #1c2125;
		top: -140px;
		left: -60px;
	}
	/*画像ボックス*/
	.point-imgbox{
		position: absolute;
		top: 10px;
		width: 51%;
	}
	.point-imgbox01{
		right: -70px;
	}
	.point-imgbox02{
		top:-50px;
		left: -70px;
	}
	.point-imgbox03{
		right: -70px;
	}
}
/*モバイル*/
@media screen and (max-width: 767px){
	/*ポイントごとセクション全体*/
	.top-point01-area, .top-point02-area, .top-point03-area{
		padding-top: 40px;
		padding-bottom: 40px;
	}
	/*テキストと画像ブロック全体*/
	.top-point-block{
		margin-bottom: 20px;
	}
	/*ブロックごと*/
	.top-point01-block, .top-point02-block, .top-point03-block{
		text-align: center;
	}
	/*テキストボックス*/
	.point-textbox{
		font-size: 15px;
		text-align: left;
		position: relative;
		z-index: 1;
		width:90%;
	}
	/*テキストボックスごと*/
	.point-textbox01,.point-textbox02,.point-textbox03{
		padding: 20px 30px;
	}
	/*ポイントごとタイトル*/
	.point-title{
		font-size: 22px;
		position:initial;
		padding-bottom:5px;
	}
	.point-title span{/*POINT*/
	letter-spacing: 4px;
	}
	.point-title em {/*数字*/
    font-size: 30px;
	}
	/*画像ボックス*/
	.point-imgbox{
		width: 86%;
		margin: -10px auto 40px;
	}
}



/************サービス内容黒バナー************/
.point-banner{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	position: relative;
	z-index: 10;
	text-align: center;
	color: #fff;
	background: #1d2225;
	box-shadow: 0 20px 18px 0 rgba(11,39,54,.1);
}
.point-banner > p > em{
	display: inline-block;
	padding:3px 40px;
    color: #1c2125;
    border: 2px solid #1c2125;
    border-radius: 60px;
	background: #fff;
}
.point-banner > p > span{
	line-height: 1;
}
span.merit{
	position:relative;
	display:inline-block;
}

/*タブレット以上の場合*/
@media screen and (min-width: 768px){
/*サービス内容黒バナー*/
	.point-banner > p{/*全体*/
		padding:50px 0;
	}
	.point-banner > p >em{/*サブ文字*/
		font-size:32px;
		letter-spacing:.05em;
		margin-bottom:20px;
	}
	.point-banner > p >span{/*文字*/
		font-size: 80px;
		letter-spacing: 5px;
	}
}

/*モバイルの場合*/
@media screen and (max-width: 767px){
/*サービス内容黒バナー*/
	.point-banner{
		overflow: hidden;
		padding: 20px 0;
	}
	.point-banner > p >em{
		font-size: 16px;
		margin-bottom: 10px;
		padding:3px 14px;
	}
	.point-banner > p >span{
		font-size: 38px;	
	}
}



/************サービスセクション***********/
/*セクション全体*/
.top-service-area{
	font-family: 'M PLUS Rounded 1c', sans-serif;
	position: relative;
	overflow: hidden;
}
.service-block{/*サービスブロック*/
	border-radius:30px;
}
.service-ttl{/*サービスタイトル*/
	font-weight: 700;/*太字*/
	position: relative;
	z-index: 10;
	line-height: 1.5;/*行間*/
	display: inline-block;
	background-color: #eee;
    border-radius: 15px;
    padding: 5px;
	border-bottom:3px solid #ddd;
	font-size: 21px;
}
.service-num{/*サービス英数字*/
	font-family: Rubik, sans-serif;
    font-style: italic;
	opacity: .1;
	font-size: 4rem;
	line-height: 1;
}

/*タブレット以上の場合*/
@media screen and (min-width: 768px){
	/*サービスエリア背景*/
	.service-back{
		margin: 0 0 80px 60px!important;
		padding:10px 0 60px;
		border-radius: 60px 0 0 60px;
		background: #edcb0c;
	}
	.service-detail{/*サービス説明*/
		position: relative;
	}
}

/*モバイルの場合*/
@media screen and (max-width: 767px){
	.service-back{/*サービスエリア全体*/
		background: #edcb0c;
		padding-bottom: 35px;
		box-shadow: 17px 5px 18px 0 rgba(11,39,54,.1);
	}
	.service-allblock{/*サービスブロック全体*/
		padding-left:5%!important;
		padding-right:5%!important;
	}
	.service-ttl{/*サービスタイトル*/
		font-size: 17px;
	}
	.service-detail{/*サービス説明*/
		font-size: 15px;
	}
}
	



/**********料金表エリア*********/
/*トップ料金表境界線*/
.custom-shape-divider-top-1713343928{
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}
.custom-shape-divider-top-1713343928 svg {
    position: relative;
    display: block;
    width: calc(102% + 1.3px);
    height: 157px;
}
.custom-shape-divider-top-1713343928 .shape-fill {
    fill: #ffffff;
}
/*トップ料金表エリア全体*/
.top-price-section{
	position: relative;
    overflow: hidden;
	padding-top:50px;
	background-color:rgba(238, 238, 238, .7);
}
/*トップ料金表タイトル*/
.price-title{
	border-radius:25px;
}
/*料金表ボックス全体*/
.price-entry{
	text-decoration-line:none;
	color:initial;
}
.price-entry:hover{
	color:initial;
}
/*料金表ボックス*/
.price-entry-button{
	transition: all .3s;
	display: inline-block;
	position:relative;
	z-index: 1;
	overflow:hidden;
	box-shadow: 6px 6px 12px #D6D6D6, -6px -6px 12px #fff;
    border: 1.5px solid #F0F0F0;
	border-radius: 30px;
    background-color: #fff;
    padding: 50px 40px;
    width: 100%;
}
.price-entry-button:hover{/*マウスオーバーで押し込み*/
	box-shadow: inset 4px 4px 12px #c5c5c5, inset -4px -4px 12px #fff;
}
/*境界線*/
.custom-shape-divider-bottom-1713356066 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}
.custom-shape-divider-bottom-1713356066 svg {
    position: relative;
    display: block;
    width: calc(102% + 1.3px);
    height: 157px;
}
.custom-shape-divider-bottom-1713356066 .shape-fill {
    fill: #FFFFFF;
}


/**********お客様の声エリア*********/
/* カード型横スクロール */
.voice-card-area{
	overflow-x: auto;
	margin: 0 auto;
	padding: 30px 0;
	width: 100%;
	position: relative;
	-webkit-overflow-scrolling: touch;
	scrollbar-color: #333 #ccc;
	scrollbar-width: thin;
}
.voice-card-block{
	scroll-snap-type: x mandatory;
	max-width: 1200px;
	min-width: 700px;
	padding: 10px;
	margin: 0 auto;
	list-style: none;
	display: flex;
}
.voice-card{
	scroll-snap-align: start;
	margin: 0 10px;
	min-width: 350px;
	max-width: calc((100% / 5) - 20px);
	white-space: normal;
	background-color: #fefefe;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.3);
	border-radius: 16px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.voice-card .voice-pic {
	overflow: hidden;
	width: 100%;
	height: 160px;
}
.voice-card .voice-pic img {
	aspect-ratio: 1.618 / 1;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.voice-card a {
	display: flex;
	flex-direction: column;
}
.voice-card a,.voice-card a:hover,.voice-card a:visited{
    color: inherit;
}	
.voice-card p {
	line-height: 1.6;
	font-size: 14px;
	text-align: left;
}
.voice-name{
	padding: 3px 10px;
	color:#bbb;
}
.voice-title{
	font-weight:700;
	padding: 10px;
	font-size:1.1rem!important;
}
.voice-txt{
	padding: 10px;
}
@media screen and (min-width: 1280px) {
	.voice-card {
		margin-top: 20px;
	}
}
@media screen and (max-width: 767px){
	.voice-card {
		min-width: 240px;
	}
}



/*******Q&Aエリア*******/
.top-qa-section{
	background: linear-gradient(to bottom, transparent 30%, rgba(158,205,230,.4));/*グラデ背景*/
	position:relative;
}
/*Q&A*/
.qa-list{
	max-width:700px;
	margin-bottom: 5px;
	margin: 5px auto;
	border-bottom: 2px solid #d6dde3;
}
.qa-list summary{/*質問*/
    display:flex;
    align-items:center;
    position:relative;
    padding:1em 2em 1em 3em;
    color:#333333;
    font-weight:600;
	cursor:pointer;
}
.qa-list summary::before,
.qa-list p::before {/*QとA*/
    position:absolute;
    left:1em;
    font-weight:600;
    font-size:1.3em;
}
.qa-list summary::before {/*Q*/
	color:#75bbff;
	content:"Q";
}
.qa-list summary::after{/*矢印*/
	transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
	margin-left:auto;/*右端に寄せる*/
	border-bottom: 3px solid #333333b3;
	border-right: 3px solid #333333b3;
	content: '';
    transition: transform .5s;
}
.qa-list[open] summary::after {
    transform: rotate(225deg);
}
.qa-list p {/*回答*/
    position: relative;
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .3em 3em 1.5em;
    color: #333;
    transition: transform .5s, opacity .5s;
}
.qa-list[open] p {
    transform: none;
    opacity: 1;
}
.qa-list p::before {/*A*/
    color: #ff8d8d;
    line-height: 1.2;
    content: "A";
}



/**********フローセクション**********/
/*フローエリア全体*/
.top-flow-section{
	position: relative;
	padding-top: 50px;
}
.top-flow-area{
	position: relative;
    margin-right: auto;
    margin-left: auto;
}
/*境界線*/
.custom-shape-divider-top-1714053207 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
    transform: rotate(180deg);
}
.custom-shape-divider-top-1714053207 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 140px;
}
.custom-shape-divider-top-1714053207 .shape-fill {
    fill: rgba(158, 205, 230, .4);
}
/*フロー右側全体*/
.top-flow-area:after {
    position: absolute;
    z-index: -1;
    top: 0;
    height: calc(100% + 50px);
    padding-top: 0;
    content: '';
    border-radius: 40px;
    background: #fcfad5;
}
/*フロー左側全体*/
.top-flow-area:before {
    position: absolute;
    top: 0;
    height: calc(100% + 50px);
    padding-top: 0;
    content: '';
    border-radius: 40px;
    background: #eff9e7;
}
/*フロー人の名前*/
.flow-user {
    font-family: 'M PLUS 1p',sans-serif;
    font-size: 24px;
    font-weight: 800;
    position: relative;
    z-index: 20;
    text-align: center;
}
/*レスキュー*/
.flow-user-1{
    color: #b5d29e;
    border-radius: 30px;
    background: #fff;
	border: dotted;
}
/*お客様*/
.flow-user-2{
    color: #cfc084;
    border-radius: 30px;
    background: #fff;
	border: dotted;
}
/*コンテンツ内*/
.flow-contents{
    position: relative;
    height: auto;
    margin-right: auto;
    margin-left: auto;
}
.flow-contents:after {
    display: table;
    clear: both;
    content: '';
}
/*ステップ項目右側*/
.flow-step-right{
    position: relative;
    clear: both;
}
/*ステップ項目左側*/
.flow-step-left{
    position: relative;
    clear: both;
}
/*点線*/
svg:not(:root){
    overflow: hidden;
	overflow-clip-margin: content-box;
}
.flow-dot-right{
    left: 30px;
}
.flow-dot-left{
    right: 30px;	
}
.flow-dot line {
	fill: none;
    stroke-width: 6;
    stroke-linecap: round;
    stroke-dasharray: .4,10;
    stroke: #eb6100;
}
/*フロー番号*/
.flow-num{
    border: 5px solid #facd89;
    background: #eb6100;
	position: absolute;
	font-size: 22px;
    font-weight: 800;
    line-height: 54px;
    display: inline-block;
    width: 64px;
    height: 64px;
    text-align: center;
    color: #fff;
	border-radius: 50%;
}
/*フロー画像*/
.flow-img{
	margin-right: auto;
    margin-left: auto;
    border-radius: 50%;
}
/*フロー項目タイトル*/
.flow-font-title{
	font-family: 'M PLUS 1p',sans-serif;
    font-size: 26px;
    font-weight: 800;
}
/*フローライン*/
.flow-line{
	position: absolute;
    top: 100px;
    width: 5px;
    height: 100%;
    background: #f3f3f3;
}
.flow-line:before {
    position: absolute;
    z-index: -1;
    width: 30px;
    height: 30px;
    content: '';
    border-radius: 50%;
	border: 5px solid #facd89;
    background: #eb6100;
}
.flow-line:after {
    position: absolute;
    z-index: 1;
    top: 0;
    width: 5px;
    height: 100%;
    content: '';
    background: #eb6100;
}
.flow-last {
	height:0;!important;
}
/*タブレット以上*/
@media screen and (min-width: 768px){
	.top-flow-section{
		overflow: hidden;
		margin-bottom: 100px;
	}
	/*フローエリア全体*/
	.top-flow-area{
		width:100%;
		max-width: 1200px;
		padding-top: 50px;
	}
	/*フロー右側側全体*/
	.top-flow-area:after {
		right:-40px;
		width:50%;
	}
	/*フロー左側全体*/
	.top-flow-area:before {
		left:-40px;
		width:50%;
	}
	/*レスキュー*/
	.flow-user-1{
		position: absolute;
		top: -30px;
		width: 300px;
		margin-left:7vw;
	}
	/*お客様*/
	.flow-user-2{	
		position: absolute;
		top: -30px;
		left: calc( 100% - 300px - 7vw);
		width: 300px;
	}
	/*コンテンツ内*/
	.flow-contents{
		width:100%;
		max-width: 1200px;
		padding-top: 40px;
	}
	/*ステップ項目右側*/	
	.flow-step-right{
		float: right;
		width: 50%;
		padding-bottom: 20px;
		padding-left: 200px;
	}
	/*ステップ項目左側*/
	.flow-step-left{
		float: left;
		width: 50%;
		padding-right: 200px;
		padding-bottom: 20px;
	}
	.flow-step-left >.flow-step-font{
		margin-left: 20px;
	}
	/*点線*/
	.flow-dot{
		position: absolute;
		top: 110px;
		width: 80px;
		height: 20px;
	}
	/*フロー番号*/
	.flow-step-right .flow-num{
		top: 80px;
		left: 120px;
	}
	.flow-step-left .flow-num{
		top: 80px;
		right: 120px;
	}
	/*フロー画像*/
	.flow-img{
		width: 80px;
		margin-bottom: 10px;
	}
	/*フローライン*/
	.flow-line{
		z-index: 11;
	}
	.flow-line:before {
		top: -6px;
		left: -18px;
	}
	/*フローライン*/
	.flow-line-right{
		left: -2.5px;
	}
	.flow-line-left{
		right: -2.5px;
	}
}
/*モバイル*/
@media screen and (max-width: 767px){
	.top-flow-section{
		margin-bottom: 30px;
	}
	/*フロー人の名前*/
	.flow-user {
		display: none;
	}
	/*コンテンツ内*/
	.flow-contents{
		margin-right: 15px;
		margin-left: 15px;
	}
	/*文字エリア*/
	.flow-step-font{
		padding-bottom: 15px;
		padding-left: 60px;
	}
	/*点線*/
	.flow-dot{
		display: none;
	}
	/*フロー番号*/
	.flow-num{
		z-index: 10;
		font-size: 17px;
		line-height: 42px;
		width: 48px;
		height: 48px;
		top: 55px;
		left: -8px;
		border: 3px solid #facd89;
	}
	/*フロー画像*/
	.flow-img{
		width: 60px;
		height: 60px;
		margin-bottom: 5px;
		border: 5px solid #f8f8f8;
	}
	/*フロー項目タイトル*/
	.flow-font-title{
		font-size: 18px;
	}
	.flow-line{
		left: 15px;
		width: 3px;
	}
	.flow-line:after {
		width: 3px;
	}
	.flow-line:before{
		display:none;
	}
}



/************メッセージエリア**********/
.top-message-area{ 
	position: relative;
	overflow: hidden;
}
.top-message-img img{/*社長写真*/
	border-radius:40% 70% 60% 80%;
	height: 350px;
    object-fit: cover;
}
/*タブレット以上の場合*/
@media screen and (min-width: 768px){
	.top-shape2{/*流体シェイプ*/
		position:absolute;
		width: 800px;
		left: -16%;
		top: -1%;
	}
	.top-shape3{/*流体シェイプ*/
		position:absolute;
		width:650px;
		left: 11%;
		top: 9%;
		z-index:1;
	}
	.top-shape4{/*流体シェイプ*/
		position:absolute;
		width: 550px;
		left: 2%;
		top: 8%;
		z-index: 0;
	}
	.top-message-img{/*社長写真*/
		position:absolute;
		width:350px;
		left:13%;
		top:15%;
		z-index:2;
	}
}
@media screen and (max-width: 767px){
	.top-message-img img {
		width:70%;
		height:auto;
		margin: 0 auto;
	}
}

/********TOPページのお問い合わせフォームエリア********/
/*モバイルGoogleカレンダー*/
@media screen and (max-width: 767px){
	.contact-calender{
		width: 90%;
		height: 60vh;
	}
}

.top-form{
    font-weight: 700;
    font-family: Rubik,sans-serif;
}
.top-form p{
margin-bottom: 2rem!important;
}
.top-form form{
	padding: 60px 100px 30px;
}
@media screen and (max-width: 768px){
	.top-form form{
		padding:30px 20px;
	}
}


/************TOPページここまで************/


/***************************固定ページ全体***************************/
/*モバイル時のカバーブロック*/
@media screen and (max-width: 768px){
	.wp-block-cover{
	min-height:150px!Important;
	}
}



/**************公式HPページ*****************/
.hp-button > a{
	padding: 14px 20px;
}


/**************料金ページ*****************/

/****料金表第一階層****/
div .price-backgroundcolor{/*表の背景*/
	background-color: #f4f4f4;
}

/****税務・会計顧問****/
/*表１のプランタイトル*/
.pricesheet1 .title{
	white-space: nowrap;/*自動改行をなくす*/
}
.price-txt2{
	border-radius:10px;
	margin:20px!important;
}
/*表１のプランごとレイアウト*/
.pricesheet1 .basic, .pricesheet1 .omakase, .pricesheet1 .kyuyoroumu,
.pricesheet1 .kessan, .pricesheet1 .kicho{
	border:3px solid #ddd;
	border-radius:20px;
	background-color:#fff;
	padding-top:20px;
	margin: 10px !important;
	display: flex;
	flex-direction: column;
}
.pricesheet1 .basic{
	border:3px solid #5E8FFF;
}
/*表１のプランごと詳細*/
.pricesheet1-basic p,
.pricesheet1-omakase p,
.pricesheet1-kyuyoroumu p,
.pricesheet1-kessan p,
.pricesheet1-kicho p{
	font-family: "M PLUS Rounded 1c", sans-serif;
}
/* 補足説明するツールチップ */
.tooltip { 
	position: relative;
	cursor: pointer;
	padding: 0 5px;
	font-size: 0.9em;
	color: #4682b4;
}
.description_right { /* ツールチップのスタイル */
	width: 150px; /* 横幅 */
	position: absolute;
	top: 50%;
	left: 80%; /* X軸の位置 */
	transform: translateY(-50%);
	padding: 8px;
	border-radius: 10px; /* 角の丸み */
	background-color: #666;
	font-size: 0.7em;
	color: #fff;
	text-align: center;
	visibility: hidden; /* ツールチップを非表示に */
	opacity: 0; /* 不透明度を0％に */
	z-index: 1;
	transition: 0.5s all; /* マウスオーバー時のアニメーション速度 */
}
.tooltip:hover .description_right { /* マウスオーバー時のスタイル */
	left: 100%; /* X軸の位置 */
	visibility: visible; /* ツールチップを表示 */
	opacity: 1; /* 不透明度を100％に */
}
/*タブレット以上*/
@media screen and (min-width: 769px){
	/*表１全体*/
	.pricesheet1{
		padding:30px 5%;
		background-color:#fff;
		border-radius:10px 10px 0px 0px;
	}
	/*ずれるテキストの高さを揃える*/
	.price-txt1{
		flex-grow:1;
	}
	.pricesheet1.kessan{
		padding:30px 15%;
	}
	/*表１のプラン文字設定*/
	.pricesheet1-basic p,.pricesheet1-omakase p,.pricesheet1-kyuyoroumu p,
	.pricesheet1-kessan p,.pricesheet1-kicho p{
		padding:10px 0;
		margin-top:10px;
	}
}
/*モバイル余白など*/
@media screen and (max-width: 768px){
	/*表１のプラン詳細項目*/
	.pricesheet1-detail{
		line-height:1.5!important;
	}
	/*ツールチップとび出し防止*/
	.description_right {
		left: -150px;
	}
	.tooltip:hover .description_right {
		left: -150px;
	}
}
/***表２エリア***/
.pricesheet2-area{/*表2エリア全体*/
	background-color:#fff;
	border-radius:0px 0px 10px 10px;
}
.pricesheet2{
	border-radius: 15px;
}
.pricesheet2 table td, .pricesheet2 table th, .pricesheet2 thead,/*表のデフォ罫線削除*/
.pricesheet3  table td, .pricesheet3 table th, .pricesheet3 thead{
	border: none;
}
.pricesheet2 thead th{/*タイトル列の余白*/
	padding: 1em .8em;
	font-family: "M PLUS 1p", sans-serif;
}
.pricesheet2 table tr {/*表の中　背景白*/
	background-color:#fff!important;
	padding: .35em;
}
.pricesheet2 table tr:nth-child(even){/*表の中　グレー交互*/
	background-color: #f9f9f9!important;
}
.pricesheet2 table td {
	padding: .7em;
}
.pricesheet2 i{/*チェックマーク*/
	font-size:1.15em;
	color: #fac957;
}
/*タブレット以上*/
@media screen and (min-width: 769px){
	.pricesheet2-area{
		padding:0px 130px 30px 130px;
	}
	.pricesheet2 table{
		table-layout:fixed;
	}
}

/*****オプション*****/
.option .toggle-button{
	color:#000!important;
	background-color:#fff!important;
	padding:25px 22px;
	text-align:left;
}
.option .toggle-button::before{
	color:#037db4;
	opacity:initial;
}



/**********お役立ちコンテンツページ*********/
 
/*カテゴリーリスト*/
.cat-button-lists{
	list-style: none;
	display: grid;
	gap: 20px;
	grid-template-columns: repeat(auto-fit,minmax(260px,1fr));
	margin-left: 5%;
	margin-right: 5%;
	padding-left:0px!important;
}

li .cat-button{
	width:100%;
	display: list-item;
	text-align: match-parent;
}

.cat-button a{
	text-decoration: none; 
	font-weight: 700;
	position: relative;
	display: block;
	padding: 1rem 3rem;
	border-radius: 15px;
	box-shadow: 6px 6px 12px #D6D6D6, -6px -6px 12px #fff;
	border: 1px solid #F0F0F0;
	background-color: #F0F0F0;
	color: #444444;
}
.cat-button a:active{
	box-shadow: inset 4px 4px 12px #c5c5c5, inset -4px -4px 12px #fff;
}
/*もっと見るボタン*/
.category-more-btn{
	text-align:center;
}
.category-more-btn a {
    font-weight: 700;
    display: inline-block;
    padding: 20px 30px 20px 50px;
	text-align: center;
    color: #283135;
    border-radius: 100vh;
    background: #fff;
    box-shadow: 0 5px 0 #ddd;
	text-decoration: none;
}
@media screen and (min-width: 768px){
	.category-more-btn a{
		transition: all .3s;
}
	.category-more-btn a:hover {/*マウスオーバー*/
		transform: translateY(3px);
		box-shadow: 0 2px 0 #ddd;
}
	.category-more-btn i {/*アイコン*/
		margin-left: 3rem;
		position:relative;
	}
}
@media screen and (max-width: 767px){
	.category-more-btn a{
		line-height: 1.5;
		position: relative;
		width: 100%;
		max-width: 280px;
		margin: 0 auto 35px;
		padding: 1.25rem 1rem 1.25rem 0;
	}
	.category-more-btn i {/*アイコン*/
		position: absolute;
		right: 41px;
		top: 24px;
	}
}
/*カテゴリー別記事一覧エリア*/
.article-contents{
	position: relative;
}
.cat-id9{/*確定申告*/
	background: #13b5b1;
}
.cat-id8{/*税務調査*/
	background: #e86243;
}
.cat-id11{/*会社設立*/
	background: #127cb5;
}
.cat-id10{/*財務・融資*/
	background: #edcb0c;
}
.cat-id13{/*会計・税務*/
	background: #3bc1d9;
}
.cat-id14{/*人事・労務*/
	background: #f5a733;
}
.cat-id15{/*経営基礎*/
	background: #40a14f;
}
.cat-id16{/*M&A・IPO*/
	background: #985eb8;
}

/*カテゴリータイトル*/
.article-content-ttl{
	font-weight: 700;
	position: relative;
	z-index: 1;
	margin-bottom: 1em;
	color: #fff;
	font-style: italic;
}
/*カテゴリータイトル背景英字*/
.article-content-ttl-bg {
	font-family: Rubik,sans-serif;
	font-style: italic;
	position: absolute;
	display: inline-block;
}
/*説明文*/
.cat-content-text{
	margin:0 5%;
}

/***新着記事一覧（スクロール）***/
/*記事単体*/
.post-155 .widget-entry-cards .a-wrap{
	position: relative;
	background: #fff;
	padding:0px;
}
/*画像タイトル部分*/
.post-155 .widget-entry-cards.card-large-image .e-card{
	letter-spacing: .05em;
}
/*画像エリア*/
.post-155 .widget-entry-cards.card-large-image figure{
	width: 100%;
	margin-bottom: 1em;
	margin: 0;
}
/*画像*/
.post-155 .widget-entry-cards.card-large-image img{
	border-radius: 30px 30px 0 0;
	width: 100%;
}
/*タブレットPC*/
@media screen and (min-width:768px){
/*カテゴリー別記事一覧エリア*/
	.article-contents{
		margin: 0 0 80px 60px;
		padding: 20px 0 60px;
		border-radius: 60px 0 0 60px;
	}
/*カテゴリータイトル*/
	.article-content-ttl{
		line-height: .4;
		display: inline-block;
		margin: 60px;
		padding-left: 30px;
	}

/*カテゴリータイトル英字*/
	.article-content-ttl-bg {
		font-size:4rem;
		top: 75px;
		left: 100px;
		opacity: .1;
	}

/*新着記事一覧(スクロール)*/
/*記事一覧*/
	.post-155 .cat-article-lists{
		display: flex;
		overflow-x: scroll;
		height: 420px;
		padding: 30px 60px;
		color: rgba(255,255,255,0);
	}
/*記事単体*/
	.post-155 .widget-entry-cards .a-wrap {
		width: 280px;
		min-width: 280px;
		margin: 0 10px;
		border-radius: 30px;
		box-shadow: 0 8px 30px 0 rgba(0,0,0,.35);
	}
}
/*モバイル*/
@media screen and (max-width:767px){
/*カテゴリー別記事一覧エリア*/
	.article-contents{
		padding-top:20px;
		padding-bottom:15px;
	}
/*カテゴリータイトル*/
	.article-content-ttl{
		line-height:.4;
		margin:30px 0;
		text-align:center;
	}
/*カテゴリータイトル英字*/
	.article-content-ttl-bg{
		font-size: 2rem;
		top:50px;
		width:100%;
		text-align:center;
		opacity:.1;
	}
	
/*新着記事一覧(スクロールなし)*/
/*記事一覧*/
	.post-155 .cat-article-lists {
		padding: 5px 20px;
	}
/*記事単体*/
	.post-155 .widget-entry-cards.card-large-image .a-wrap{
		max-width:initial;
	}
	.post-155 .widget-entry-cards .a-wrap{
		width:100%;
		border-radius: 20px;
		box-shadow: 0 4px 15px 0 rgba(0,0,0,.25);
	}
/*画像*/
	.post-155 .widget-entry-cards.card-large-image img{
		height: 100px;
		border-radius: 20px 20px 0 0;
		object-fit: cover;
	}
}



/*******お客様の声ページ*******/
.costomer-voice{
	border: 1px solid #FEF2CC;
	display:relative;
}
@media screen and (min-width: 768px){
	.costomer-voice{
		padding:1.5em 5.06em!important; 
	}
}
@media screen and (max-width: 767px){
	.costomer-voice{
		padding:5%!important;
	}
}


/****************固定ページここまで****************/




/*********カテゴリー・記事ページ一括********/

/*タイトル部分エリア高さ*/
.category .content-top{
padding: 70px;
position:relative;
}
/*カテゴリーカラーに変更*/
/*税務調査*/
.category-8 .container,.categoryid-8 .container,.categoryid-8 .content:after{
	background:#e86243;
	 z-index: 0;
  position: relative;
}
/*確定申告*/
.category-9 .container,.categoryid-9 .container,.categoryid-9 .content:after{
	background:#13b5b1;
	 z-index: 0;
  position: relative;
}
/*会社設立*/
.category-11 .container,.categoryid-11 .container,.categoryid-11 .content:after{
	background:#127cb5;
	 z-index: 0;
  position: relative;
}
/*財務・融資*/
.category-10 .container,.categoryid-10 .container,.categoryid-10 .content:after{
	background:#EDCB0C;
	 z-index: 0;
  position: relative;
}
/*会計・税務*/
.category-13 .container,.categoryid-13 .container,.categoryid-13 .content:after{
	background:#3BC1D9;
	 z-index: 0;
  position: relative;
}
/*人事労務*/
.category-14 .container,.categoryid-14 .container,.categoryid-14 .content:after{
	background:#F5A733;
	 z-index: 0;
  position: relative;
}
/*経営基礎*/
.category-15 .container,.categoryid-15 .container,.categoryid-15 .content:after{
	background:#40A14F;
	 z-index: 0;
  position: relative;
}
/*M&A・IPO*/
.category-16 .container,.categoryid-16 .container,.categoryid-16 .content:after{
	background:#985EB8;
	 z-index: 0;
  position: relative;
}
/*タイトル前後不要な余白削除*/
#custom_html-2,#custom_html-3,#custom_html-4{
display:none;	
}
/*カテゴリースラッグ*/
.category-slug, .post-slug{
	opacity: .3;
    -ms-filter: "alpha(opacity=30)";
    color: #fff;
	position: absolute;
	font-family: 'Rubik',sans-serif;
	text-transform: uppercase;
}
.category-slug{
	top:50%;
	left: 50%;
	line-height: 1;
	text-align:center;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}
/*記事スラッグ*/
.post-slug{
	font-size: 40px;
	writing-mode: vertical-rl;
	top:10vw;
	left:-13px;
}
	
	

/************カテゴリーページ************/
/*サイドバー非表示*/
.category .sidebar{
display:none;
}
/*メイン幅を1カラムに*/
.category .main{
	width:100%;
}
/*コンテンツ内白背景*/
.category .content{
    position: relative;
    margin: 0 auto;
    background: #eaedef;
}
/*カテゴリータイトル*/
.category .category-name{
	color:white;
	text-align: center;
    font-family: 'M PLUS 1p',sans-serif;
    font-weight: 700;
}
/*新着記事一覧*/
.ect-vertical-card .entry-card-wrap{
border: none;
position: relative;
background: #fff;
padding:0px;
}
/*画像とタイトル部分*/
.related-entry-card, .entry-card{
letter-spacing: .05em;
}
/*画像エリア*/
.ect-vertical-card .entry-card-wrap .entry-card-thumb figure{
width: 100%;
margin-bottom: 1em;
margin: 0;
}
/*画像*/
.ect-vertical-card .entry-card-wrap .entry-card-thumb > img{
border-radius: 30px 30px 0 0;
width: 100%;
}
/*タイトル*/
.related-entry-card-title, .entry-card-title{
padding: 20px 20px 15px;
}
@media screen and (min-width:768px){
	/*カテゴリータイトル*/
	.category .category-name,.post-name{
		font-size:50px;
	}
	.category-slug{
		font-size:45px;
	}
	/*新着記事一覧*/	
	.ect-vertical-card{
		display: -ms-grid;
		display: grid;
		margin-bottom: 80px;
		gap:30px;
		-ms-grid-columns: (minmax(280px,1fr))[auto-fit];
		grid-template-columns: repeat(auto-fit,minmax(280px,1fr));
	}
	/*新着記事一覧*/
	.ect-vertical-card .entry-card-wrap{
		max-width: 400px;
		margin: 0 auto;
		border-radius: 30px;
		box-shadow: 0 8px 30px 0 rgba(0,0,0,.35);
	}
}

@media screen and (max-width:767px){
	/*カテゴリータイトル*/
	.category .category-name{
		font-size: 8.5vw;
	}
	/*記事タイトル*/
	.post-name{
		font-size: 5.5vw;
	}
	/*スラッグタイトル*/
	.category-slug{
		font-size: 7vw;
	}
	/*新着記事一覧*/
	.ect-vertical-card .entry-card-wrap{
		width:100%;
		margin:5%;
		border-radius: 20px;
		box-shadow: 0 4px 15px 0 rgba(0,0,0,.25);
	}
	.ect-vertical-card .entry-card-wrap .entry-card-thumb > img{
		height: 100px;
		border-radius: 20px 20px 0 0;
		object-fit: cover;
	}
}

/*コクーン設定のカテゴリータイトル*/
/*アイコンなし*/
.archive-title .fa-folder-open:before{
	display:none;
}
.archive-title {
	text-align:center; /*真ん中に*/
}
/************カテゴリーページここまで************/




/************記事ページ************/
.post-155,.category,.single-post{
	letter-spacing: .05em;
}
/*タイトル部分エリア高さ*/
.single-post .entry-title{
	display:none;
}
/*タイトル部分エリア高さ*/
.single-post .content-top{
	padding-top: 70px;
}
.post-name{
	color:white;
	padding:0 3rem;
    font-family: 'M PLUS 1p',sans-serif;
    font-weight: 700;
	line-height: 1.4;
}
.single-post .main{
	padding-top:0px;
}
/*コンテンツ内エリア*/
.single-post .content{
	position: relative;/*要素後ろ固定*/
}
.single-post .content:before{
	left: 0;
    width: 100%;
}
.single-post .content:before ,.single-post .content:after{
	position: absolute;/*背景とデザイン要素、自由配置*/
	content: '';
}
.widget-sidebar.widget_categories{
	position:relative;/*要素後ろ固定*/
}
/*タイトル前後不要な余白削除*/
.single-post .eye-catch img{
	border-radius: 30px;
	box-shadow: 0 8px 60px 0 rgba(103,151,255,.25);
	max-width: 100%;
}
.single-post .eye-catch-wrap{
	margin: 0 5vw;
}

@media screen and (min-width: 992px){
	/*コンテンツ内エリア*/
	.single-post .content{
		margin-bottom: 100px;/*下部余白*/
		padding-bottom: 80px;
	}	
	/*コンテンツ内白背景デザイン*/
	.single-post .content:before{
		top: 248px;
		display: block;
		height: calc(100% - 248px);
		border: 10px solid #fff;
		box-sizing: border-box;
		background: #fff;
	}
	/*タイトル背景デザイン角丸部分*/
	.single-post .content:after{
		top: 0.2px;
		right:35vw;
		width: 248px;
		height: 248px;
		border-radius: 0 0 86px;
		z-index: -1;
	}
	/*サイドバー*/
	.single-post .sidebar{
		position: relative;/*要素固定*/
	}
	/*サイドバー白部分*/
	.single-post .sidebar:before{
		position:absolute;
		top: 0;
		right:0px;
		display:block;
		width:35vw;
		height:300px;
		margin: 0;
		padding: 0;
		content: '';
		border-radius: 142px 0 0;
		background: #fff;
		z-index: -1;
	}
	/*サイドバー角丸白部分*/
	.single-post .sidebar:after {
		position: absolute;
		top: 138.98px;
		right:35vw;
		display: block;
		width: 110px;
		height: 110px;
		content: '';
		background: #fff;
		z-index: -1;
	}
}

@media screen and (max-width: 991px){
	.single-post .content:before {
		top: 400px;
		height: calc(100% - 500px);
		background: #fff;
	}
}

@media screen and (max-width: 767px){
	.single-post .content:before {
		top: 226px;
		height: calc(100% - 226px);
	}
}
/************記事ページここまで************/

/********************メインカラムここまで*********************/




/********************サイドバー*********************/

/*サイドバータイトル*/
.sidebar h3 {
	background: none;
   font-family: Rubik,sans-serif;
    font-size: 21px;
    font-style: italic;
    position: relative;
    display: block;
    margin-bottom: 20px;
    padding: 8px 0 6px 10px;
    transition: all .3s ease;
    border-bottom: 1px solid rgba(40,49,53,.2);
	color: #333;
}
/*検索ウィジェット*/
.widget_search{
	border :none;
}
/*カテゴリーウィジェット*/
.widget-sidebar.widget_categories ul li a { /*親カテゴリ用のコード*/
    color: #333;
    text-decoration: none;
    display: block;
    padding: 12px 30px;
    transition: all .3s;
    color: #283135;
    border-radius: 20px;
    background: #f8f8f8;
    box-shadow: 0 5px 0 #e4e4e4;
	font-size: 16px;
	 margin-top: 15px;
}
.widget-sidebar.widget_categories ul li a:hover{ /*マウスオーバーで動く*/
	transform: translateY(3px);
	box-shadow: 0 2px 0 #e4e4e4;
}
.widget-sidebar.widget_categories ul li a .post-count { /*記事数用のコード*/
    display: block;
    float: right;
    background: #ededed;
    padding: 0 1em;
    font-size: 14px;
    margin-top: .2em;
    border-radius: 4px;
}
.widget-sidebar.widget_categories ul li a:hover { /*親子共通マウスホバー時*/
    background: none;
    transition: 0.5s;
    color: #72c7e6;
}
.widget-sidebar.widget_categories ul li a:hover .post-count { /*記事数のマウスホバー時*/
    background: #72c7e6;
    color: #fff;
    transition: 0.5s;
}
.widget-sidebar.widget_categories ul li ul { /*子カテゴリのボックス*/
    border-bottom: 1px dotted #ccc;
}
.widget-sidebar.widget_categories ul li ul li a { /*子カテゴリ用のコード*/
    color: #333;
    text-decoration: none;
    padding: 0 4px 4px 4px;
    display: block;
    border: none;
}
.widget-sidebar.widget_categories ul li ul li a::before { /*子カテゴリのアイコン*/
   font-family: "Font Awesome 5 Free";
    content: "・";
    padding: 0;
}
/* タグクラウド*/
.tagcloud a {
   background: none; /*背景を消す*/
   border: 1px solid #bcb2a4; /*実線の太さと色*/
   border-radius: 20px; /*角の丸み*/
   color: #40210f; /*文字色*/
   padding: 3px 10px; /*要素の内部余白*/
   text-decoration: none; /*文字の装飾なし*/
   font-size: 13px; /*文字サイズ*/
   margin: 2px; /*要素の外部余白*/
   display: flex; /*横並びにする*/
   flex: 1 1 auto; /*余白分の自動伸縮比率*/
   justify-content: space-between; /*左右幅いっぱいに均等に配置する*/
}
.tagcloud a:hover { 
   background: #40210f; /*カーソルを合わせた時の背景色*/
   border: 1px solid #40210f; /*カーソルを合わせた時の線色*/
   color: #fff; /*カーソルを合わせた時の文字色*/
   transition: 0.5s; /*アニメーションの時間*/
}
/* 目次一覧 */
.single-post .sidebar .toc-widget-box{
	position:relative;
    z-index: 1;
    padding: 15px 0 20px;
    background: #eef1f2;
	border-radius: 20px;
}
/* 目次タイトル */
.single-post .sidebar .toc-title{
	font-weight: 700;
    position: relative;
    display: block;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
    color: #fff;
    border-radius: 50px;
    background: #283135;
	font-size: 14px;
    width: 180px;
    margin-bottom: 15px;
}
/* 目次中身 */
.single-post .sidebar .toc-content{
	overflow-y: auto;
    max-height: 160px;
    margin: 0 15px;
    padding: 0 20px 0 3px;
	text-align:left;
}
/* 目次文字設定 */
.single-post .sidebar .toc-content a{
	font-size: 14px;
    line-height: 2;
    display: block;
    color: #283135;
}
/* 目次初期番号非表示 */
.toc ol.toc-list > li {
	list-style: none;
}
.toc ol.toc-list > li li{
	list-style: none;
}

/********************サイドバーここまで*********************/



/*****関連記事一覧（スクロール）*****/
h2.widget-content-bottom-title{
	font-family: Rubik,sans-serif;
	font-weight: 700;
	font-style: italic;
	z-index: 1;
	color: #fff;
}
/*記事単体*/
.widget-related-entry-cards .a-wrap{
	position: relative;
	background: #fff;
	padding:0px;
}
/*画像タイトル部分*/
.widget-related-entry-cards .e-card{
	letter-spacing: .05em;
}
/*画像エリア*/
.widget-related-entry-cards figure{
	width: 100%;
	margin-bottom: 1em;
	margin: 0;
}
/*画像*/
.widget-related-entry-cards img{
	border-radius: 30px 30px 0 0;
	width: 100%;
}
/*記事タイトル*/
.widget-entry-cards.card-large-image .card-content{
	padding: 20px 20px 15px;
}
/*タブレットPC*/
@media screen and (min-width:768px){
	.widget-content-bottom.widget_related_entries{
		position:relative;
	}
	h2.widget-content-bottom-title{
		font-size: 34px;
		position: absolute;
		height: 100%;
		letter-spacing: .06em;
		border-right: 2px solid #fff;
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
	}		
	/*関連記事(スクロール)*/
	.widget-related-entry-cards{
		display: flex;
		overflow-x: scroll;
		height: 450px;
		padding: 60px;
		color: rgba(255,255,255,0);
	}
	/*記事単体*/
	.widget-related-entry-cards .a-wrap {
		width: 280px;
		min-width: 280px;
		margin: 0 10px;
		border-radius: 30px;
		box-shadow: 0 8px 30px 0 rgba(0,0,0,.35);
	}
}
/*モバイル*/
@media screen and (max-width:767px){
	h2.widget-content-bottom-title{
		font-size: 24px;
		line-height: 1.4;
		margin-top: 4rem;
		margin-bottom: 1rem;
		text-align: center;
	}	
	/*記事一覧*/
	.widget-related-entry-cards{
		padding: 30px 20px;
	}
	/*記事単体*/
	.widget-related-entry-cards .a-wrap{
		max-width:initial;
		width:100%;
		border-radius: 20px;
		box-shadow: 0 4px 15px 0 rgba(0,0,0,.25);
	}
	/*画像*/
	.widget-related-entry-cards img{
		height: 100px;
		border-radius: 20px 20px 0 0;
		object-fit: cover;
	}
}




/*******************フッターカスタム**********************/
/*フッター横並び*/
.footer-widgets {
    display: flex;
}
/*******フッター右側*******/
.footer-right {
    display: flex;/*横並び*/
}
.footer-right aside{
	margin: 0 20px;
}
.widget-footer-right a{
	padding: 0.5px!important;
	letter-spacing: 0.05em;
	color:#aaa!important;
	margin-left: 5px;
}
.footer-right >aside > ul,.footer-left >aside > div{
	font-size:12px;
}
@media screen and (max-width: 767px){
	.footer-right{
		display:none;
	}
}
/*区切り線なし*/
#navi-footer li {
  border: none;
}

/*******モバイルフッター*******/
@media screen and (max-width: 767px){
	.footer{
		padding-bottom: 100px;
	}
	.footer-bottom-content{/*フッター最下層*/
		font-size:10px;
	}
	.navi-footer-in > ul > li >a{/*フッター最下層*/
		font-size:10px;
	}
}
.footer-mobile{
	text-align:center;
}
.text-mobile{
	font-size:11px;
    line-height: 1.5;
}
#mobile_text-2{/*フッターウィジェットの余白*/
	margin-bottom:initial;
}

/*******モバイルフッターボタン*******/
/*メニューをページ下部に固定*/
.mobile-footer-area{
	bottom: 0px;
   font-weight: 700;
    line-height: 1.6;
    position:fixed;
    transform-origin: right;
    text-align: center;
    color: #1c2125;
    background: #fff;
	z-index: 99;
}
/*問い合わせエリア説明*/
.mobile-footer-ttl{
	font-size: 16px;
    line-height: 38px;
    height: 38px;
    margin-bottom: 5px;
}
.moble-footer-ttl i{
display: inline-block;
    vertical-align: middle;
}
/*メニューを横並びにする*/
.mobile-footer-btn-area{
    display:flex;
    justify-content: center;
}
/*問い合わせボタン全体*/
.mobile-footer-btn{
	font-size: 20px;
    line-height: 56px;
    position: relative;
    display: block;
    height: 60px;
    transition-duration: .3s;
    color: #fff;
    border: 2px solid #1c2125;
    border-radius: 30px;
	text-decoration: none;
}
/*問い合わせボタン*/
.mobile-footer-mail{
    width: 220px;
    margin-right: 12px;
    animation: btnLight 1.5s linear infinite;
    background: #e38e00;
}
/*電話ボタン*/
.mobile-footer-tel{
    width: 165px;
    background: #32b16c;
}
/*モバイル設定*/
@media screen and (max-width: 767px){
	.mobile-footer-area{
		right: 0;
		width: 100%;
		padding: 0 10px 10px;
		transition-duration: .6s;
		border-top: 2px solid #1c2125;
	}
	.mobile-footer-ttl{
		font-size: 16px;
		line-height: 38px;
		height: 38px;
		margin-bottom: 5px;
	}
	.moble-footer-ttl i{
		line-height: 38px;
		margin-right: 5px;
		font-size: 22px;
	}
	/*問い合わせボタン全体*/
	.mobile-footer-btn{
		font-size: 17px;
		line-height: 42px;
		height: 46px;
		border: 2px solid #1c2125;
	}
}
@media screen and (max-width: 450px){
	.mobile-footer-btn{
		font-size: 4.5333333333vw;
	}
}



/********************フッターカスタムここまで*********************/



/********************問い合わせページカスタム*********************/

/*フォーム用タイトル*/
.form-tittle{
	border-bottom:2px solid #333;
}
.wpcf7-form.init > p{
	margin-bottom:2rem;
}
/*「必須」文字デザイン*/
.required{
	font-size:.8em;
	padding: 5px;
	background: #ec6941;
	color: #fff;
	border-radius: 3px;
	margin-right: 5px;
}
/*「任意」文字デザイン*/
.optional{
	font-size:.8em;
	padding: 5px;
	background: #ccc;
	color: #fff;
	border-radius: 3px;
	margin-right: 5px;
}
/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 400px;
    background:#5e8fff;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    border-radius: 7px;
    margin: 15px auto 0
}
/*送信ボタンマウスオーバー時*/
input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/*未記入項目ピンク*/
input.wpcf7-not-valid, textarea.wpcf7-not-valid, select.wpcf7-not-valid {
    background: #FCC;
}
.wpcf7-not-valid-tip {
  display: none;
}
/*携帯での幅*/
@media screen and (max-width:768px){
	input.wpcf7-submit {
		width: 250px;
	}
}



/************************************
** レスポンシブデザイン用のメディアクエリ
************************************/

/*1400px以下*/
@media screen and (max-width: 1400px){	

/*ヘッダーロゴテキスト*/
.header-container-in.hlt-top-menu .site-name-text {
font-size:18px;/*文字サイズ*/
}

/*ヘッダーグローバルナビ*/
.navi-in .menu-header .item-label{
font-size:14px;/*文字サイズ*/
}
	
/*ヘッダーメニュー*/
#navi .navi-in>ul>li>a {
padding: 0 10px;
}
}


/****************
/*834px以下*/
@media screen and (max-width: 834px){

 
 /*ヘッダー非表示*/
.header-contact{
display:none!important;
}
}


/****************
/*768px以下*//*モバイルタブレット時*/
@media screen and (max-width: 768px){
	
/*固定ページ内側余白*/
.page-id-51 article, .page-id-6 article{
	padding:0 5%;
}
}
