@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Noto+Serif+JP:wght@200;300;400;500;600;700;900&family=Roboto:ital,wght@0,100;0,300;0,400;0,500;0,700;0,900;1,100;1,300;1,400;1,500;1,700;1,900&display=swap');
/*-------------------------------------------
   サイト全体共通
--------------------------------------------*/

html {
	font-size: 62.5%; /*ルート指定：1rem＝10px*/
}
body {
	overflow-x: hidden;
	font-size: 1.6rem; /*サイト全体の基準となる文字サイズ*/
	font-family:'Roboto','Noto Sans JP', sans-serif !important;
	font-weight:normal;
	color:#333;
}
h1,h2,h3,h4,a{
	color:#333;
	font-family:'Roboto','Noto Sans JP', sans-serif !important;
	font-weight:normal;
}
* {
	box-sizing: border-box;
}
body img{
	display:block;
	margin:auto;
}

/*------------------------
     改行位置の調整
------------------------*/
@media screen and (min-width: 768px) {
  .pc {
    display: block;
  }
  .sp {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
  .sp {
    display: block;
  }
}
/*------------------------------------------
Original
--------------------------------------------*/
.header_super {
    padding: 0;
    background:#f6eeec75;
}
.header_super .header_super_inner{
	width:100%;
	margin:auto;
	text-align:right;
	padding-right:2.5rem;
}
.header_super .header_super_inner a{
	display:inline-flex;
	align-items:center;
	transition:all ease .25s;
}
.header_super .header_super_inner a:first-child{
	margin-right:1rem;
}
.header_super .header_super_inner a img {
    width: 21px;
    margin-right: 5px;
	display: inline-block;
	transition:all ease .25s;
}
.header_super .header_super_inner a:hover img{
	opacity:.5;
} 
.header_super .header_super_inner a span {
    font-size: 14px;
    font-weight: 500;
	transition:all ease .25s;
}
.header_super .header_super_inner a:hover span{
	opacity:.5;
	text-decoration:underline;
}
/*header*/
#header .inner {
    background:#fff;
	z-index: 3;
}

@media screen and (min-width: 1100px) {
	#header-layout {
		width: 95%;
		display: flex;
		justify-content: space-between;
		max-width: 1850px;
		align-items: center;
	}
	#header .bg .inner {
		width: 95%;
		max-width: 1850px;
	}
}
@media screen and (min-width: 1024px) {
	nav#mainNav {
		margin: 0 0 0.5rem auto;
		display: flex;
		width: auto;
		background: none;
	}
    nav#mainNav ul li.current-menu-item a::before, nav#mainNav ul li a:hover::before{
        content: none;
    }
	#header-layout {
		justify-content: center;
	}
	nav#mainNav ul li a {
		height: auto;
		font-size: calc(1.6rem + (1vw - 1.92rem) * 0.1116);
	}
	nav#mainNav ul li a b {
		margin-top: 0;
		font-weight:500;
		position:relative;
		color:#222;
	}
nav#mainNav ul li a b:before {
    position: absolute;
    bottom: -5px;
    left: 0;
    content: '';
    width: 100%;
    height: 2px;
    background: #e5c7c5;
    transform: scale(0, 1);
    transform-origin: center top;
    transition: transform .5s;
    z-index: 0;
}
	nav#mainNav ul li a:hover b:before {
	transform: scale(1, 1);
	}

	nav#mainNav ul li a span{
		color:#b3b3b3;
	}
	nav#mainNav ul li {
		margin: 0 0;
	}
	.sticky-header .site-header {
		display: flex;
		justify-content: space-between;
	    align-items: center;
	}
	/*.sticky-header .site-header #header-layout {
		justify-content: normal;
	}*/
	body.sticky-header nav#mainNav {
		margin-left: auto;
		position: relative;
	    width: inherit;
	}
    nav#mainNav ul li.current-menu-item a b, 
	nav#mainNav ul li a:hover b, 
	nav#mainNav ul li a:active b, 
	nav#mainNav ul li.current-menu-parent a b{
        color: #000;
    }
	nav#mainNav ul li a:hover b{
		color:#000;
	}
	nav#mainNav ul li.current-menu-item a span, 
	nav#mainNav ul li a:hover span, 
	nav#mainNav ul li a:active span, 
	nav#mainNav ul li.current-menu-parent a span {
    color:#b3b3b3;
}
}
/*------PC・SP共通__キャッチフレーズ
--------------------------------------------*/
#header .bg, .bg {
	background: none;
	margin: 0 auto;
}
#header h1, #header .description, #header-upper h1, #header-upper .description {
	color: #000; /*文字色変更*/
	font-size: calc(1.2rem + (1vw - 1.92rem) * 0.2232); /* フォントサイズ：1.2rem → 1rem */
}
#header ul.header__contact li a{
	transition:all ease .15s;
}

@media print, screen and (min-width: 1024px) {
	/*------ヘッダー上部
--------------------------------------------*/
	#header-upper {
		display: flex;
		flex-direction: row;
		justify-content: space-between;
		align-items: center;
		height: 50px; /* 高さ変更 */
		padding: 0 calc(20px + (1vw - 19.2px) * 1.1161); /* 可変：20px → 10px */
	}
	.header__socialicon ul, #header-upper .header__catchphrase, #header-upper .bg, #header-upper .bg .inner, #header-upper h1, #header-upper .description {
		height: 100%;
	}
	/*------ヘッダー上部__キャッチフレーズ
--------------------------------------------*/
	#header-upper h1, #header-upper .description {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	/*------ヘッダー上部__SNS
--------------------------------------------*/
	.header__socialicon ul {
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: center;
	}
	.header__socialicon ul li:not(:last-child) {
		margin-right: 10px;
	}
	.header__socialicon ul li a {
		display: block;
		line-height: 0;
	}
	/*------ヘッダー下部
--------------------------------------------*/
	#header {
		width: 100%;
		height: 90px; /* 高さ変更 */
		position:relative;
		z-index:1;
	}
	#header .inner, #header-layout, #header .logo, #header .sticky-logo, #header .logo a, #header .header__nav-contact, nav#mainNav, #mainNav .inner, nav div.panel, nav#mainNav ul, nav#mainNav ul li, nav#mainNav ul li a, #header ul.header__contact, #header ul.header__contact li, #header ul.header__contact li a {
		height: 100%;
		float: none;
	}
	#header .inner {
		width: 100%;
		background:transparent;
	}

	#header-layout {
		width: 100%;
		max-width: none;
		display: flex;
		flex-direction: row;
		align-items: center;
		justify-content: space-between;
		padding: 0;
	}
	/*------ヘッダー下部__ロゴ
--------------------------------------------*/
	#header .logo {
		display: block;
		line-height: 0;
		padding: .5rem calc(5rem + (1vw - 1.92rem) * 4.4643); 
		background: rgba(255,255,255,0);
	}
	#header .logo a {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	#header .logo img {
		width: auto;
		height: auto;
		max-width:25rem;
		max-height: 100%;
	}
	/*------ヘッダー下部__スティッキーロゴ　※スティッキーロゴを使用しないときは削除
--------------------------------------------*/
	#header .sticky-logo {
		display: flex;
		flex-direction: row;
		align-items: center;
		line-height: 0;
		padding: 0 calc(20px + (1vw - 19.2px) * 1.1161) 0 0; /* 可変：20px → 10px */
	}
	/*.sticky-header #header .logo, body:not(.sticky-header) #header .sticky-logo {
		display: none;
	}*/
	body.sticky-header #header .logo img {
	    max-height: 100%;
		display:block;
	}

	/*------ヘッダー下部__グローバルナビ
--------------------------------------------*/
	#header .header__nav-contact {
		flex-shrink: 0;
	}
	nav#mainNav {
		background: rgba(255, 255, 255, .0); /* 背景色変更 */
		margin: 0;
	}
	nav#mainNav ul, #header .header__nav-contact {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	nav#mainNav ul li a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		padding: 1.5rem 2.5rem;
		background:transparent;
	}
	nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li a:active, nav#mainNav ul li.current-menu-parent a, nav#mainNav ul li.current-menu-ancestor a {
    	background: transparent;
	}
	nav#mainNav ul li#menu-item-57{
		display:none;
	}
	nav#mainNav ul ul.sub-menu {
		width:100%;
		height: auto;
	}
	nav#mainNav ul li:hover ul.sub-menu {
		top: 100%;
	}
	nav#mainNav ul ul.sub-menu li a:hover{
		background:#f7f7f7;
		color:#162b4c;
	}

nav#mainNav ul li li.current-menu-item a,
nav#mainNav ul li.current-menu-ancestor li.current-menu-item a{
	background-color:#f9f9f9;
	color:#162b4c;
}

	/*------ヘッダー下部__コンタクトボタン
--------------------------------------------*/
	#header ul.header__contact {
		display: flex;
		flex-direction: row;
		align-items: center;
	}
	#header ul.header__contact li a {
		position:relative;
		display: flex;
		flex-direction: column; /* アイコンを横並びにする場合は「row」 */
		justify-content: center;
		align-items: center;
		color: #fff; /* 文字色変更 */
		background:#333; /* 背景色変更 */
		font-size: calc(1.6rem + (1vw - 1.92rem) * 0.1116);
		font-weight: normal;
		padding: calc(10px + (1vw - 19.2px) * 0.2232) 3.5rem;
		z-index:0;
	}
	#header ul.header__contact li a:before{
		opacity:1;
	}
	#header ul.header__contact li a::before {
		display: block;
		font-family: FontAwesome;
		font-size: 110%; /* サイズ変更 */
		font-weight: 400;
		line-height: 1;
		margin-bottom: 0px;
	}
	#header ul.header__contact li a:after{
		position:absolute;
		content:"";
		top:0;
		left:0;
		width:100%;
		height:100%;
		background:#000;
		opacity:0;
		z-index:-1;
		transition:all ease .25s;
	}
	#header ul.header__contact li a:hover:after{
		opacity:1;
	}
#header ul.header__contact li a.header__telBtn {
   background:#195dbe;
}
#header ul.header__contact li a.header__telBtn:hover {
   background:#144489;
}
   #header ul.header__contact li a span {
	padding-top: 5px;
    letter-spacing: 0.05rem;
}
#header a.header__telBtn::before {
	content: '\f095';
}
#header a.header__mailBtn::before {
	content: '\f0e0';
}

	/*------スティッキーヘッダー
--------------------------------------------*/
	.sticky-header .site-header {
		z-index: 9999;
	}
	.sticky-header #header > .inner {
		height: auto;
		background: #fff; /* 背景色変更 */
		box-shadow: 0 0 6px rgba(0, 0, 0, .2); /* 不要なら削除 */
	}
	.sticky-header #header-layout {
		justify-content: space-between; /* 配置変更 */
		height: 90px; /* 高さ変更 */
	}
	.sticky-header nav#mainNav {
		background: none;
	}
	/*.sticky-header #header ul.header__contact li a span {
		display: none;
	}*/
	.sticky-header #header ul.header__contact li a::before {
		margin-bottom: 0;
	}
}

/*------グローバルメニューPC／SP共通
--------------------------------------------*/
nav#mainNav ul li a b{
	font-family:'Roboto','Noto Sans JP', serif;
}

/*------レスポンシブ
--------------------------------------------*/
@media print, screen and (max-width: 1023px) {
.header_super {
    padding: 1px 0;
}
.header_super .header_super_inner a {
    padding-right: 1rem;
}
.header_super .header_super_inner a img {
    width: 20px;
}
.header_super .header_super_inner a span {
    font-size: 12px;
}

	#header-upper .header__socialicon, #header .sticky-logo, #header ul.header__contact {
		display: none;
	}
	#header h1, #header .description, #header-upper h1, #header-upper .description {
		display: block;
		float: none;
		text-align: center;
		padding: 20px 0 10px;
	}
	#header .inner {
		width: 100%;
	}
	#header-layout {
		padding: 0;
	}
	#header .logo {
		display: block;
		text-align: center;
		margin: 0 auto 20px;
		padding: 0;
	}
	#header .logo img {
		max-height: 60px; /* サイズ変更 */
	}
	/*------レスポンシブ__スティッキーヘッダー
--------------------------------------------*/
	.mobile #header {
		background: #fff; /* 背景色変更 */
		z-index: 9999;
	}
	.sticky-header.mobile #header {
		box-shadow: 0 0 6px rgba(0, 0, 0, .2); /* 不要なら削除 */
	}
	/*------グローバルメニュー
--------------------------------------------*/
nav#mainNav ul li a {
    background-color:#fff;
    color: #222;
    border-bottom: 1px dotted #ccc;
}
nav#mainNav ul li:first-child a{
    border-top: 1px dotted #ccc;
}
nav#mainNav ul li a b{
	font-size:14px;
}
nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover {
    background:#f9f9f9;
}
nav#mainNav ul li.current-menu-item a b{
	color:#999;
}
nav#mainNav ul li ul.sub-menu li:first-child a {
    border-top: none;
}
nav#mainNav ul li ul.sub-menu li a{
	font-size:14px;
	padding-top:12px;
	padding-bottom:12px;
	border-bottom:1px dotted #ccc;
}
nav#mainNav ul li li a, nav#mainNav ul li.current-menu-item li a {
    background-position:15px 50%;
    padding-left: 30px;
}
nav#mainNav ul li li:last-child a {
    background-position:15px 50%;
    padding-left: 30px;
}
nav#mainNav ul li li a:hover, nav#mainNav ul li.current-menu-item li a:hover, nav#mainNav ul li li.current-menu-item a {
    background-position:15px 50%;
    padding-left: 30px;
	background-color:#f9f9f9;
	color:#162b4c;
}
nav#mainNav ul li li:last-child a:hover, nav#mainNav ul li.current-menu-item li:last-child a:hover, nav#mainNav ul li li.current-menu-item:last-child a {
    background-position:15px 50%;
    padding-left: 30px;
	background-color:#f9f9f9;
	color:#162b4c;
}
}

/*--------------------------------------------------------------------*/
/*Original*/
/*--------------------------------------------------------------------*/
nav#mainNav a.menu {
    border: 1px solid #333333;
    background: #4d586b;
}
body.mobile #mainImg {
    margin-top: 86px;
}
.sticky-header #header .inner{
        background:#fff;
}
/*------------------------
  　サブメニューの横幅調整
--------------------------*/
@media print, screen and (min-width: 1100px){
nav#mainNav ul ul {
    width: 17.5rem;
}
}
/*------------------------
  パンくずの上の余白削除
--------------------------*/
body.mobile #breadcrumb {
    margin-top: 0;
}
#breadcrumb {
    padding: 3px;
}
/*---------------------------
  bodyのマージントップ削除
----------------------------*/
@media only screen and (max-width: 1023px) {
  body.mobile {
    margin-top: 6rem;
  }
  body.mobile.home {
    margin-top: 0rem;
  }
}
/*------------------------
  スマホ時のh1重なり防止
------------------------*/
@media only screen and (max-width: 900px) {
  h1.title span, .post h1::before {
    font-size: 24px;
  }
}
/*------------------------
 投稿一覧ページ見出し修正
------------------------*/
.post4b h2 {
  overflow: hidden;
}
#content {
  display: block;
  clear: both;
}
/*---------------------------------
 メインイメージと挨拶文の空間削除
-----------------------------------*/
.home #content, #mainImg, #post-2 .post{
	padding:0px;
}
/*-------------------------------------------
          IMGのボーダー削除
-------------------------------------------*/
.post img {
    max-width: 100%;
    height: auto;
    padding: 0;
    border: none;
}
.post img.fit_cover {
	object-fit:cover;
	width:100%;
	height:100%;
}

/*-------------------------------------------
          DISPLAY:FLEX
-------------------------------------------*/
.flex{
	display: flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
@media screen and (max-width:767px){
.flex{
	flex-direction:column;
	align-items:center;
}
}
/*-------------------------------------------
    　　 ROW-REVERSE
-------------------------------------------*/
.row_reverse{
	flex-direction:row-reverse;
}
/*-------------------------------------------
    　　　　h2背景を透過
-------------------------------------------*/
.post h2 {
    background: transparent;
}
/*-------------------------------------------
    　　　　h1初期設定解除
-------------------------------------------*/
h1.title, .post h1 {
    border: none;
    background: none;
	color:#111;
    /* padding-bottom: 9px; */
    padding: 0;
    margin:0;
	text-align: left;
    font-size: inherit;
    text-shadow: none;
}
.post h1 span {
    background: none;
    padding-left: 0;
}
/*-------------------------------------------
    　　　　h2初期設定解除
-------------------------------------------*/
.post h2, .post2b h2, .post4b h2, h2.title {
    border: none;
    border-radius: 0px;
    text-shadow: none;
    padding: 0;
	color:#111;
	margin:0;
}

/*-------------------------------------------
    　　　　h3初期設定解除
-------------------------------------------*/
.post h3 {
    position: relative;
    font-size: 15px;
    border: none;
	color:#111;
    border-radius: 0px;
    text-shadow: none;
    padding: 0;
    margin: 0;
}
.post h3 span {
    padding-left: 0;
}
/*-------------------------------------------
    　　　　h4初期設定解除
-------------------------------------------*/
.post h4 {
    border-left: 0;
    border-bottom: 0;
    color: #333;
    margin: 0;
    padding: 0;
}
/*-------------------------------------------
    　　　　pタグ初期設定解除
-------------------------------------------*/
.post p {
    padding-bottom: 0;
}
.post h2 span {
    background: none;
    padding-left: 0;
}
/*-------------------------------------------
    　　content post初期設定解除
-------------------------------------------*/
#content {
    padding: 0;
}
.post {
    margin-bottom: 0;
	padding: 0;
}
/*-------------------------------------------
    　　ul li初期設定解除
-------------------------------------------*/
.post ul {
    margin: 0;
}
.post li {
    line-height: 1.6;
    margin: 0;
}
/*-------------------------------------------
    　　HERO切り替え
-------------------------------------------*/
.pc_hero{
	display:block;
}
.sp_hero{
	display:none;
}

@media screen and (max-width:750px){
.pc_hero{
	display:none;
}
.sp_hero{
	display:block;
	margin-top:-60px !important;
}
}
/*
1023px～751pxまでG-menuの背景をつける
*/
@media screen and (max-width:1023px){
.sp_hero{
	margin:60px 0 0 !important;
}
}

/*-------------------------------------------
    　　プライバシーポリシー
-------------------------------------------*/
div#privacy {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
}
div#privacy h3 {
    font-size:calc(2.4rem + (1vw - 1.92rem) * 0.2589);
	font-weight:bold;
    margin:calc(5rem + (1vw - 1.92rem) * 1.2945) 0 1rem;/*5-3(375)*/
	line-height:1.5;
}
div#privacy h4{
	margin:3rem 0 1rem;
	font-size:calc(2rem + (1vw - 1.92rem) * 0.1294);/*2-1.8*/
	font-weight:500;
}
div#privacy p{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
	line-height:1.6;
}
div#privacy ul li{
	line-height:1.6;
	position:relative;
	padding-left:1em;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
div#privacy ul li:before{
	position:absolute;
	content:"・";
	top:0;
	left:0;
}
/*-------------------------------------------
    　サイトマップ
-------------------------------------------*/
body.page-sitemap #wrapper{
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;/*10-6(375)*/
}
.post ul#sitemap_list li{
	padding-left:0;
	font-size:1.8rem;
	padding-bottom:2rem;
	border-bottom:1px dashed #c3c3c3;
	margin-top:2rem;
	margin-bottom:0;
	position:relative;
}
.post ul#sitemap_list li a{
	position:relative;
	padding-left:1.2em;
}
.post ul#sitemap_list li a:before {
    position: absolute;
    content: "";
    border: 5px solid transparent;
    border-left: 10px solid #8f8f8f;
    top: 50%;
    left: 0;
    transform: translatey(-50%);
}
.post ul#sitemap_list li.cat-item ul li{
	border-bottom:none !important;
	padding-left:1em;
	padding-bottom:0;
	font-size:16px;
}
.post ul#sitemap_list li ul.children {
    margin-left: 1em;
}
.post ul#sitemap_list li ul.children li{
	padding-bottom:0;
	border-bottom:none;
	font-size: 16px;
}

@media screen and (max-width:1023px){
.post ul#sitemap_list li{
	font-size:16px;
}
.post ul#sitemap_list li a:before {
    border: 5px solid transparent;
    border-left: 10px solid #8f8f8f;
}
.post ul#sitemap_list li.cat-item ul li{
	font-size:14px;
}
}

/*-------------------------------------------
    　　サンクスページ
-------------------------------------------*/
.thanks_page .page_inner h2 {
    font-size: calc(2rem + (1vw - 0.38rem) * 0.6472);/*30-20px*/
    font-weight: bold;
    text-align: center;
    margin: 0 0 1em;
}
.thanks_page p.txt {
    text-align: center;
    line-height: 2;
	font-size:calc(1.5rem + (1vw - 0.38rem) * 0.0647);/*16-15px*/
}
.thanks_page .btn_sec{
	text-align:center;
	margin-top:3.5rem;
}

@media screen and (max-width:430px){
.thanks_page p.txt {
    text-align: left;
}
}

/*-------------------------------------------
    　　新着情報
-------------------------------------------*/
.category #wrapper {
    padding:calc(10rem + (1vw - 1.92rem) * 2.5890) 0;
}
.category h1.title.first.cat-loop {
    text-align: center;
    font-size: 28px;
	font-weight:500;
    margin: 0 0 40px;
}
.category h2.cat-loop {
    padding: 10px 0;
}
.category h2.cat-loop a{
	font-size:2.4rem;
	font-weight:bold;
	line-height:1.4;
}
.category .post4b p.time {
    padding: 2px 7px;
    border-radius: 0;
}
.category-work ul.post li.clearfix:not(:first-child){
	margin-top:5rem;
}
@media screen and (max-width:648px){
#content .post_img {
	max-width:unset;
	width:min(380px,100%);
}
.category h2.cat-loop {
    padding: 13px 0px 10px;
}
body.category .post .time {
    font-size: 80%;
}
.category h2.cat-loop a{
	font-size:1.6rem;
}
li .post_contents {
    font-size:14px;
}
.post_link a{
	font-size:14px;
}
}
/*-------------------------------------------
    　　新着情報詳細
-------------------------------------------*/
.single-post #wrapper {
    padding:7rem 0 calc(7rem + (1vw - 1.92rem) * 1.2945);
    width: min(900px,95%);
}
.single-post h1.title.first {
    text-align: center;
    margin: 0;
    position: relative;
    padding-bottom: 1.5rem;
    border-bottom: 1px solid #565656;
	line-height:1.5;
}
.single-post h1.title.first span{
	font-size:calc(2.4rem + (1vw - 1.92rem) * 0.2589);/*2.4-2.0(375)*/
    font-weight: 600;
}
.single-post p.dateLabel {
    margin: 0 0 1rem;
	font-size:calc(1.4rem + (1vw - 1.92rem) * 0.1294);
}
.single-post .post{
	line-height:2;
}
.single-post .post p{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(375)*/
}
.pagenav {
    margin: 5rem 0 0;
}
/*-------------------------------------------
    　　ボタンデザイン
-------------------------------------------*/
.btn_sec.center {
    text-align: center;
}
a.btn {
    letter-spacing: 1px;
    position: relative;
    display: inline-block;
    color: #333;
    border: 1px solid #ffe161;
    background: #ffe161;
    box-shadow: 0 3px 0 #dbbb32;
    border-radius: 50vw;
    font-size: calc(1.6rem + (1vw - 19.2px) * 0.2232);
    font-weight: 500;
    padding: 12px 5rem;
	transition:all ease .15s;
	bottom:0;
    z-index: 0;
}
a.btn:hover {
    box-shadow:none;
	bottom:-3px;
}
/*線の設定*/
a.btn span{
    display: block;
}

/*-------------------------------------------
    　　ヘッダーロゴSP
-------------------------------------------*/
@media only screen and (max-width: 1023px){
.mobile #header .logo img {
    max-height: 26px !important;
    margin-left: 20px;
    margin-top: 0px;
}
}
/*-------------------------------------------
    　　フッター
-------------------------------------------*/
/*FOOTER CTA*/
section.footer_cta {
    padding: 10rem 0;
	background:url(/struct/wp-content/uploads/cta_bg3.jpg) no-repeat;
	background-size:cover;
	background-attachment:fixed;
	
}
section.footer_cta .inner {
    width: min(110rem,93%);
    margin: 0 auto;
    padding: 5rem;
    backdrop-filter: blur(1rem);
    background: rgb(255 255 255 / 65%);
    border-radius: 0;
}
section.footer_cta .inner h2 {
	text-align:center;
    font-size: 6rem;
    font-family: 'Zen Old Mincho', serif;
    letter-spacing: normal;
	margin-bottom:0;
	padding-bottom:0;
}
section.footer_cta .inner h2:before{
	display:none;
}
section.footer_cta .inner p.txt{
	text-align:center;
	margin:2rem 0 5rem;
}
section.footer_cta .inner .flex{
	justify-content:space-between;
}
section.footer_cta .inner .flex a.item {
	position:relative;
    width: 48%;
    padding: 2rem;
    text-align: center;
    display: flex;
    flex-direction: column;
    justify-content: center;
    border-radius: 0;
    font-size: 1.8rem;
    background: #333;
    color: #fff;
    font-weight: normal;
    transition: all ease .25s;
	z-index:0;
}
section.footer_cta .inner .flex a.item:nth-child(n+3){
	margin-top:3.5rem;
}
section.footer_cta .inner .flex a.item:after {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #b71917;
    opacity: 0;
    z-index: -1;
    transition: all ease .25s;
}
section.footer_cta .inner .flex a.item:hover:after {
    opacity: 1;
}
section.footer_cta .inner .flex a.item i{
	font-size:90%;
	margin-right:5px;
}
section.footer_cta .inner .flex a.item i:before{
	color:#fff;
}
section.footer_cta .inner .flex a.item span{
	display:block;
	font-size:75%;
}
section.footer_cta .inner .flex a.item b{
	font-weight:500;
}
@media screen and (max-width:767px){
section.footer_cta {
    padding: 6rem 0;
	background-attachment:unset;
}
section.footer_cta .inner {
    padding: 4rem 1.5rem 1.5rem;
}
section.footer_cta .inner h2 {
    font-size: 4.8rem;
}
section.footer_cta .inner h2 span {
    font-size: 1.6rem;
}
section.footer_cta .inner p.txt {
    margin: 2rem 0 4.5rem;
}
section.footer_cta .inner .flex{
	flex-direction:column;
}
section.footer_cta .inner .flex a.item {
    width: 100%;
	font-size:1.5rem;
	padding:1.5rem;
}
section.footer_cta .inner .flex a.item:not(:first-child){
	margin-top:1.5rem;
}
section.footer_cta .inner .flex a.item:first-child {
    margin-bottom: 0;
}
}
/*FOOTER CTA以下*/
.footer_content p a[href^="tel:"] {
	pointer-events:none;
	  color: inherit;
	  text-decoration: none;
	  pointer-events: none;
}
#footer {
    padding: 0;
	text-align:left;
	background:#e5c7c5;
}

footer#footer .inner {
    padding: 5rem 0 0rem;
    width:min(1200px,95%);
    max-width: unset;
    margin: 0 auto;
}
/*footerUpper*/
.footer_upper {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0 0 2rem;
    border-bottom: 1px solid #333;
}
/*footer Leftside*/
.footer_upper .footer_logo{
	text-align:left;
}
.footer_upper .footer_logo a {
    font-size: 2.4rem;
    letter-spacing: 2px;
    font-family: 'Noto Serif JP', serif;
    color: #333;
    display: inline-block;
    margin-bottom: 1rem;
    font-weight: bold;
}
.footer_content p {
    text-align: left;
	color:#333;
}

/*footer Rightside*/
#footer .footer_right_side{
	width:min(50rem,100%);
}
#footer .footer_right_side .footer_btn {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 2rem;
}
#footer .footer_right_side .footer_btn a.item {
    padding: 1rem;
    text-align: center;
    background: #3b9cff;
    border: 1px solid #3b9cff;
    border-radius: 1rem;
    color: #fff;
    width: 48%;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    display: flex;
    font-size: 1.4rem;
    transition: all ease .25s;
}
#footer .footer_right_side .footer_btn a.item:hover{
    opacity:.5;
}
#footer .footer_right_side .footer_btn a.item i {
    font-size: 50%;
    align-self: flex-start;
    margin-left: 3px;
}
#footer .footnav ul {
    font-size: 14px;
    display: flex;
    justify-content: flex-end;
	padding:0;
	margin-right:0;
}
#footer .footnav ul li {
    padding: 0;
    margin: 0;
}
#footer .footnav ul li:not(:first-child){
	margin-left:20px;
}
#footer .footnav ul li::before{
	width:0;
}
#footer .footnav ul li a {
    padding: 0;
	font-size:14px;
	color:#333;
}
#footer .footnav ul li a:hover{
	color:#333;
	opacity:.5;
	text-decoration:underline;
}

/*footer Bottom*/
.footer_bottom {
    padding: 5rem 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
}
/*footer Bottom SNS*/
#footer .footer_bottom .footer_sns ul{
	display:flex;
	padding:0;
	margin:0;
}
#footer .footer_bottom .footer_sns ul li{
	margin:0;
	padding:0;
}
#footer .footer_bottom .footer_sns ul li:not(:first-child){
	margin-left:1.5rem;
}
#footer .footer_bottom .footer_sns ul li::before{
	display:none;
}
#footer .footer_bottom .footer_sns ul li a{
	position:relative;
	padding:0;
	margin:0;
	z-index:0;
	transition:all ease .3s;
}
#footer .footer_bottom .footer_sns ul li a:before {
    position: absolute;
    content: "";
    background: #fff;
    z-index: -1;
    width: 22.5px;
    height: 23.5px;
    border-radius: 7px;
    top: 3px;
    left: 50%;
    transform: translate(-50%,0%);
}
#footer .footer_bottom .footer_sns ul li a:hover{
	text-decoration:none;
}
#footer .footer_bottom .footer_sns ul li a:hover{
	opacity:.5;
}
.footer_bottom .footer_sns i {
    color: #fff;
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-family: 'FontAwesome';
    font-weight: 500;
}
.footer_bottom .footer_sns i:before{
	font-size:3rem;
}
.footer_bottom .footer_sns .SvgLine {
    fill: #06C152;
    height: 30px;
    width: 26.5px;
}
.fa-youtube-square:before {
    color: #FC021B;
}
.fa-twitter-square:before{
	color:#1C96E8;
}
.fa-facebook-square:before {
    color: #1A77F2;
}
.fa-instagram:before {
    color: #E7973D;
    background: linear-gradient(45deg, rgba(254,212,117,1) 0%,rgba(229,61,93,1) 50%,rgba(194,49,134,1) 70%,rgba(156,56,187,1) 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}
/*footer Bottom Copyright*/
#copyright {
	background:transparent;
	color:#333;
}

@media screen and (max-width:767px){
.footer_upper {
    flex-direction: column;
	padding:0 0 3rem;
}
.footer_upper .footer_logo {
    text-align: center;
}
.footer_upper .footer_logo a{
	font-size:2rem;
}
#footer .footer_right_side .footer_btn {
    justify-content: center;
}
#footer .footer_right_side .footer_btn {
    margin: 2rem 0;
}
#footer .footer_right_side .footer_btn a.item {
    padding: 1rem 5px;
	font-size:1.2rem;
}
#footer .footnav ul{
	flex-wrap:wrap;
}
.footer_bottom {
    flex-direction: column;
	padding:0 3rem 3rem;
}

#footer .footnav {
	margin-top:2.5rem;
}
#footer .footnav ul {
    flex-wrap: wrap;
    justify-content: center;
}
#footer .footnav ul li{
	margin-top:5px;
}
#footer .footnav ul li a {
    font-size: 1.2rem;
}
.footer_content p {
    font-size: 1.4rem;
    text-align: center;
}
.footer_bottom .footer_sns {
    margin: 3rem 0 2.5rem;
}
.footer_bottom .footer_sns i:before {
    font-size: 3rem;
}

#copyright {
    text-align: center;
	padding:0;
	background:transparent;
}
}
/*-------------------------------------------
   　　 CONTACT
-------------------------------------------*/
.wpcf7-form {
    padding: 0;
}
.page-contact section.page-contents {
    padding: calc(10rem + (1vw - 1.92rem) * 2.5890) 0;
}

.page-contact .post table,
.page-contact .post table th,
.page-contact .post table td {
    border: none;
}
.page-contact .post table{
	margin-bottom:0;
}
.page-contact .post table tr{
	border-bottom:1px solid #ccc;
}
.page-contact .post table tr:first-child{
	border-top:1px solid #ccc;
}
.page-contact .post table th,
.page-contact .post table td{
	padding:2rem 2.5rem;
	vertical-align:middle;
}
.page-contact .post table th{
	width:30%;
	vertical-align:middle;
	background:#f9f9f9;
}
.page-contact .post table th b {
    display: block;
    font-weight: normal;
    font-size: 85%;
}
.page-contact .post table th b.green {
    color: #3dc160;
}
.page-contact .post table th b a{
	text-decoration:underline;
}
.page-contact .post table th b a:hover{
	opacity:.5;
}
body.page-contact .post table td img{
	display:inline-block;
}
.wpcf7-form .must {
    color: #fff;
    font-weight: normal;
	background:rgb(255 82 83);
    margin-left: 0;
    font-size: 1.2rem;
    padding: 0px 10px;
    display: inline-block;
    line-height: 2;
}
.wpcf7-form .must.nini{
	background:#999;
}
select.date,select.date_02{
	width:20%;
	margin-left:1em;
}

span.wpcf7-form-control-wrap.checkbox-757 span.wpcf7-list-item {
    display: block;
    margin: 0;
}
/*チェックボックスズレ解消*/
span.wpcf7-checkbox label {
    display: flex;
    align-items: center;
}
span.wpcf7-checkbox label input[type="checkbox"] {
    margin: 0 5px 2px 0;
}
/*同意ボタン調整*/
.agree_btn {
    margin: 3rem 0;
}
.agree_btn p{
	font-size:90%;
}
.agree_btn p a{
	text-decoration:underline;
}
/*送信ボタン調整*/
.SendBtn {
	text-align: center;
}
.SendBtn input[type="submit"], .SendBtn input[type="reset"], .SendBtn input[type="button"] {
    padding: 15px 100px;
    border-radius: 0vw;
    background: linear-gradient(to bottom,#ffe161 0%,#ffe161 100%);
    border: 1px solid #ffe161;
    font-weight: 500;
    font-family: 'Noto Sans JP', serif;
    transition: all ease .3s;
	margin-left:2rem;
	color:#333;
}
.SendBtn input[type="submit"]:hover, .SendBtn input[type="reset"]:hover, .SendBtn input[type="button"]:hover{
	color:#333;
	background:transparent;
	transition:all ease .3s;
}

/*お問い合わせページのみフッター削除*/
body.page-contact .footer_cta{
	display:none;
}

@media screen and (max-width:640px){
.wpcf7-form .must {
    margin-left: 2rem;
	font-size:1rem;
	float:right;
}
	.page-contact .post table th,
	.page-contact .post table td{
		padding:1.5rem;
		text-align:left;
		font-size:1.4rem;
	}
.SendBtn input[type="submit"], .SendBtn input[type="reset"], .SendBtn input[type="button"] {
    padding: 10px 70px;
    font-size: 14px;
}
}
/*-------------------------------------------
              TOP NEWS
---------------------------------------------*/
#front_bottom_content {
	position:relative;
	padding:10rem 0 15rem;
	background:#fff;
	z-index:0;
}
#front_bottom_content ul.postlist{
    width: min(1000px,90%);
    margin: 0 auto;
	background:transparent;
}
h1.title.top-loop,
h1.title.bottom-loop {
    text-align: center;
    margin-bottom:5rem;
    line-height: 1.2;
	position:relative;
	z-index:0;
}
h1.title.top-loop span,h1.title.bottom-loop span {
    font-size: 3.6rem;
    font-weight: bold;
    line-height: 1.4;
    letter-spacing: normal;
}
h1.title.top-loop span b, h1.title.bottom-loop span b {
    display: block;
    color: #37c4f1;
    font-size: 2.4rem;
    margin-top: 0;
    line-height: 1;
}
h2.bottom-loop a {
    font-size: 2rem;
    font-weight: bold;
    padding: .5rem 0;
    display: block;
}
.postlist li {
    border-bottom: 1px dotted #DDDDDD;
    line-height: 1.6;
    margin: 0;
    padding: 2rem 0;
}
.postlist li:first-child{
    border-top: 1px dotted #DDDDDD;
}
.postlist .post_text {
    width: 100%;
    margin: 0;
}
.postlist .time {
    display: inline-block;
	margin:0 0 0 0;
	background:#53642e;
}
div#front_top_content .linkBtn,
div#front_bottom_content .linkBtn {
    background: transparent;
    padding: 0;
    margin: 1.5rem auto 0;
    width: min(100rem,95%);
    text-align: right;
    position: relative;
    color: #333;
    border-radius: 0;
    line-height: 1.8;
    transition: all .3s;
    display: block;
}
div#front_top_content .linkBtn::after,
div#front_bottom_content .linkBtn::after{
	display:none;
}
div#front_bottom_content .linkBtn:hover{
	background:transparent;
}
div#front_bottom_content .linkBtn a {
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
	padding-bottom:5px;
	color: #333;
	position: relative;
	transition:all ease .15s;
	z-index:0;
}
div#front_bottom_content .linkBtn a:hover{
	color:#333;
}
div#front_bottom_content .linkBtn a:before,.linkBtn a:after{
	position:absolute;
	content:"";
}
div#front_bottom_content .linkBtn a:before {
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background:#ffe266;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
	z-index:0;
}
div#front_bottom_content .linkBtn a:after{
	position: absolute;
	bottom: 0;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background:#ccc;
	z-index:-1;
}
div#front_bottom_content .linkBtn a:hover:before {
	transform-origin:left top;
	transform: scale(1, 1);
}

@media screen and (max-width:767px){
#front_bottom_content {
    padding: 6rem 0 10rem;
}
h1.title.top-loop span, h1.title.bottom-loop span {
    font-size: 2.8rem;
}
.postlist .ttls {
    display: block;
    margin: .5rem 0 0;
}
h2.bottom-loop a {
    font-size: 1.6rem;
}
}


/*-------------------------------------------
    　　TOP
-------------------------------------------*/

* p.txt{
	line-height:2;
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
.post table th,table td,
.post ul li{
	font-size:calc(1.6rem + (1vw - 1.92rem) * 0.1294);/*1.6-1.4(768)*/
}
img.cover{
	object-fit:cover;
	width:100%;
	height:100%;
}
img.contain{
	object-fit:contain;
	width:100%;
	height:100%;
}
.top_page{
	overflow:hidden;
	background:#fbf7f6;
}
/**/
section#top_grt_sec .inner{
	width:min(1300px,90%);
	margin:auto;
	padding:10rem 0 0;
}
section#top_grt_sec .inner .flex{
	justify-content:space-between;
}
section#top_grt_sec .inner .flex .txt_box{
	width:50%;
}
section#top_grt_sec .inner .flex .txt_box h1 {
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom: 2.5rem;
    line-height: 1.4;
    color: #333;
}
section#top_grt_sec .inner .flex .txt_box h1 span {
    display: block;
    font-size: 3.2rem;
    color: #e5c7c5;
    margin-bottom: 5px;
}
section#top_grt_sec .inner .flex figure{
	width:45%;
	overflow:hidden;
	border-radius:15px;
}
section#top_grt_sec .inner .flex figure img{
	width:100%;
	height:100%;
	object-fit:cover;
}

/**/
section#top_feature_sec {
    position: relative;
    background: linear-gradient(180deg, #f7e5e4 50%, #fff8e0);
}
section#top_feature_sec .inner{
	padding:7rem 0 15rem;
	width:min(1300px,90%);
	margin:10rem auto 0;
}
/*SVG hajimari*/
.custom-shape-divider-top-1678347360 {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}
.custom-shape-divider-top-1678347360 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 100px;
    transform: rotateY(180deg);
}

.custom-shape-divider-top-1678347360 .shape-fill {
    fill: #fbf7f6;
}
/**/
.custom-shape-divider-bottom-1678347507 {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    overflow: hidden;
    line-height: 0;
}
.custom-shape-divider-bottom-1678347507 svg {
    position: relative;
    display: block;
    width: calc(100% + 1.3px);
    height: 60px;
    transform: rotateY(180deg);
}
.custom-shape-divider-bottom-1678347507 .shape-fill {
    fill: #fff;
}
/*SVG owari*/
section#top_feature_sec .box {
    padding: 6rem;
    background: #fff;
    margin: 12rem 0px 5rem;
    box-shadow: 0 0 20px rgb(0 0 0 / 5%);
    border-radius: 10px;
}
section#top_feature_sec h2{
	text-align:center;
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom:5rem;
    line-height: 1.4;
    color: #333;
}
section#top_feature_sec h2 span {
    display: block;
    font-size: 3.2rem;
    color: #e5c7c5;
    margin-bottom: 5px;
}
section#top_feature_sec .grid{
	display:grid;
	grid-template-columns: 24% 24% 24% 24%;
	gap:2%;
}
section#top_feature_sec .grid .item {
    padding: 2rem;
    background: #fbf7f6;
    border-radius: 25px;
    box-shadow: 0 0 20px rgba(0 0 0/10%);
}
section#top_feature_sec .grid .item img{
	border-radius:5px;
}
section#top_feature_sec .grid .item p.ttl{
	text-align:center;
	font-weight:bold;
	font-size:2rem;
	margin:2rem 0 1rem;
}
section#top_feature_sec .grid .item p.txt b{
	display:block;
	font-size:80%;
	font-weight:normal;
}
section#top_feature_sec .btn_sec{
	text-align:center;
	margin-top:5rem;
}
/**/
section#top_banner {
	background:#fff;
    padding: 8rem 0 10rem;
}
section#top_banner .flex{
	width:min(1300px,90%);
	margin:auto;
	justify-content:space-between;
}
section#top_banner figure{
	width:45%;
	border-radius:10px;
	overflow:hidden;
}
section#top_banner .txt_box{
	width:50%;
}
section#top_banner .txt_box h2{
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom: 5rem;
    line-height: 1.4;
    color: #333;
}
section#top_banner .txt_box h2 span{
    display: block;
    font-size: 3.2rem;
    color: #e5c7c5;
    margin-bottom: 5px;
}
section#top_banner .txt_box p.txt{
    margin-bottom:5rem;
}

/**/
section.top_cta_section{
	position:relative;
	z-index:0;
	padding:15rem 0 5rem;
	background:#fff;
}
section.top_cta_section:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 75%;
    background: url(/struct/wp-content/uploads/contact_bg.jpg) no-repeat;
    background-size: cover;
    background-attachment: fixed;
    filter: brightness(50%);
    z-index: -1;
}
section.top_cta_section h2{
	text-align:center;
    font-size: 3.6rem;
    font-weight: bold;
    margin-bottom:5rem;
    line-height: 1.4;
    color: #fff;
}
section.top_cta_section h2 span {
    display: block;
    font-size: 3.2rem;
    color: #e5c7c5;
    margin-bottom: 5px;
}
section.top_cta_section h2 span:before,
section.top_cta_section h2 span:after{
	display:none;
}
section.top_cta_section .flex {
    width: min(1200px,90%);
    margin: 8rem auto 0;
    background: #fff;
    padding: 9rem 10rem 5rem;
    flex-wrap: wrap;
    justify-content: center;
    gap: 4%;
    box-shadow: 0 0 20px rgb(0 0 0 / 15%);
}
section.top_cta_section .flex a.item{
	width:48%;
	padding:2rem;
	text-align:center;
	font-size:2rem;
	font-weight:bold;
	border:1px solid #333;
	color:#333;
	background:transparent;
	transition:all ease .25s;
}
section.top_cta_section .flex a.item span{
	display:block;
	font-size:16px;
}
section.top_cta_section .flex a.item:hover{
	border:1px solid #e5c7c5;
	background:#e5c7c5;
}

section.top_cta_section .flex p.txt{
	text-align:center;
	margin-top:2rem;
	width:100%;
}



@media screen and (max-width:767px){

section#top_grt_sec .inner .flex figure {
    width: 100%;
    margin-top: 2.5rem;
}
section#top_grt_sec .inner .flex .txt_box {
    width: 100%;
}
section#top_grt_sec .inner .flex .txt_box h1 {
    font-size: 2.4rem;
    margin-bottom: 2rem;
}
section#top_grt_sec .inner .flex .txt_box h1 span {
    font-size: 2rem;
}
/**/
section#top_feature_sec .box {
    padding: 2rem;
    margin: 4rem 0px;
}
section#top_feature_sec .inner {
    padding: 6rem 0 7rem;
    margin: 7rem auto 0;
}
.custom-shape-divider-top-1678347360 svg {
    height: 35px;
}
.custom-shape-divider-bottom-1678347507 svg {
    height: 30px;
}
section#top_feature_sec h2 {
    font-size: 2.4rem;
    margin-bottom: 3rem;
}
section#top_feature_sec h2 span {
    font-size: 2rem;
}
section#top_feature_sec .grid {
    grid-template-columns: 100%;
    gap: 2rem;
}
section#top_feature_sec .grid .item {
    box-shadow: 0 0 20px rgba(0 0 0/6%);
}
section#top_feature_sec .grid .item p.ttl {
    font-size: 2rem;
}
a.btn {
    padding: 12px 2rem;
}
section#top_feature_sec .btn_sec {
    margin-top: 3rem;
}
/**/
section#top_banner {
    padding: 5rem 0 8rem;
}
section#top_banner figure {
    width: 100%;
    margin: 0 0 2.5rem;
}
section#top_banner .txt_box {
    width: 100%;
}
section#top_banner .txt_box h2 span {
    font-size: 2rem;
}
section#top_banner .txt_box h2 {
    font-size: 2.4rem;
    margin-bottom: 3rem;
	text-align:center;
}
section#top_banner .txt_box p.txt {
    margin-bottom: 4rem;
	text-align:center;
}
	section#top_banner .txt_box .btn_sec{
		text-align:center;
	}
	section#top_banner .txt_box .btn_sec a{
		width:50%;
	}
/**/
section.top_cta_section {
    padding-top: 10rem;
}
section.top_cta_section:before {
    background-attachment: unset;
    background-position: center;
}
section.top_cta_section h2 {
    font-size: 2.4rem;
    margin-bottom: 5rem;
}
section.top_cta_section h2 span {
    font-size: 2rem;
}
section.top_cta_section .flex {
    margin: 5rem auto 0;
    padding: 2rem;
	row-gap:1.5rem;
}
section.top_cta_section .flex a.item {
    width: 100%;
    font-size: 1.8rem;
}
section.top_cta_section .flex a.item span {
    font-size: 14px;
}
section.top_cta_section .flex p.txt {
	margin-top: 0;
}
}













/*-------------------------------------------
    　　下層共通
-------------------------------------------*/
a#scrollUp {
    background: #ffe266;
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
    background-color: #ffe266;
}
.post .time a, .post2b .time a, .post4b .time a, .postlist .time a{
	color:#333;
}
.spmenu #menu span, .spmenu #menu span:before, .spmenu #menu span:after {
    background: #222222;
}
.spmenu #menu p {
    bottom: -4px;
	left:5.5px;
    font-size: 1rem;
	color:#ffe161;
}
header#h1Header{
	position:relative;
}
header#h1Header:before {
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background:rgb(8 4 1 / 60%);
}
header#h1Header h1.title {
    text-align: center;
    text-shadow: none;
    font-weight: bold;
    color: #fff;
    letter-spacing: 0;
}
header#h1Header h1.title span{
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	font-size:calc(4.2rem + (1vw - 1.92rem) * 0.6472);/*4.2-2.8(375)*/
}
.page_inner{
	padding:calc(10rem + (1vw - 1.92rem) * 2.5890) 0 calc(15rem + (1vw - 1.92rem) * 5.1780);/*10-6(375)*/
}
#breadcrumb {
    background-color:rgb(245 245 245);
}
#breadcrumb ul li a, #breadcrumb ul li {
    color: #333333;
}
#breadcrumb b {
    display: none;
}
.page_inner section:not(:first-child){
	margin-top:calc(10rem + (1vw - 1.92rem) * 2.5890);/*10-6rem(375)*/
}

footer ul li a b {
    display: none;
}
.page-sitemap b{
	display:none;
}
/*投稿ページｈ1*/
.category header#h1Header h1.title span{
	display:block;
	font-weight:bold;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	font-size:calc(4.2rem + (1vw - 1.92rem) * 0.6472);/*4.2-2.8(375)*/
	position:relative;
}
@media print, screen and (max-width:1023px){
#h1Header #thumb img {
    width: 100%;
    height: 25vh;
    margin-left: 0;
	object-fit:cover;
	object-position:top 50% left 65%;
}
.mobile #header .logo .spmenu {
    background: rgb(0 0 0 / 0%);
}
}


/*-------------------------------------------
    　　会社概要
-------------------------------------------*/
article #about-us section {
    width: min(1100px,90%);
    margin: 0 auto;
	display:flex;
	justify-content:space-between;
}

article #about-us h2 span {
    display: block;
    font-weight:bold;
	font-size:3.6rem;
	margin-bottom:1rem;
	color:#333;
}
article #about-us h2 {
    font-size: 1.8rem;
    font-weight: 500;
    color: #e9c7c5;
}
article #about-us section:not(:last-of-type){
    padding-bottom:8rem;
    margin-bottom: 8rem;
    border-bottom: 1px solid #6c6c6c;
}

/*TABLE関連*/
article #about-us section .box,
article #about-us section .flex,
article #about-us section table,
article #about-us section iframe{
	width:70%;
}
article #about-us section .box p.ttl{
	margin-bottom:2rem;
	font-size:3.2rem;
	font-weight:bold;
	line-height:1.6;
}
article #about-us section .box p.ttl span{
	font-size:2rem;
	display:block;
}
article #about-us section table table{
	margin-bottom:0;
}
article #about-us section table,
article #about-us section table th,
article #about-us section table td{
	border:none;
}
article #about-us section table tr:first-child th{
	border-top:1px solid #f3b1ce;
}
article #about-us section table th{
	width:25%;
	padding:3rem 1rem;
	border-bottom:1px solid #f3b1ce;
}
article #about-us section table tr:first-child td{
	border-top:1px solid #ccc;
}
article #about-us section table td{
	padding:3rem 1rem;
	border-bottom:1px solid #ccc;
}

article #about-us section table td ul li a{
	text-decoration:underline;
}
article #about-us section table td ul li a i {
    font-size: 10px;
    vertical-align: text-top;
}
/*ACCESS*/
article #about-us section iframe{
	height:calc(40rem + (1vw - 0.38rem) * 6.4725);/*50-40(375)*/
}
@media screen and (max-width:1023px){
article #about-us section {
    flex-direction: column;
}
article #about-us section .box,
article #about-us section .flex,
article #about-us section table,
article #about-us section iframe {
    width: 100%;
}
article #about-us section h2 {
    font-size: 1.6rem;
    margin-bottom: 3rem;
}
article #about-us section h2 span {
    font-size: 3.5rem;
}
article #about-us section table th,
article #about-us section table td{
	font-size:14px;
}
article #about-us section table th {
    width: 27%;
}
article #about-us section:not(:last-of-type){
    margin: 0 auto 8rem;
	padding:0;
    border-top: none;
    border-bottom: none;
}
}
@media screen and (max-width:767px){
article #about-us section .flex {
    flex-direction: column;
    align-items: center;
}
article #about-us section .flex .item {
    width: 95%;
}
article #about-us section .flex .item:first-child {
    width: 30%;
    margin-bottom: 1.5rem;
}
}

/*-------------------------------------------
    　　事業内容
-------------------------------------------*/
article #service section .inner{
	width:min(1100px,90%);
	margin:auto;
}
article #service section .inner h2 {
    text-align: center;
    font-size: 3.6rem;
    font-weight: bold;
    padding-bottom: 3rem;
    margin-bottom: 6rem;
    position: relative;
}
article #service section .inner h2:before {
    position: absolute;
    content: "";
    background: #e9c7c5;
    border-radius: 50vw;
    width: 1.5em;
    height: 5px;
    top: 100%;
    left: 50%;
    transform: translatex(-50%);
}
article #service section .inner .flex{
	justify-content:space-between;
	align-items:center;
}
article #service section .inner .flex:not(:first-of-type){
	margin-top:6rem;
}
article #service section .inner .flex:nth-of-type(even){
	flex-direction:row-reverse;
}
article #service section .inner .flex figure{
	width:48%;
}
article #service section .inner .flex .txt_box{
	width:48%;
}
article #service section .inner .flex .txt_box p.ttl {
    font-size: 2.8rem;
    font-weight: bold;
    border-bottom: 2px dashed #e9c7c5;
    margin-bottom: 2rem;
    padding-bottom: 2rem;
}
article #service section .inner .flex .txt_box p.txt b{
	display:block;
	font-size:80%;
	font-weight:normal;
}
article #service section .inner table,
article #service section .inner th,
article #service section .inner td{
	border:none;
}
article #service section .inner th,
article #service section .inner td{
	width:50%;
	padding:2rem;
	text-align:center;
	vertical-align:middle;
}
article #service section .inner th{
	border-right:1px solid #ccc;
}
article #service section .inner tr.thead {
    background: #fbf7f6;
}
article #service section .inner tr{
	border-bottom:1px solid #ccc;
}
article #service section .inner tr:first-child{
	border-top:1px solid #ccc;
}

section.service_price_sec .inner th{
	border-right:none;
	background:#fbf7f6;
}
@media screen and (max-width:767px){
article #service section .inner .flex:nth-of-type(even){
	flex-direction:column;
}
article #service section .inner .flex figure{
	width:100%;
}
article #service section .inner .flex .txt_box{
	width:100%;
}
article #service section .inner h2 {
    font-size: 2.4rem;
}
article #service section .inner .flex .txt_box p.ttl {
    font-size: 2rem;
    margin-bottom: 1rem;
    padding-bottom: 1rem;
    margin-top: 1.5rem;
}
article #service section .inner th, article #service section .inner td {
    padding: 2rem 1rem;
}
}

/*バージョンアップCF7送信スピナーによるテキストずれ対応*/
.wpcf7-spinner{
    position: absolute!important;
    margin: 0!important;
}