@charset "utf-8";
/*
Theme Name:mrp04-child
Template:mrp04
Version: 0.01
*/

/* Google Font */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100;300;400;500;700;900&family=Oswald:wght@200;300;400;500;600;700&display=swap');
/* --------------------------------------------------------------
 基本設定 / reset
-------------------------------------------------------------- */
body {
	overflow-x:hidden;
	font-family: "Noto Sans JP", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "メイリオ", Meiryo, "Meiryo UI", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif !important;
	font-style: normal;
	font-size:100%;
}
#wrapper, #content, .post{
	overflow: visible;
}
.post img {
	border:none !important;
	padding:0;
	margin: 0 !important;
	vertical-align: bottom;
}
.home #content {
	padding: 0;
	width: 100%;
}
#content {
	padding:0;
}
.post {
	margin-bottom:0;
	padding:0;
}
.post p {
	line-height:2.2;
}
.mt3 {
	margin-top:3rem !important;
}
.mt2 {
	margin-top:2rem !important;
}
.mt5 {
	margin-top:5rem !important;
}
.mt6 {
	margin-top:6rem !important;
}
.mt20 {
	margin-top:20px !important;
}
.mb2 {
	margin-bottom:2rem !important;
} 
.mb3 {
	margin-bottom:3rem !important;
} 
.mb5 {
	margin-bottom:5rem !important;
} 
.mb20 {
	margin-bottom:20px !important;
}
.mtb3 {
	margin:3rem auto !important;
}
.mtb5 {
	margin:5rem auto !important;
}
.center {
	text-align: center;
    margin: 0 auto;
    display: block;
}
#gallery-2 img, #gallery-1 img {
    border: none !important;
}
.post img.aligncenter {
	margin: 0 auto !important;
}
b {
    font-weight: normal;
}
.pcbr, table.pc_t, img.img_pc {
	display:block;
	margin: 0 auto !important;
}
.spbr, table.sp_t, img.img_sp {
	display: none !important;
}
.postlist .date, .postlist .ttls {
	padding:0;
}
.post ul li {
	list-style:none;
}
.post ol {
	list-style: decimal;
}
.page-template .post, .category #content, .single #content {
	padding-bottom:5%;
}
sup {
    vertical-align: super;
    font-size: smaller;
}
/* sitemap */
#sitemap_list {
	margin:0;
}
.post ul#sitemap_list li {
	font-weight: bold;
	padding-left: 25px;	
}
.post ul#sitemap_list li a {
	position: relative;
	margin-bottom: 10px;
    padding-bottom: 10px;
    border-bottom: 1px solid #eee;
	display: inline-block;
	font-family: 'Noto Sans JP', sans-serif;
}
.post ul#sitemap_list li.page_item a {
	font-family: 'Hammersmith One', sans-serif;
    letter-spacing: 0.05em;
}
.post ul#sitemap_list li a:before {
	content: '\f105';
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	color: #00508f;
	margin-right: 10px;
}
.page-sitemap #sitemap_list b {
	margin-left: 10px;
	font-family: 'Montserrat', sans-serif;
    font-weight: bold;
	color: #00508f;
}
@media (max-width: 767px) {
	.post ul#sitemap_list li {
		padding-left: 0;
		margin-bottom: 0;
	}
}
/* anchorlink */
.a_point::before {
	content:'';
	display: block;
	padding-top: 160px;
	margin-top:-160px;
}
@media (max-width: 767px) {
	.a_point::before {
		padding-top: 50px;
		margin-top: -50px;
	}
}
@media screen and (min-width:768px) and ( max-width:1300px) {
	.post p {
		font-size: 0.9rem;
	}
	.footcaption, #footer li a, .footeradd, .footertel {
		font-size: 0.8rem !important;
	}
}
@media only screen and (max-width: 959px) {
	#wrapper {
		padding: 10px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
}
@media (max-width: 767px) {
	body.mobile {
		font-size:0.8rem;
		line-height: normal;
	}
	.post p {
		font-size:0.8rem;
		padding-bottom:10px;
		line-height: 2.2;
	}
	.spbr, table.sp_t, img.img_sp {
		display: block !important;
	}
	.pcbr, table.pc_t, img.img_pc {
		display:none !important;
	}
	.page-sitemap #sitemap_list a {
		font-size:0.75rem;
	}
}
@media only screen and (max-width: 1023px) {
	#content.wide {
		width: 100%;
	}
	body.mobile {
		margin-top:0;
	}
}
/* breadcrumb / パンくず */
#breadcrumb {
	padding: 10px;
	background-color: #f4f7f9;
}
#breadcrumb ul li a, #breadcrumb ul li {
	margin: 0 3px;
	display: block;
}
#breadcrumb ul li b {
	margin-left:5px;
}
#breadcrumb ul {
	padding-left: 5px;
}
@media print, screen and (min-width: 1100px) {
	#breadcrumb ul {
		max-width: 100%;
	}
	.category #breadcrumb, .single #breadcrumb {
		padding-top: 10px !important;
	}
}
@media only screen and (max-width: 768px) {
	#header .description, #header h1 {
		padding: 5px 10px 0 10px;
	}
	.mobile #breadcrumb {
		padding: 5px 0;
	}
	.mobile .page-template-page-nosidebar-fullwidth #breadcrumb {
		margin-top: 60px;
	}
}
/*flexbox*/
.w30, .w40, .w50, .w60, .w70 {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.w30 {
  width: 30%;
}
.w40 {
  width: 40%;
}
.w50 {
  width: 50%;
}
.w60 {
  width: 60%;
}
.w70 {
  width: 70%;
}
@media (min-width: 768px) {
	.columns, .boxs, .item_boxs {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
	}
}
@media (max-width: 768px) {
	.w30, .w40, .w50, .w60, .w70 {
		width: 100%;
		margin-bottom: 20px;
	}
	.column:not(:last-child) {
		margin-bottom:20px;
	}
	.columns.rev {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-orient:vertical;
		-webkit-box-direction:normal;
		    -ms-flex-direction:column;
		        flex-direction:column;
	}
}
/* table */
.post table {
	background-color: rgba(255, 255, 255, 0.1) !important;
}
.post table, .post table th, .post table td {
    border: none;
    background: none;
	padding: 20px 10px;
	color: #1f1f1f;
}
.post table th {
	background-color: unset;
	font-weight: bold;
    vertical-align: middle;
	width: 30%;
	letter-spacing: 0.05em;
}
.post table td {
}
.post table tr{
	border-bottom:1px solid #eee;
}
table.responsive {
    margin: 3% 0;
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
	background-color:transparent;
	padding:0;
	color:#fff;
	margin-right: 5px;
}
.post .time a, .post2b .time a, .post4b .time a, .postlist .time a {
	color:#000;
    padding: 2px 3px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	border:1px solid;
}
.postlist li {
	border-bottom: 1px solid #d5d5d5;
}
span.textblock {
    font-size: 0.8rem;
    line-height: 1;
}
input[type="text"] {
	width: auto;
}
.wpcf7-form .must, .wpcf7-form .option {
	font-size: 75%;
    padding: 0 0.6em;
    display: inline-block;
}
table.general_box th {
	text-align: center
}
span.sub {
    opacity: 0.8;
    font-size: 0.8rem;
    line-height: 1.5;
    margin-top: 10px;
    display: block;
}
@media (min-width: 768px) {
}
@media (max-width: 767px) {
	.post table, .post table th, .post table td {
		padding: 18px 10px;
		font-size:0.8rem;
	}
	.post table th {
		text-align: center;
	}
	.post table td {
		text-align:left !important;
	}
	.post table.responsive td {
		padding:0 18px 10px;
	}
	span.textblock {
		text-align: left;
		display: block;
		line-height: 1.2;
	}
	span.sub {
		font-size: 0.7rem;
		text-align: left;
	}
}
/* ttl / 見出し */
h1.ttl, h1.bottom-loop span, body:not(.home).page-template h1.first span {
	font-family: 'Oswald', sans-serif;
	font-weight: bold;
	font-size: 5.729166666666667vw;
	margin: 0 auto;
	margin-bottom: 2rem;
	padding:0;
	display: inline-flex;
	flex-direction: column;
	line-height:100px;
	text-align: center;
	position: relative;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
	padding-left: 15px;
	padding-top: 15px;
	letter-spacing: 0.05em;
}
h1.ttl:before, h1.bottom-loop span:before, body:not(.home).page-template h1.first span:before, .post h3.footprint:before {
	content: '';
	background: url(/struct/wp-content/uploads/bg_ttl_lefttop.png) no-repeat;
	background-size: cover;
	width: 44px;
	height: 45px;
	position: absolute;
	top: 0;
    left: 0;
}
h1.ttl:after, h1.bottom-loop span:after, body:not(.home).page-template h1.first span:after {
	content: '';
	background-color:#fff100;
	width: 100%;
	height: 20px;
	position: absolute;
	left: 50%;
	top: calc(50% + 10px);
	-webkit-transform: translate(-50%, -50%);
	    -ms-transform: translate(-50%, -50%);
	        transform: translate(-50%, -50%);
	z-index: -1;
}
body:not(.home).page-template h1.first span:after {
	top: calc(50% + -40px);
}
h1.ttl b, h1.bottom-loop b {
	display: block;
	line-height: 1;
    font-size: initial;
    margin-top: 3.5rem;
}
h2.ttl b {
	font-family: 'Noto Sans JP', sans-serif;
	display: block;
    font-size: 1rem;
}
body.single-post h1.first {
    line-height: 2;
    letter-spacing: 0.1em;
	font-family: 'Noto Sans JP', sans-serif;
}
.post h2 {
	font-size: 1.25rem;
    background: transparent;
	padding: 10px 0;
	line-height: 1.2;
	text-align:center;
	font-weight: bold;
}
h2.ttl {
	font-family: 'Oswald', sans-serif;
	letter-spacing: 0.18em;
	font-weight: 300;
	line-height:1.4;
	margin-bottom: 3%;
    font-size: 1.8rem;
}
h2.ttl b {
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 1rem;
	font-weight: 300;
	line-height: 2;
	display:block;
}
body:not(.home) h1.first {
	margin:5% auto 6%;
}
body.single h1.first, body.category h1.first {
	font-family: 'Noto Sans JP', sans-serif;
    font-size: 2.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
}
body:not(.home).page-template h1.first b {
	text-align: center;
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	font-size: 1.2rem;
    letter-spacing: normal;
}
@media screen and (min-width:768px) and ( max-width:1300px) {
}
@media (max-width: 767px) {
	h1.ttl, h1.bottom-loop span,  body:not(.home).page-template h1.first span {
		font-size: 15vw !important;
		letter-spacing: 0.02em;
		line-height: 1;
		margin: 0 auto 1rem;
	}
	h1.ttl b, h1.bottom-loop b {
		margin-top: 1.2rem;
	}
	body:not(.home) h1.first {
		margin: 10% auto;
		line-height:1.6;
	}
	body:not(.home) h1.first b {
		margin: 0;
		font-size: 1rem !important;
		margin-top: 1.5rem;
	}
	body.single h1.first, body.category h1.first {
		font-size: 1.2rem !important;
		letter-spacing: normal;
	}
	#h1Header h1.first b {
		margin:0;
	}
	.post h2 {
		font-size: 1.15rem;
		line-height: 1.8;
		margin: 0;
	}
	.post h3 {
		font-size: 1rem;
	}
	body:not(.home) .post h3 {
		margin: 10px auto;
		font-size: 0.85rem;
	}
	h2.ttl {
		font-size: 1.2rem;
		letter-spacing: 0.16em;
	}
	h2.ttl b {
		font-size: 0.8rem;
		letter-spacing: 0.16em;
		margin-top:0;
		line-height:2;
	}
	h1.ttl:before, h1.bottom-loop span:before, body:not(.home).page-template h1.first span:before, .post h3.footprint:before {
		width: 30px;
		height: 31px;
	}
	h1.ttl:after, h1.bottom-loop span:after, body:not(.home).page-template h1.first span:after {
		width: calc(100% - 15px);
		height: 15px;
		top: 45px;
		left: calc(50% + 5px);
	}
	h2.ttl_jp {
		padding: 0 10px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	h2.ttl_jp img {
		height: 18px;
		width: auto;
		-o-object-fit: cover;
		   object-fit: cover;
	}
}
/* linkBtn / リンクボタン */
.linkBtn, .post .linkBtn, .wpcf7-form input[type=submit] {
    font-size: 1.302083333333333vw;
    width: auto;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    font-family: inherit;
    font-weight: normal;
	margin: 3rem 0 0;
	background: #fff100;
	color: #000;
	-webkit-appearance: none;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
    padding: 0;
	border-radius:0;
	display: inline-block;
}
.post .linkBtn a, .linkBtn a, .linkBtn.active, .post .linkBtn input[type="submit"] {
	color: #1f1f1f;
	padding: 2px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
    font-family: 'Oswald', sans-serif;
	font-weight: bold;
	text-align: left;
	line-height: 1;
	letter-spacing: 0.16em;
}
.post .linkBtn::after, .linkBtn::after, .wpcf7-form input[type=submit]:after {
	content: "";
    position: absolute;
    width: 30px;
    height: 12px;
    border-bottom: 2px solid #fff100;
    border-right: 2px solid #fff100;
    -webkit-transform: skew(45deg);
        -ms-transform: skew(45deg);
            transform: skew(45deg);
    right: -1.5rem;
    bottom: 0;
    z-index: 0;
    top: auto;
    margin: 0;
}
.post .linkBtn:hover a, .linkBtn:hover a {
	letter-spacing: normal;
	padding: 2px 2rem;
}
.post .linkBtn:hover:after, .linkBtn:hover:after {
	width: 60px;
	right: -50px;
	-webkit-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
	border:none;
	border-bottom: 2px solid #000;
    border-right: 2px solid #000;
}
.post .linkBtn:hover input[type="submit"], .linkBtn:hover, .post .linkBtn:hover, .linkBtn:hover a, #footer .column a:hover {
    cursor: pointer;
    background: #000;
    color: #fff;
	-webkit-box-shadow:none;
	        box-shadow:none;
	-webkit-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
}
.post .linkBtn input[type="submit"] {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: bold;
	padding: 2px 10px;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	color:#000;
	margin: 0;
	width: 200px;
    text-align: center;
}
.page-contact .linkBtn {
	margin: 3rem auto 0;
}
div#wpcf7-f4-p73-o1 {
    text-align: center;
}
div.wpcf7 span.ajax-loader {
    display: none;
}
.linkBtn a {
	display:block;
}
.mobile .wpcf7-form {
	padding:0;
}
@media screen and (min-width:768px) and ( max-width:1300px) {
	.linkBtn, .post .linkBtn, .wpcf7-form input[type=submit] {
		font-size: 2.2vw;
	}
}
@media screen and (min-width:768px) and ( max-width:1024px) {
}
@media (max-width: 767px) {
	.linkBtn, .post .linkBtn {
		margin-top: 2rem !important;
	}
	.linkBtn a, #footer .linkBtn a {
		font-size: 1.2rem;
	}
	.post .linkBtn::after, .linkBtn::after, .wpcf7-form input[type=submit]:after {
		width: 20px;
		right: -1rem;
	}
	.post .linkBtn:hover:after, .linkBtn:hover:after {
		right: -30px;
	}
	.linkBtn input[type="submit"] {
		font-size: 1rem !important;
	}
}
/* sft */
#MESY_FTMFM_footer_bar-wrapper ul#MESY_FTMFM_footer_bar li p {
	font-family: 'Oswald', sans-serif;
}
/* eyecatch */
@media (max-width: 767px) {
	.mobile .page-template-page-nosidebar-fullthumb #thumbImg, .mobile .page-template-page-nosidebar-fullwidth #thumbImg {
		margin-top: 0;
	}
	.mobile #thumbImg img {
		width: 100%;
		height: 200px;
		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: 32% center;
		   object-position: 32% center;
	}
}
/* スマホのみ適応設定 */
@media screen and (min-width: 768px) {
        a[href^="tel:"] {
			color: inherit;
			text-decoration: none;
			pointer-events: none;
        }
}
/* IE対応object-fit設定 */
.post .o_fit, .o_fit {
	-o-object-fit: cover;
	object-fit: cover;
}
/* --------------------------------------------------------------
 header
-------------------------------------------------------------- */
#header .inner {
	width: 100%
}
@media print, screen and (min-width: 1024px) {
	#header {
		position: relative;
		z-index: 100;
	}
	#header .logo img {
		max-height: 90px;
	}
	nav#mainNav {
		margin:0;
	}
	#header .logo {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	#header .bg {
		margin-left: 15px;
	}
	#header-layout, #header .bg .inner {
		width:100%;
	}
	nav#mainNav ul li a b {
		font-size: 0.9vw;
		margin-top:0;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: bold;
	}
	nav#mainNav ul li a span {
		margin-top: 8px;
		line-height: 1;
		font-size: 0.8rem;
		font-weight: 300;
	}
	nav#mainNav ul {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
	}
	nav#mainNav ul li a {
		padding: 10px;
		margin: 0 15px 0 0;
		width: -webkit-max-content;
		width: -moz-max-content;
		width: max-content;
		height: 100%;
	}
	#header > .inner #header-layout {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		-webkit-box-pack:justify;
		    -ms-flex-pack:justify;
		        justify-content:space-between;
		padding: 0 0 0 20px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	nav#mainNav ul li.current-menu-item a::before, nav#mainNav ul li a:hover::before {
		content:none;
	}
	nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li.current-menu-parent a {
		height: auto;
	}
	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:#7d7d7d;
	}
	nav#mainNav ul li ul.sub-menu li {
		background: rgb(221,221,221);
		filter:alpha(opacity=50); 
		background-color: rgb(221 221 221 / 0.5);
		border-bottom: 1px solid #eee;
	}
	nav#mainNav ul li:hover ul.sub-menu {
		top: 100%;
	}
	nav#mainNav ul li.nav_btn a {
		background-color: #e5d800;
		padding: 10px 2rem !important;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		margin: 0;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		-webkit-box-align: center;
		    -ms-flex-align: center;
		        align-items: center;
		height: 100px;
	}
	nav#mainNav ul li.nav_btn a:hover {
		background-color: #4e575c;		
		-webkit-transition: all .5s;
		-o-transition: all .5s;
		transition: all .5s;
		border-radius:0;
	}
	nav#mainNav ul li.nav_btn a:hover b {
		color: #fff !important;
	}
	nav#mainNav ul li.nav_btn i {
		margin-right: 10px;
	}
	nav#mainNav ul li:hover ul.sub-menu li a {
		color:#1f1f1f;
		margin: 0;
	}
	nav#mainNav ul li:hover ul.sub-menu li a:hover {
		color:#fff;
	}
	.sticky-header nav#mainNav ul li.nav_btn a {
		height: 80px;
	}
	.sticky-header #header .logo img {
		max-height: 70px;
	}
	.sticky-header #header #header-layout {
		-webkit-box-shadow: 6px 2px 10px 5px rgba(0, 0, 0, 0.05);
		box-shadow: 6px 2px 10px 5px rgba(0, 0, 0, 0.05);
	}
	.sticky-header #header #header-layout nav#mainNav ul li a b, .single #header #header-layout nav#mainNav ul li a b, .category #header #header-layout nav#mainNav ul li a b {
		color: #1f1f1f;
	}
}
@media screen and (min-width:768px) and ( max-width:1450px) {
	nav#mainNav ul li a b {
		font-size:0.9rem;
	}
	nav#mainNav ul li a {
		margin: 0 10px 0 0;
	}
	#header .bg {
		display:none;
	}
}
@media only screen and (max-width: 1099px) {
	#header-layout {
		padding:0;
	}
	#header .logo {
		padding:10px;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
}
@media only screen and (max-width: 1023px) {
	.sticky-header .spmenu #menu span, .sticky-header .spmenu #menu span:before, .sticky-header .spmenu #menu span:after, .single .spmenu #menu span, .single .spmenu #menu span:before, .single .spmenu #menu span:after, .category .spmenu #menu span, .category .spmenu #menu span:before, .category .spmenu #menu span:after {
		background: #1f1f1f;
	}
	.sticky-header .spmenu #menu p, .single .spmenu #menu p, .category .spmenu #menu p {
		color:#1f1f1f;
	}
	nav#mainNav ul li a b {
		font-weight: bold;
	}
	nav#mainNav ul li a i {
		margin-right: 6px;
	}
	nav#mainNav ul li a span {
		display: inline-block;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 300;
		margin-left: 10px;
	}
	.spmenu #menu p {
		font-family: 'Oswald', sans-serif;
		font-size: 0.9rem;
		font-weight: 600;
	}
	nav#mainNav a.menu, nav#mainNav a.menu:before {
		color:#464e53;
	}
	nav#mainNav ul li.nav_btn a span {
		font-family: 'Oswald', sans-serif;
	}
	body.mobile #header .logo img {
		max-height: 45px;
	}
	.mobile #header-layout {
		-webkit-box-shadow: 6px 2px 10px 5px rgba(0, 0, 0, 0.05);
		        box-shadow: 6px 2px 10px 5px rgba(0, 0, 0, 0.05);
	}
	nav#mainNav nav .panel {
		z-index: 20;
	}
	body.mobile #mainImg {
		margin-top: 60px !important;
	}
	nav#mainNav a.menu {
		background: url(/struct/wp-content/themes/mrp04/images/micon/umicon1.png) no-repeat 6px 8px,rgb(255 241 0);
	}
	/*スマホヘッダーロゴセンタリング*/
	body.mobile #header .logo {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		height: 60px;
		-webkit-box-pack: end;
		    -ms-flex-pack: end;
		        justify-content: flex-end;
		border-radius:0;
	}
	body.mobile #header .logo .mark {
		top: 30px;
		left: 10px;
		-ms-transform: translateY(-50%) translateX(0);
		    transform: translateY(-50%) translateX(0);
		-webkit-transform: translateY(-50%) translateX(0);
		position: absolute;
		height: unset;
		text-align: left;
	}
	/*スマホヘッダーロゴセンタリング---end*/
}
/* --------------------------------------------------------------
 mainIMG
-------------------------------------------------------------- */
#mainImg {
	padding-bottom: 0;
	margin-top: 0 !important;
	position:relative;
	-webkit-box-shadow:none;
	        box-shadow:none;
	position: relative;
	z-index: 0;
}
/*mainIMG responsive*/
@media (min-width: 768px) {
	#mainImg:before {
		content: 'PET SYMBIOTIC GROUP HOME FOR PEOPLE WITH DISABILITIES';
		font-family: 'Oswald', sans-serif;
		font-weight: bold;
		font-size: 2.1875vw;
		position: absolute;
		left: 2rem;
		bottom: 50px;
		color: #f3e600;
		z-index: 1;
		letter-spacing: 0.05em;
	}
	div#n2-ss-3-align, div#n2-ss-3-placeholder{
		display: none;
	}
	img.mainIMG_deco_cat {
		width: 22.65625vw !important;
	}
}
@media screen and (min-width:1501px) and ( max-width:1760px) {
	#mainImg:before {
		font-size: 1.89vw;
		bottom: 40px;
	}
}
@media screen and (min-width:768px) and ( max-width:1500px) {
	#mainImg:before {
		content: none;
	}
}
@media screen and (min-width:768px) and ( max-width:1199px) {
	img.mainIMG_deco_cat {
		position: absolute;
		right: 2rem;
		bottom: -10px;
	}
}
@media (max-width: 767px) {
	div#n2-ss-2-align, div#n2-ss-2-placeholder {
		display: none;
	}
}
/* --------------------------------------------------------------
 TOP / フロントページ
-------------------------------------------------------------- */
/* common 共通設定 */
.inner_container {
  margin-right: auto;
  margin-left: auto;
  padding-left: 15px;
  padding-right: 15px;
}
.card {
	background-color: #fff;
	border: 1px solid #e0e2e9;
	padding: 3%;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.item_block:not(:last-child) {
    margin-bottom: 5%;
}
.item_box {
	margin-bottom: 3%;
}
.CBlock-img {
	padding: 10em calc((100vw - 100%) / 2) 8em;
}
.bg-mask {
	padding: 5% 15%;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}
.CBlock-img {
	background-color: #ffffff;
	background: url(/struct/wp-content/uploads/back_about.jpg) no-repeat fixed center;
	background-size: cover;
	margin-left: calc(((100vw - 100%) / 2) * -1);
	margin-right: calc(((100vw - 100%) / 2) * -1);
	position: relative;
	z-index: 0;
	color: unset;
}
.back_filter_b:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.35);
	z-index: -1;
}
.back_filter_w:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(230, 230, 230, 0.7);
	z-index: -1;
}
@media (min-width: 1600px) {
  .inner_container {
	  width: 1500px;
  }
}
@media screen and (min-width:768px) and ( max-width:1599px) {
	.inner_container {
	  width: 85% !important;
  }
}
@media screen and (min-width:768px) and ( max-width:1300px) {
	.top_col2  .card {
		padding: 6%;
	}
}
@media (max-width: 767px) {
	.inner_container {
		width: 100%;
		padding: 0;
	}
	.item_block:not(:last-child) {
		margin-bottom: 10%;
	}
}
@media screen and (min-width:768px) and (max-width:1100px) {
	body:not(.home) .post {
		padding: 3%;
	}
	.post h3.sub_ttl {
		font-size: 1.2rem !important;
	}
}
/* common 共通設定---end */
.adjust {
	padding: 12rem 0 5rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.adjust2 {
	padding: 8rem 0 5rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
@media screen and (min-width:768px) and (max-width:1500px) {
	.adjust {
		padding: 10rem 0 5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.adjust2 {
		padding: 0 0 5rem;
	}
}
@media (max-width: 767px) {
	.adjust {
		padding: 6rem 0 0;
	}
	.adjust2 {
		padding: 5rem 0;
	}
	.card {
		padding: 8% 6%;
	}
}
/* concept */
.adjust .columns {
	position: relative;
}
.bg_tmb {
	width: 80.72916666666667vw;
	position: absolute;
    right: 0;
    top: 0;
	z-index: -1;
	margin-right: calc(((100vw - 100%) / 2) * -1);
    margin-left: calc(((100vw - 100%) / 2) * -1);
}
.bg_tmb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}
.bg_tmb:after, .top_tmb:after {
	content: '';
	height: 20%;
	width: calc(100% - 3rem);
	position: absolute;
	top: -3rem;
	right: 0;
	background-color: #f4f7f9;
	z-index: -1;
}
.top_tmb:after {
	top: auto;
	bottom: -3rem;
}
.contents_txt {
    background-color: #fff;
    padding: 3.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.adjust .ttl_block {
	position: absolute;
	top: 15%;
	left: 0;
	z-index: 2;
}
.adjust .rev .ttl_block {
	left: auto;
	right: 0;
}
.ttl_block {
    text-align: center;
}
.columns.rev {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
}
@media (min-width: 767px) {
	.adjust .columns {
		height: 700px;
	}
	.contents_txt {
		width: 45%;
		margin-top: 400px;
	}
	.rev .bg_tmb, .rev .bg_tmb:after {
		right: auto;
		left: 0;
	}
}
@media screen and (min-width:768px) and ( max-width:1700px) {
	.contents_txt {
		width: 60%;
	}
}
@media screen and (min-width:768px) and ( max-width:1300px) {
	.bg_tmb {
		height: 500px;
	}
}
@media (max-width: 768px) {
	.bg_tmb {
		width: 100%;
		position: static;
		margin: 0;
		height: 300px;
		overflow: hidden;
		padding-left: 5rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.bg_tmb img {
		width: 100%;
		min-height: 300px;
		-o-object-fit: cover;
		   object-fit: cover;
		-o-object-position: 56% center;
		   object-position: 56% center;
	}
	.bg_tmb:after {
		top: -2rem;
		height: 45%;
	}
	.contents_txt {
		padding:1.5rem;
		margin-top: 100px;
	}
	.rev .bg_tmb {
		padding-left:0;
		padding-right: 5rem;
	}
	.rev .bg_tmb:after {
		right: auto;
		left: 0;
	}
	.adjust .ttl_block h1.ttl {
		margin: 0;
		margin-bottom: 0.6rem;
	}
	.adjust .ttl_block {
		top: 255px;
		left: 10px;
	}
	.adjust .rev .ttl_block {
		left: auto;
		right: 10px;
	}
	.adjust .rev .ttl_block h1.ttl {
		margin: 0 0 0 auto;
	}
}
/* instagram */
.fix_deco_ig {
	position: relative;
	z-index: 0;
	padding-top: 6rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.fix_deco_ig:before {
	content: '';
	background: url(/struct/wp-content/uploads/deco_insta_cat.png) no-repeat;
	background-size: cover;
	width: 261px;
	height: 280px;
	position: absolute;
	left: 10rem;
	top:-120px;
	z-index: 2;
}
.top_ig .bg_wb:before {
	width: calc(100% - 20.3125%);
	height: 100%;
}
.post img.insta_txtline {
	position: absolute;
	top: 3rem;
	left: 22rem;
	z-index: 3;
	height: 35px;
    width: auto;
    -o-object-fit: cover;
       object-fit: cover;
}
@media screen and (min-width:768px) and ( max-width:1400px) {
	.fix_deco_ig:before {
		left: 5rem;
	}
	.post img.insta_txtline {
		left: 16rem;
	}
}
@media screen and (min-width:768px) and ( max-width:1200px) {
	.fix_deco_ig:before {
		width: 180px;
		height: 193px;
		top: -50px;
	}
	.post img.insta_txtline {
		left: 12rem;
		height: 30px;
		width: auto;
		-o-object-fit: cover;
		   object-fit: cover;
		top: 3.8rem;
	}
}
@media (max-width: 768px) {
	.fix_deco_ig:before {
		background-size: contain;
		width: 120px;
		left: 10px;
		top: 3px;
	}
	.post img.insta_txtline {
		left:30px;
		height: 23px;
		width: auto;
		-o-object-fit: cover;
		   object-fit: cover;
		top: 4.6rem;
	}
}
/* beginners */
.bg_wb {
	position: relative;
}
.bg_wb:before {
	content: '';
	background-color: #f4f7f9;
	width: 100%;
	height: calc(100% - 220px) ;
	position: absolute;
	top: 70px;
	left: 0;
	z-index: -1;
}
.post span.marker {
	padding-left:0;
	background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, rgb(255 241 0 / 40%)));
	background: -o-linear-gradient(transparent 60%, rgb(255 241 0 / 40%) 60%);
	background: linear-gradient(transparent 60%, rgb(255 241 0 / 40%) 60%);
	font-weight:500; 
}
.columns.round_btn {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
}
.round_btn .col a {
	width : 100% ;
	height: 350px;
	background-color: #fff100;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	border-radius: 50%;
	padding: 2rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	-webkit-box-shadow: 0px 7px 14.96px 2.04px rgba(31, 33, 33, 0.12);
	        box-shadow: 0px 7px 14.96px 2.04px rgba(31, 33, 33, 0.12);
}
.round_btn .col a:hover img {
	opacity: 1;
}
.round_btn .col a:hover {
	-webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    background-color: #e5d800;
	-webkit-box-shadow: none;
	        box-shadow: none;
}
.post img.flow_ttl {
	margin-top: 1.5rem !important;
}
.post img.bg_bignners {
	position: absolute;
	top: 70px;
    width: auto;
    -o-object-fit: cover;
       object-fit: cover;
	z-index: -1;
}
.post img.bg_beginners_left {
	left: 0;
}
.post img.bg_beginners_right {
	right: 0;
}
.cat_standing {
	position: absolute;
	bottom: -100px;
	left: 50%;
	-webkit-transform: translateX(-50%);
	    -ms-transform: translateX(-50%);
	        transform: translateX(-50%);
	width: 100px;
}
@media (min-width: 767px) {
	.inner_box {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-box-pack: center;
		    -ms-flex-pack: center;
		        justify-content: center;
		width: calc(100% - 30%);
		margin: 0 auto;
		padding-top: 3rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
		text-align: center;
	}
	.round_btn .col {
		width: 350px;
		height: 350px;
	}
	.round_btn .col:not(:last-child) {
		margin-right: 5rem;
	}
	.post img.bg_bignners {
		height: calc(100% - 220px);
	}
}
@media screen and (min-width:768px) and ( max-width:1500px) {
	.inner_box {
		width: 100%;
	}
}
@media screen and (min-width:768px) and ( max-width:1300px) {
	.post img.bg_beginners_right {
		display: none;
	}
}
@media screen and (min-width:768px) and ( max-width:1200px) {
	.round_btn .col {
		width: 300px;
		height: 300px;
	}
	.round_btn .col a {
		height: 300px;
		padding: 3rem;
	}
	
}
@media (max-width: 768px) {
	.bg_wb:before {
		top: 45px !important;
		height: calc(100% - 45px);
	}
	.post img.bg_beginners_left {
		top: 45px;
	}
	.post img.bg_beginners_right {
		right: 0;
		top: auto;
		bottom: 0;
	}
	.inner_box {
		padding: 3rem 2rem 12rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.inner_box p {
		margin-bottom: 1rem !important;
	}
	.round_btn .col a {
		height: 250px;
		padding: 3rem;
	}
	.round_btn .col {
		width: 250px;
		height: 250px;
		margin: 0 auto;
	}
	.round_btn .col img {
		width: 80%;
	}
	.round_btn .col:first-child {
		margin-bottom: 1.5rem;
	}
	.cat_standing {
		bottom: 10px;
		left: 55px;
		width: 80px;
	}
	.post img.bg_bignners {
		width: 80%;
	}
}
/*company recruit  */
section.fw2 > .columns {
    padding: 0 1.5rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.fw2 .bg_wb:before {
    top: 100px;
}
.fw2 .inner_block {
    padding: 2rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.fw2 .inner.columns {
	margin-top: 2rem;
	width: 100%;
}
@media (min-width: 767px) {
	section.fw2 {
		padding: 6rem 0 8rem;
		-webkit-box-sizing: border-box;
		        box-sizing: border-box;
	}
	.fw2 .bg_wb:before {
		height: calc(100% - 100px);
	}
	.fw2 .col {
		width: 50%;
	}
	.fw2 .col:first-child {
		margin-right: 1.5rem;
	}
	.fw2 .w30 {
		margin-right: 1.5rem;
	}
}
@media (max-width: 768px) {
	section.fw2 {
		padding-bottom: 5rem;
	}
	.fw2 .inner_block {
		padding: 0 1.5rem;
	}
	.fw2 .bg_wb:before {
		height: 100%;
	}
	.fw2 .w30 img {
		width: 60%;
	}
	.fw2 .col:first-child {
		margin-bottom: 5rem;
	}
}
/* news / 投稿記事 */
div#front_bottom_content {
    margin-bottom: 6rem;
}
.inner_news {
	position: relative;
	padding: 5rem 10rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.front_post_list .bg_wb:before {
	height: calc(100% - 70px);
}
img.bg_news {
	position: absolute;
    top: 70px;
    height: calc(100% - 70px);
    width: auto;
    -o-object-fit: cover;
       object-fit: cover;
	z-index: -1;
}
.front_post_list .linkBtn.linkbottom {
	margin-top: 2rem !important;
}
img.bg_news_cat {
	position: absolute;
	right:5rem;
    bottom: -40px;
	z-index: 1;
}
@media screen and (min-width:768px) and ( max-width:1700px) {
	.inner_news {
		padding: 5rem 3rem;
	}
}
@media (min-width: 767px) {
	.inner_news {
		padding-left: calc(100% - 63%);
	}
}
@media screen and (min-width:768px) and ( max-width:1250px) {
	.inner_news {
		padding-left: calc(100% - 80%);
	}
}
@media (max-width: 767px) {
	.postlist, .postlist .post_text {
		width: 100%;
		margin: 0px auto 5px auto;
	}
	.postlist .time {
		padding:0;
	}
	ul.postlist {
		margin-bottom:5%;
	}
	div#front_bottom_content {
		margin-bottom: 0;
	}
	div#front_bottom_content:after {
		width: 200px;
		height: 109px;
		right:5px;
		margin-bottom: -54px;
	}
	.inner_news {
		padding: 3rem 2rem;
	}
	img.bg_news {
		width: 100%;
	}
	img.bg_news_cat {
		width: 120px;
		height: auto;
		right: 0;
		bottom: -25px;
	}
}
/* --------------------------------------------------------------
 footer
-------------------------------------------------------------- */
#footer {
	padding: 0;
}
.col.left {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff100;
}
#footer #footerLogo {
    width: 100%;
    height: 100%;
    float: none;
    display: block;
	margin: 0;
}
#footerLogo a {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #fff100;
}
#footerLogo img {
	max-width: 360px;
	margin-bottom: 0;
}
.icon-up-open:before {
	color: #1f1f1f;
}
#footer ul li::before {
	content:none;
}
#copyright {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    font-size: 0.8rem;
	padding: 1rem 1rem 0;
}
.col.f_nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
	padding: 2rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.footnav.top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
	-ms-flex-pack: distribute;
	    justify-content: space-around;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	float: none;
	width: 100%;
	margin-bottom: 2rem;
}
.footnav.top .box a {
	font-weight: bold;
	width: 230px;
	height: 100px;
	padding: 1rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	background-color: #464e53;
	color: #cacaca;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
}
.footnav.top .box a:hover {
	background-color: #fff100;
	color: #000;
	-webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}
.footnav .box_right {
    padding-left: 1rem;
    border-left: 1px solid #797979;
}
.footcaption {
	font-size: 0.85rem;
    font-weight: 300;
    line-height: 2;
}
p.footertel {
    font-weight: bold;
	font-family: 'Oswald', sans-serif;
    font-size: 1.5rem;
    letter-spacing: 0.1em;
}
p.footertel i {
	margin-right: 6px;
}
.f_nav_box {
    border-bottom: 1px solid #797979;
	padding-bottom: 1rem;
}
#footer ul {
	padding: 0;
}
.footnav a, .footnav ul li {
	padding: 0 !important;
}
.footnav ul li {
	margin: 0px 38px 0 0 !important;
}
/* footer sns */
#socialicon {
	margin-bottom: 1rem;
}
#footer #socialicon ul {
	text-align: center;
}
#socialicon ul li:not(:last-child) a {
	padding: 0 12px 0 0;
}
#socialicon ul li:last-child a {
	padding: 0 ;
}
#socialicon i, .fa-twitter-square:before, .fa-instagram:before {
	font-size: 25px !important;
	color: #cacaca;
}
#socialicon ul li a:hover i, #socialicon ul li a:hover .fa-twitter-square:before, #socialicon ul li a:hover .fa-instagram:before {
	color: #fff100 !important;
	-webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}
#footerLogo a:hover {
	-webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
    background-color: #e5d800;
}
#footerLogo a:hover img {
	opacity: 1;
}
iframe {
    vertical-align: bottom;
}
.map iframe {
	height: 350px;
}
@media (min-width: 768px) {
	#footer .col {
		width: calc(100% / 3);
	}
	#footer .linkBtn {
		margin:0;
		width: 250px;
	}
	#footer .linkBtn a {
		padding: 15px;
		font-size: 1rem;
	}
}
@media screen and (min-width:768px) and ( max-width:1750px) {
	#footer .columns {
		-ms-flex-wrap: wrap;
		    flex-wrap: wrap;
	}
	#footer .columns .col {
		width: calc(100% / 2);
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}
	#footer .columns .col.map {
		-webkit-box-ordinal-group: 2;
		    -ms-flex-order: 1;
		        order: 1;
		width: 100%;
	}
	.side_fix_sns {
		margin-bottom: 40px !important;
	}
}
@media screen and (min-width:768px) and ( max-width:1200px) {
	#footer .columns {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	#footer .columns .col {
		width: 100%;
		min-height: 350px;
	}
	#footerLogo a {
		height: 350px;
	}
	#footer .col.map {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}
	#footer .col.f_nav {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}
	.side_fix_sns {
		margin-bottom: 60px !important;
	}
}
@media screen and (min-width:768px) and ( max-width:1024px) {
	#footer .linkBtn {
		width: 200px !important;
	}
	#footer .linkBtn a {
		padding:12px !important;
	}
	.footnav ul li {
		margin: 0px 15px 0 0 !important;
	}
}
@media print, screen and (max-width: 1100px) {
	#footer #footerLogo {
		padding:0;
	}
}
@media (max-width: 767px) {
	#footer {
		padding: 0;
	}
	#footer ul {
		padding: 0;
	}
	#footer ul li {
		margin: 0;
	}
	.float #footerLogo {
		padding: 0 !important;
	}
	#footerLogo img {
		max-width: 240px;
		-o-object-fit: cover;
		   object-fit: cover;
	}
	#footer .linkBtn a {
		font-size: 0.9rem;
	}
	#footer .footnav .box ul li {
		margin: 0 !important;
	}
	.map iframe {
		height: 300px;
	}
	#footer .columns {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
	}
	.footnav.top {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		margin-bottom: 1.5rem;
	}
	.footnav.top .box a {
		font-size: 1rem;
	}
	#footer .contact_btn {
		display: none;
	}
	#footer .bottom {
		width: 100%;
	}
	#footerLogo a {
		height: 150px;
	}
	#footer .col.map {
		-webkit-box-ordinal-group: 3;
		    -ms-flex-order: 2;
		        order: 2;
	}
	#footer .col.f_nav {
		-webkit-box-ordinal-group: 4;
		    -ms-flex-order: 3;
		        order: 3;
	}
}
/* --------------------------------------------------------------
side_fix_nav
-------------------------------------------------------------- */
.side_fix_sns {
    position: fixed;
    left: 10px;
    bottom: 12%;
	text-align: left;
	z-index: 10;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	margin-bottom: 55px;
	-webkit-transition: .3s;
    -moz-transition: .3s;
    -o-transition: .3s;
    transition: .3s;
}
.side_bottom {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: vertical;
	-webkit-box-direction: normal;
	    -ms-flex-direction: column;
	        flex-direction: column;
	-webkit-box-pack: center;
	    -ms-flex-pack: center;
	        justify-content: center;
	-webkit-box-align: center;
	    -ms-flex-align: center;
	        align-items: center;
	background-color: #fff100;
    padding: 2.5rem 15px 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    width: 52%;
    margin: -2rem auto 0;
    border-radius: 20px;
}
.side_bottom a {
	width: 40px;
	height: 40px;
	display: block;
	margin-bottom: 10px;
}
.side_bottom a.instagram {
	background: url(/struct/wp-content/uploads/icon_ig.png);
	background-size: cover;
}
.side_bottom a.facebook {
	background: url(/struct/wp-content/uploads/icon_fb.png);
	background-size: cover;
}
.side_bottom a.twitter {
	background: url(/struct/wp-content/uploads/icon_tw.png);
	background-size: cover;
}
.side_bottom a.line {
	background: url(/struct/wp-content/uploads/icon_line.png);
	background-size: cover;
}
.side_fix_sns  {
	display: inline-block;
}
.side_fix_sns .online_shop_btn img {
    width: 90%;
}
.side_fix_sns .online_shop_btn a:hover img {
	-webkit-transition: all .5s;
	-o-transition: all .5s;
	transition: all .5s;
	width: 100%;
	opacity: 1;
}
.side_bottom a:hover {
	-webkit-filter: grayscale(80%);
	        filter: grayscale(80%);
}
.sticky-header .side_bottom a {
	width: 30px;
	height: 30px;
}
.sticky-header .side_bottom {
	width: 60px;
	margin: -2.5rem auto 0;
	background-color: rgb(255 241 0 / 80%);
}
@media (max-width: 767px) {
   .side_fix_sns {
      display: none;
   }
}
/* --------------------------------------------------------------
 under / 下層
-------------------------------------------------------------- */
.linkBtn i {
	margin-right:10px;
}
h2.under_sub_ttl {
    font-family: 'Oswald', sans-serif;
    font-weight: 400;
    font-size: 2rem;
    margin: 0 auto;
    margin-bottom: 3%;
    padding: 0;
    display: block;
    line-height: 1.2;
    text-align: left;
	padding: 1rem 1.5rem;
	border-left: 5px solid #000;
	background: #f4f4f4;
	line-height: 1;
}
h2.under_sub_ttl b {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 300;
	font-size: 1.2rem;
	margin-left:10px;
}
#thumbImg {
	position: relative;
}
#thumbImg:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.35);
	z-index: 0;
}
body:not(.home).page-template h1.first {
	letter-spacing: 0.05em;
	text-align: center;
	margin: 5rem auto 0;
}
.gallery .gallery-caption {
	padding: 10px 0;
    font-size: 0.9rem;
}
.gallery b {
    display: block;
    font-weight: bold;
    margin-bottom: 0.5rem;
}

@media (min-width: 768px) {
	
}
@media (max-width: 767px) {
	h2.under_sub_ttl {
		margin-bottom: 6%;
		padding: 0.8rem 1rem;
		font-size: 1.5rem;
	}
	h2.under_sub_ttl b {
		font-size: 1rem;
	}
	body:not(.home).page-template h1.first {
		margin: 3rem auto;
	}
}
/* concept */
.top_tmb {
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
	position: relative;
}
.top_tmb img {
    width: 100%;
	min-height: auto;
    height: 500px;
    -o-object-fit: cover;
       object-fit: cover;
	-o-object-position: center 15%;
	   object-position: center 15%;
}
.under_concept .top_content {
    margin-top: -5rem;
    width: 100%;
    position: relative;
    z-index: 1;
	text-align: center;
}
.under .ttl_block {
	width: 50%;
	position: absolute;
    top: -250px;
	padding: 0 1rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
.under .contents_txt {
	margin: 0 auto;
	width: 70%;
	text-align: left;
}
.post h2.sub_ttl {
	padding: 10px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	font-size: 1.2rem;
    font-weight: bold;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
	background-color: #f4f7f9;
	margin-bottom: 1.5rem !important;
	position: relative
}
.post h2.sub_ttl:before {
	content: "";
	position: absolute;
	top: 100%;
	left: 20%;
	margin-left: -10px;
	border: 10px solid transparent;
	border-top: 10px solid #f4f7f9;
	width: auto;
}
.post span.point {
	font-family: 'Oswald', sans-serif;
    font-weight: bold;
    font-size: 2.5rem;
	color:#000;
	padding-left:0;
    padding: 0 5px;
    margin-right: 20px;
	line-height: 1;
	position: relative;
	z-index: 1;
}
.post span.point:after {
	content: '';
	height: 10px;
	width: 100%;
	background-color: #fff100;
	position: absolute;
	left: 50%;
	top: calc(50% + 2px);
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    z-index: -1;
}
@media (min-width: 768px) {
	.under .columns {
		margin-bottom: 3rem;
	}
	.under .columns .col:not(:last-child) {
		padding-right: 2rem;
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
	}
}
@media (max-width: 768px) {
	.top_tmb img {
		height: 300px;
		-o-object-position: 30% center;
		   object-position: 30% center;
	}
	.under .ttl_block {
		width: 100%;
		top: -130px;
	}
	.under h2.ttl_jp img {
		width: 100%;
		height: 100%;
	}
	.under .contents_txt {
		width: 90%;
	}
	.post span.point {
		font-size: 2rem;
		margin: 0 0 0.6rem;
	}
	.post h2.sub_ttl {
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		line-height: 1.4;
		font-size: 1rem;
	}
	.post h2.sub_ttl:before {
		left: 50%;
	}
}
/* facility */
.post p.r_txt {
	color: #e30505;
}
.post h2.under_ttl {
	font-family: 'Oswald', sans-serif;
    font-weight: 600;
    font-size: 2.5rem;
    padding: 15px 0px;
    margin: 0 auto 2rem;
    text-align: center;
	letter-spacing: 0.05em;
	color: #4e575c;
}
.post h2.under_ttl b {
	display: block;
	font-family: 'Noto Sans JP', sans-serif;
    font-weight: bold;
	font-size: 1rem;
    line-height: 1.2;
	letter-spacing: normal;
	margin-top: 1rem;
	color: #000;
}
@media (max-width: 768px) {
	.post h2.under_ttl {
		font-size: 2rem;
		margin-bottom:1rem;
	}
	.post h2.under_ttl b {
		margin-top: 0.5rem;
	}	
}
/* recruit */
body.page-recruit .post  {
	padding-bottom:0;
}
ul.tab_btn {
    margin: 5rem auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
ul.tab_btn li {
    border: none;
    width: 30%;
	margin-bottom: 0;
}
ul.tab_btn li a {
    display: block;
    padding: 12px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #464e53;
    background-color: #fff100;
    font-weight: bold;
    color: #000;
    text-align: center;
}
ul.tab_btn li a:hover {
    background-color: #4e575c;
	color:#fff;
    -webkit-transition: all .5s;
    -o-transition: all .5s;
    transition: all .5s;
}
.under ul.tag_list {
    margin: 2rem 0;
}
.g_philosophy img {
	height: 400px;
	-o-object-fit: cover;
	   object-fit: cover;
	-o-object-position: 50% 67%;
	   object-position: 50% 67%;
}
dl.recruit_box {
	margin-top: 3rem;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: stretch;
        -ms-flex-align: stretch;
            align-items: stretch;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
}
dl.recruit_box dt, dl.recruit_box dd{
    padding: 20px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
dl.recruit_box dt {
	width: 300px;
    border-top: 1px solid #4e575c;
    line-height: 1.6;
    font-size: 0.9rem;
    color: #4e575c;
    font-weight: 700;
}
dl.recruit_box dd {
	width: calc(100% - 332px);
    border-top: 1px solid #d0d0d0;
    line-height: 2.14;
    font-size: 0.9rem;
}
dl.recruit_box dt.ttl:nth-last-child(2) {
    border-bottom: 1px solid #4e575c;
}
dl.recruit_box dd.detail:last-child {
	border-bottom: 1px solid #d0d0d0;
}
.under_inner_container {
	width: 1100px;
    padding: 0 15px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	margin: 0 auto;
}
.post h3.footprint {
	position: relative;
	font-size: 1.5rem;
	padding: 15px 0 0 15px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    font-weight: bold;
    margin: 0 auto;
}
.bg_gray {
    background-color: #f4f7f9;
}
.bg_fw {
	padding: 4rem 0 5rem;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
a.a_txt {
    font-weight: 600;
	border-bottom: 1px solid;
}
a.a_txt i {
	margin-right: 6px;
}
@media (min-width: 767px) {
	ul.tab_btn li:not(:last-child) {
		margin-right: 1rem;
	}
}
@media (max-width: 768px) {
	.under_inner_container {
		width: 100%;
	}
	ul.tab_btn {
		-webkit-box-orient: vertical;
		-webkit-box-direction: normal;
		    -ms-flex-direction: column;
		        flex-direction: column;
		margin: 3rem auto;
	}
	ul.tab_btn li {
		width: 70%;
		margin: 0;
		margin-bottom: 0.5rem
	}
	.under .catch_ttl_philosophy {
		min-height: auto;
		padding-bottom: 8rem;
	}
	.under .catch_ttl_philosophy:before {
		top: 30%;
	}
	.under .catch_ttl_philosophy h2 {
		position: static;
		-webkit-transform: inherit;
		    -ms-transform: inherit;
		        transform: inherit;
	}
	.g_philosophy .gallery-item {
		width: 100% !important;
	}
	.g_philosophy img {
		height: 300px;
		width: 100%;
	}
	dl.recruit_box {
		margin-top: 2.5rem;
	}
	dl.recruit_box dt, dl.recruit_box dd {
		width: 100%;
		padding: 15px;
		font-size: 0.8rem;
	}
	dl.recruit_box dt.ttl:nth-last-child(2) {
		border-bottom: none;
	}
	dl.recruit_box dd.detail:last-child {
		border-bottom: 1px solid #4e575c;
	}
	.bg_fw {
		padding: 2rem 0 3rem;
	}
	.post h3.footprint {
		font-size: 1.2rem !important;
	}
}
/* biginners */
body.page-beginners .post  {
	padding-bottom:0;
}

/* -flow- */
ul.flow {

	padding: 0;
	padding-left: 120px;
	position: relative;
	margin-top: 3rem;
}
ul.flow:before {
	content: "";
	width: 15px;
	height: 100%;
	background: #eee;
	margin-left: -8px;
	display: block;
	position: absolute;
	top: 0;
	left: 120px;
}
ul.flow li {
  list-style-type: none;
}
ul.flow dd {
  margin-left: 0;
}
ul.flow > li {
  position: relative;
}
ul.flow > li:not(:last-child) {
  margin-bottom: 8vh;
}
ul.flow > li .icon {
	font-size: 1rem;
	color: #000;
	background: #fff219;
	padding: 8px 20px;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	display: block;
	position: absolute;
	top: 0;
	left: -120px;
	z-index: 1;
	font-family: 'Oswald', sans-serif;
    font-weight: bold;
}
ul.flow > li .icon::after {
  content: "";
  border-style: solid;
  border-width: 5px 0 5px 10px;
  border-color: transparent transparent transparent #fff219;
  position: absolute;
  top: 50%;
  left: 100%;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
}
ul.flow > li dl {
  padding-left: 70px;
  position: relative;
}
ul.flow > li dl::before,
ul.flow > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 20px;
}
ul.flow > li dl::before {
  width: 10px;
  height: 10px;
  margin-top: -5px;
  background: #464e53;
  border-radius: 50%;
  left: -5px;
}
ul.flow > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 5px;
}
ul.flow > li dl dt {
  font-size: 20px;
  font-weight: 600;
  color: #464e53;
  margin-bottom: 1vh;
}
@media (max-width: 768px) {
	ul.flow {
		padding-left: 80px;
	}
	ul.flow:before {
		left: 80px;
	}
	ul.flow > li .icon {
		font-size: 0.9rem;
		padding: 8px 10px;
		left: -90px;
	}
	ul.flow > li dl {
		padding-top: 6px;
	}
	ul.flow > li dl dt {
		font-size: 1rem;
		margin-bottom: 0.5rem;
	}
	ul.flow > li dl::before, ul.flow > li dl::after {
		top: 18px;
	}
}
/* -qa- */
section.under_beginners .CBlock-img {
    background-color: #ffffff;
    background: url("/struct/wp-content/themes/mrp04-child/svg/bg_pattern.svg") no-repeat fixed center;
    background-size: cover;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
    padding: 4em calc((100vw - 100%) / 2);
	position: relative;
}
section.under_beginners {
	counter-reset: section;
}
/*-accordion-*/
.vision_accordion {
	margin-bottom: 3rem !important;
	margin-top: 3rem !important;
}
.ui-widget {
	font-size: initial;
}
.ui-accordion .ui-accordion-header {
	padding: 20px 20px 20px 120px;
	margin-top: 2rem;
	position: relative;
	border: 1px solid #464e53;
    background: #fff;
	color: #464e53;
    font-size: 1.2rem;
	line-height: 1.6;
	overflow:hidden;
	font-family: 'Noto Sans JP', sans-serif;
}
.ui-accordion .ui-accordion-content {
	position: relative;
	padding: 20px 20px 20px 120px;
	color: #464e53;
	font-size: 1rem;
	font-family: 'Noto Sans JP', sans-serif;
	line-height: 1.5;
}
.ui-accordion .ui-accordion-content::before {
	font-family: 'Oswald', sans-serif;
    font-weight: 500;
	color: #464e53;
	content: 'A';
	position: absolute;
	font-size: 200%;
	font-weight: bold;
	left: 40px;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
h3.accordion_heading:before {
	counter-increment: section;
    content: "Q" counter(section);
    position: absolute;
    font-size: 2rem;
    left: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #fff;
    width: 100px;
    height: auto;
    text-align: center;
	padding: 100vw 0;
    overflow: hidden;
	font-family: 'Oswald', sans-serif;
    font-weight: 500;
	background: #464e53;
}
h3.accordion_heading:after {
	content: "";
    background: url(/struct/wp-content/uploads/arrow.png) no-repeat;
    background-size: contain;
	width:22px;
    height: 22px;
    position: absolute;
    top: 50%;
    right: 0;
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(-50%);
}
.ui-state-active::after, .ui-widget-content .ui-state-active::after, .ui-widget-header .ui-state-active::after {
	-webkit-transform: rotate(90deg);
    -ms-transform: rotate(90deg);
	transform: rotate(90deg) !important;
    top: 45% !important;
    right: 20px !important;
}
@media (min-width: 768px) {
	.vision_accordion {
		max-width: 1100px;
		padding:0 3%;
		margin: 0 auto;
	}
}
@media only screen and (max-width: 959px) {
	body.page-qa #wrapper {
		padding: 0 10px;
	}
}
@media (max-width: 767px) {
	section.bgimage {
		background-attachment: scroll;
	}
	.page-template.page-id-59 #wrapper {
		padding-bottom:0;
	}
	h3.accordion_heading:before {
		width: 60px;
		font-size: 1.2rem;
	}
	.ui-accordion .ui-accordion-header {
		padding: 10px 10px 10px 70px;
		font-size: 0.8rem;
		margin: 0 !important;
		margin-top: 1rem !important;
	}
	.ui-accordion .ui-accordion-content {
		padding: 10px 15px 10px 70px;
		font-size: 0.8rem;
		line-height: 1.8;
	}
	h3.accordion_heading:after {
		width: 12px;
		height: 12px;
	}
	.ui-state-active::after, .ui-widget-content .ui-state-active::after, .ui-widget-header .ui-state-active::after {
		right:5px !important;
	}
	.vision_accordion {
		width: 95%;
		margin: 0 auto;
		margin-bottom: 0 !important;
	}
	.ui-accordion .ui-accordion-header:first-child {
		margin-top: 0;
	}
	.ui-accordion .ui-accordion-content::before {
		left: 20px;
		font-size: 1.2rem;
	}
	.bg-mask {
		padding: 10% 5% !important;
	}
	section.under_qa .CBlock-img {
		padding: 3rem 0;
	}
}
/* oneday-timeline */
span.flag_subttl {
    background: #e5d800;
    color: #fff;
    padding: 0 30px;
    font-size: 2rem;
    font-family: 'Oswald', sans-serif;
    font-weight: 500;
    letter-spacing: 0.2em;
    line-height: 1;
    position: relative;
}
span.flag_subttl:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 6px;
    height: 110px;
    background: #e5d800;
}
.post .ttl_day h3.footprint {
    margin: -0.5rem 1rem;
}
.ttl_day {
    margin-bottom: 2rem;
	padding: 10px 0;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
}
.columns.bg_y {
    background-color: rgb(255 242 25 / 10%);
    padding: 2rem 2.5rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
}
@media (max-width: 768px) {
	span.flag_subttl {
		font-size: 1.2rem;
	}
	span.flag_subttl:before {
		height: 85px;
	}
	.post .ttl_day h3.footprint {
		margin: -0.5rem 0.8rem;
	}
	.columns.bg_y {
		padding: 1rem 2em;
	}
}
/* -timeline- */
table.timeline, table.timeline th {
    position: relative;
}
.post table.timeline th {
	padding-left:30px;
}
table.timeline:before {
    content: "";
    position: absolute;
    top: 30px;
    bottom: 0px;
    left: 2px;
    width: 1px;
    background-color: #e5d800;
    opacity: .25;
}
table.timeline th::before {
    content: '';
    width: 10px;
    height: 10px;
	border-radius: 10px;
    position: absolute;
    left: -3px;
    top: 50%;
    -ms-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    -webkit-transform: translateY(-50%) translateX(0);
    background-color: #fff219;
}
@media (min-width: 768px) {
}
@media (max-width: 767px) {
	.post table.timeline th {
		padding-left:15px;
	}
	table.timeline:before {
		top: 0;
	}
}
/* -timeline-end */

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