@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@font-face {
	font-family:'Giflika-Regular';
	src:url('fonts/Giflika-Regular.woff2') format('woff2'),
		url('fonts/Giflika-Regular.woff') format('woff'),
		url('fonts/Giflika-Regular.ttf') format('truetype');
}
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500;1,600;1,700&family=Inter:ital,opsz,wght@0,14..32,100..900;1,14..32,100..900&display=swap');

:root {
    --color-background: #fff;
    --color-font: #111;
    --color-primary: #67856c;
    --color-primary-shade: #111;
    --color-primary-tint: #666;
    --color-secondary: #95867f;
    --color-secondary-tint: #eee;
    --color-table-border: #ccc;
    --body-font-family: 'ヒラギノ角ゴ ProN', 'Inter', sans-serif;
	--font-family01: 'Giflika-Regular', 'Cormorant-Garamond', serif;
	--font-family02: 'Inter', 'ヒラギノ角ゴ ProN', sans-serif;
	--content-max-width: 1100px;
}
body {
    background: #e8e6e1;
}
/*------------------------------------------
fonts
------------------------------------------*/
.post .designfont {
    font-family: var(--font-family01);
    font-weight: normal;
    color: #67856c;
	letter-spacing: -1px;
    line-height: 1;
}
.post .front_contents.sec01 .designfont {
    font-size: calc(200px + (1vw - 19.2px) * 9.0615);
    line-height: 0.8;
    margin-left: 1%;
    margin-bottom: var(--px240);
    margin-top: -5%;
}
.post .front_contents.sec02 .designfont {
    font-family: 'Giflika-Regular';
    font-weight: normal;
    color: #67856c;
    font-size: var(--px80);
    text-align: left;
    letter-spacing: -1px;
    line-height: 1;
	margin-bottom: var(--px100);
}
.post .front_contents.sec03 .designfont {
    font-family: 'Giflika-Regular';
    font-weight: normal;
    color: #67856c;
    font-size: var(--px80);
    text-align: left;
    letter-spacing: -1px;
    line-height: 1;
	margin-bottom: var(--px100);
}
.post p {
    padding-bottom: 0;
    line-height: 1.8;
}
@media print, screen and (max-width: 640px) {
	.post p {
		line-height: 1.6;
	}
}
.post .page_contents_inner p + p {
    margin-top: var(--rem30);
}

/*------------------------------------------
header
------------------------------------------*/
nav#mainNav ul li a span {
    display: none;
}

@media print, screen and (min-width: 1024px) {
    #header {
        background: transparent;
        height: 100px;
        margin: auto;
        position: fixed;
        top: 0;
        left: 0;
    }
    #header .logo {
        /*background: #fff;*/
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
    }
    .sticky-header #header-layout {
        height: 100px;
    }
    .sticky-header #header > .inner {
        height: auto;
        background: transparent;
        box-shadow: none;
    }
}

/*hamburger*/
/*tab*/
/*menu trigger
--------------------------------------------------------*/
.menu-trigger, .menu-trigger span {
	display: inline-block;
	-webkit-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	z-index: 13;
}
.menu-trigger {
    position: fixed;
    width: 50px;
    height: 14px;
    left: inherit;
    top: 30px;
    right: 30px;
}
.menu-trigger p.menutr {
    position: absolute;
    bottom: -82%;
    font-size: 80% !important;
    color: #333;
    z-index: 3;
    cursor: pointer;
    padding: 0 !important;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
}
#menu-trigger.active p.menutr{
		display: none;
}
.menu-trigger span {
    position: absolute;
    left: 0;
    width: 100%;
    height: 2px;
    background-color: #fff;
    border-radius: 0px;
    cursor: pointer;
}
.menu-trigger span:nth-of-type(1) {
	top: 0;
}
/*.menu-trigger span:nth-of-type(2) {
	top: 11.5px;
}*/
.menu-trigger span:nth-of-type(2) {
	bottom: -10px;
}
@media print, screen and (min-width: 1100px) {
    /*既存スティッキー挙動回避*/
    .sticky-header .site-header{
        position: fixed !important;
        width:100%;
        top: 0 !important;
        -webkit-transform: none;
            -ms-transform: none;
                transform: none;
        -webkit-transition: none;
        -o-transition: none;
        transition: none;
        z-index: 9999;
        transition: 0.3s all;
    }
}
/*menu trigger fix
--------------------------------------------------------*/
.menu-trigger-fix, .menu-trigger-fix span {
	display: inline-block;
	-webkit-transition: all .4s;
	-o-transition: all .4s;
	transition: all .4s;
	-webkit-box-sizing: border-box;
	        box-sizing: border-box;
	z-index: 13;
}
.menu-trigger-fix {
	position: fixed;
	width: 30px;
	height: 27px;
	left: 83%;
	top: 65px;
}
.menu-trigger-fix span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background-color: #111;
	border-radius: 0px;
}
.menu-trigger-fix span:nth-of-type(1) {
	top: 0;
}
/*.menu-trigger-fix span:nth-of-type(2) {
	top: 11.5px;
}*/
.menu-trigger-fix span:nth-of-type(2) {
	bottom: 23.5px;
}

/*menu trigger effect
--------------------------------------------------------*/
#menu-trigger::after {
    position: absolute;
    cursor: pointer;
    top: -30px;
    right: -30px;
    display: block;
    content: '';
    width: 110px;
    height: 90px;
    border: none;
    margin: 0;
    background: #0000002e;
    border-radius: 0;
}
#menu-trigger.active::after {
    background:rgba(0,0,0,0.00);
}
#menu-trigger.active span:nth-of-type(1) {
	transform: translateY(15px) rotate(-45deg);
	-webkit-transform: translateY(15px) rotate(-45deg);
	-moz-transform: translateY(15px) rotate(-45deg);
	-ms-transform: translateY(15px) rotate(-45deg);
	background-color: #666;
}
#menu-trigger.active span:nth-of-type(2) {
	transform: translateY(-8px) rotate(45deg);
	-webkit-transform: translateY(-8px) rotate(45deg);
	-moz-transform: translateY(-8px) rotate(45deg);
	-ms-transform: translateY(-8px) rotate(45deg);
	background-color: #666;
}
@-webkit-keyframes menu12-circle {
 0% {
 border-color: transparent;
 transform: rotate(0);
 -webkit-transform: rotate(0);
 -moz-transform: rotate(0);
 -ms-transform: rotate(0);
}
 25% {
 border-color: transparent #fff transparent transparent;
}
 50% {
 border-color: transparent #fff #fff transparent;
}
 75% {
 border-color: transparent #fff #fff #fff;
}
 100% {
 border-color: #666;
 transform: rotate(-680deg);
 -webkit-transform: rotate(-680deg);
 -moz-transform: rotate(-680deg);
 -ms-transform: rotate(-680deg);
}
}
@keyframes menu12-circle {
 0% {
 border-color: transparent;
 transform: rotate(0);
 -webkit-transform: rotate(0);
 -moz-transform: rotate(0);
 -ms-transform: rotate(0);
}
 25% {
 border-color: transparent #fff transparent transparent;
}
 50% {
 border-color: transparent #fff #fff transparent;
}
 75% {
 border-color: transparent #fff #fff #fff;
}
 100% {
 border-color: #666;
 transform: rotate(-680deg);
 -webkit-transform: rotate(-680deg);
 -moz-transform: rotate(-680deg);
 -ms-transform: rotate(-680deg);
	}
}

/* メインコンテンツ
--------------------------------------------------------*/
#all {
	position: relative;
	width: 100%;
	height: 100%;
	-webkit-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 2;
	line-height: 0;
}
#mainImg{
	background: #ffffff;
}
/* サイドオープン時にメインコンテンツを覆う部分
--------------------------------------------------------*/
.overlay {
	content: '';
	visibility: hidden;
	position: fixed;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0);
	-webkit-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
	z-index: 5;
}
.overlay::after {
	content: "";
	visibility: hidden;
	position: fixed;
	top: 40%;
	left: 0;
	display: block;
	width: 100%;
	height: 50px;
	color: rgba(255,255,255,0);
	font-size: 40px;
	font-weight: bold;
	text-align: center;
	-webkit-transition: all .5s ease;
	-o-transition: all .5s ease;
	transition: all .5s ease;
}
.side-open .overlay {
	visibility: visible;
	cursor: pointer;
	background: rgba(0,0,0,.7);
}
.side-open .overlay::after {
	visibility: visible;
	color: rgba(255,255,255,.8);
}

/* サイドメニュー ※リストのスタイルは省略
--------------------------------------------------------*/

#right-panel {
    position: fixed;
    right: 0;
    top: 50%;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    width: 100%;
    height: 100%;
    padding-top: 10px;
    text-align: left;
    background: var(--header-background);
    z-index: 12;
    -webkit-transition: all .7s;
    -o-transition: all .7s;
    transition: all .7s;
    opacity: 0;
    display: none !important;
}

/* サイドメニューオープン
--------------------------------------------------------*/

.side-open #right-panel {
    width: 90%;
    overflow: auto;
    position: fixed;
    height: 100%;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    opacity: 1;
    display: flex !important;
    justify-content: center;
    align-items: stretch;
}
.scroll-logo {
	display: block;
	padding-left: 0;
	margin:0 auto;
	text-align:center;
}
@media print, screen and (min-width: 1024px){
    .side-open #header .logo {
        opacity: 0;
    }
}
@media print, screen and (max-width: 1023px){
	nav div.panel {
		float: none;
		display: block !important;
	}
    .side-open #right-panel {
        width: 100%;
        height: 100%;
    }
    .side-open #right-panel{
		padding-top: 10px;
	}
    .menu-trigger {
        top: 25px;
    }
	#menu-trigger::after {
		top: -25px;
		width: 85px;
		height: 80px;
	}
    .menu-trigger span {
        left: 15px;
    }
    .menu-trigger p.menutr {
        left: 90%;
    }
}

/*------ヘッダー内部メニュー調整start-------------------*/

.panelinner ul {
    padding: 0 !important;
    display: flex;
    flex-wrap: wrap;
    gap: var(--px20);
    justify-content: flex-start;
    align-items: flex-start;
}
.panelinner {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
}


/* logoarea */

.leftlogoarea {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    gap: 10px;
    align-items: center;
    padding: var(--px160) var(--px60);
    background: #fff;
    width: 400px;
    text-align: center;
    flex-shrink: 0;
}
.leftlogoarea img {
    max-width: 142px;
    width: 100%;
    height: auto;
}
#header p.headerconcepttxt {
    font-size: var(--rem14);
    display: flex;
    line-height: 1.4;
    justify-content: flex-start;
    gap: var(--rem14);
    color: var(--color-font);
    margin-top: var(--rem24w);
}
#header p.headertxtarea {
    line-height: 2.2;
    text-align: left;
    font-size: var(--rem12);
    margin-top: var(--px30);
}


/* navlistarea */

.navlistarea {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    padding: var(--px120);
    gap: 5%;
    flex-grow: 1;
    background: var(--color-secondary);
    color: #fff;
}
.navlistarea .header_nav > ul > li {
    width: var(--px240);
    text-align: left;
    margin-bottom: 5%;
}
.panel .navlist-item {
    display: block;
    text-align: left;
    width: 100%;
}
.panel .navlist-item a, .panel .navlist-item a b {
    color: #fff;
    line-height: 1.4;
    font-size: var(--px30);
    display: inline-block;
    position: relative;
    font-family: var(--font-family02);
    font-weight: 400;
}
.panel .navlist-item + li {
    margin-top: 10%;
}
.panel .navlist-item + li .header_nav > ul > li {
    width: var(--px120);
}
.panel .navlist-item + li a, .panel .navlist-item + li a b {
    color: #fff;
    line-height: 1.4;
    font-size: var(--px16);
    display: inline-block;
    position: relative;
    font-family: var(--font-family02);
    font-weight: 400;
}

/* subtxt */

.panel .navlist-item a span.subtxt {
    display: none;
}
.panel .navlist-item .headnav > a {
    font-size: var(--rem24);
    font-weight: 600;
    padding: 1rem 1rem 1rem 0;
	margin-bottom: 1rem;
}
.panel .navlist-item ul.sub-menu li + li {
    margin-top: 1.5rem;
}
.panel .navlist-item ul.sub-menu li a {
	position: relative;
	margin-left: 0.5rem;
    padding-left: 2.5rem;
}
@media print, screen and (max-width: 1023px){
    .panelinner {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
    }
}
@media print, screen and (max-width: 768px) {
	.leftlogoarea img {
		max-width: 71px;
	}
   .leftlogoarea {
        padding-bottom: var(--px60);
        width: 100%;
        text-align: center;
    }
    .navlistarea {
        padding: var(--px80);
    }
    .navlistarea .header_nav > ul > li {
        width: 30%;
    }
}
/*------ヘッダー内部メニュー調整end-------------------*/

/*------ヘッダーmobile時メニュー調整start-------------------*/
body.mobile {
    margin-top: 0;
}
body.mobile #header ul.navlist, body.mobile #header .navlist-item  {
    width: 100% !important;
    padding: 0 !important;
    margin: 0 !important;
}
@media print, screen and (max-width: 1023px) {
    body.mobile #header ul.navlist, body.mobile #header .navlist-item  {
        background: transparent !important;
        box-shadow: none !important;
    }
     body.mobile #header .logo {
        position: fixed;
        top: 0;
        left: 0;
        height: 80px;
        width: 80px;
        display: flex;
        justify-content: center;
        align-items: center;
        /*background: #fff;*/
        line-height: 0;
        padding: min(calc(10px + (1vw - 19.2px) * 0.5580), 10px) min(calc(20px + (1vw - 19.2px) * 1.1161), 20px);
        -webkit-transition: all .4s;
        -o-transition: all .4s;
        transition: all .4s;
    }
}

/*------ヘッダーmobile時メニュー調整end-------------------*/

/*----------------------------------------------------------------
PCヘッダーend
----------------------------------------------------------------*/

/*---------------------------------------------------
MVスクロール後表示
----------------------------------------------------*/

@media print, screen and (min-width: 1024px) {
/* バナーの初期状態を非表示に設定 */
body.home #afterarea {
    top: 0;
    left: 0;
    display: none;
    position: fixed;
    width: auto;
    transition: opacity 0.3s ease;
    }
}

/*---------------------------------------------------
サイドスクロール
----------------------------------------------------*/

#scrollUp {
    line-height: 41px;
    bottom: 100px;
}
a#scrollUp {
    width: auto;
    height: auto;
    background: transparent;
    -webkit-transition: 0.7s all;
    -o-transition: 0.7s all;
    transition: 0.7s all;
    opacity: 1;
	right: 10px;
}
.top-icon {
    stroke: #878787 !important;
    stroke-width: 0.5px !important;
}
span.scroll-top {
    right: 39px;
    bottom: 58px;
    display: block;
    font-family: var(--font-family02);
    font-size: 15px;
    font-weight: 400;
    color: #878787;
    letter-spacing: .1em;
    -webkit-writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    white-space: nowrap;
}
span.scroll-top:after {
    content: "PAGE TOP";
}
span.scroll-top:hover {
    opacity: 0.7;
}
@media screen and (max-width: 640px) {
    #scrollUp {
        bottom: 80px !important;
        right: 0px !important;
    }
    span.scroll-top {
        font-size: 11px;
    }
}

/*------------------------------------------
footer
------------------------------------------*/

/* ----全体LAYOUT調整----*/

#footer {
    color: var(--color-font);
    background: transparent;
    border-top: solid 1px;
    padding: var(--px50) 0 0;
}
.footer__inner {
	width: 94%;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	gap: 5%;
}
@media print, screen and (max-width: 768px) {
	.footer__inner {
        flex-direction: column;
        align-items: flex-start;
        -webkit-box-pack: start;
        -ms-flex-pack: flex-start;
        justify-content: flex-start;
    }
}

/* ----right----*/

.rightarea {
    width: inherit;
}
#footer .footnav ul {
    justify-content: flex-end;
}
#footer .footnav ul > li .subtxt {
    display: none;
}
#footer .footnav a {
    font-size: var(--rem12);
}
@media print, screen and (max-width: 768px) {
	#footer .footnav ul {
		justify-content: flex-start;
		margin-top: var(--px40);
	}
}

/*footer navi ico*/

#footer .footnav ul > li {
	position: relative;
	line-height: 1.4;
	padding: 0 min(calc(16px + (1vw - 19.2px) * 0.4531), 16px); /* 16-9px、15-8px (1920-375) */
	margin-bottom: 10px;
}
#footer .footnav ul > li:first-child {
    padding-left: 0;
}
#footer .footnav ul > li::before {
    content: none;
}
#footer .footnav ul > li::after {
	content: none;
}
#footer li a, .footeradd, .footertel, #footer li a:hover {
    color: var(--color-font);
}
#footer ul li a:hover {
    text-decoration: none;
    opacity: 0.7;
}

/* ----left----*/

.leftarea {
    width: inherit;
}
#footer .footer__logo:not(:last-child) {
    margin: 0;
    text-align: left;
}
.leftarea .logoare {
    display: flex;
    flex-direction: column;
    gap: var(--px14);
    line-height: 1;
}
.footer__logo {
    display: flex;
    align-items: center;
    gap: var(--rem20);
}
#footer .footer__logo img {
    max-width: 80px;
    max-height: var(--px80);
    -o-object-fit: contain;
    object-fit: contain;
}
p.footer_infoarea {
    font-size: var(--rem12);
    line-height: 1.8;
}
.footer__catchphrase {
    line-height: 1.2;
	text-align: left;
}
@media print, screen and (max-width: 768px) {
    #footer .footer__logo:not(:last-child) {
        text-align: left;
        flex-direction: column;
        align-items: flex-start;
    }
	.footer__catchphrase {
		text-align: left;
	}
}

/* ----SNSアイコン----*/

/*LAYOUT調整*/

#footer .socialicon ul, .socialicon ul {
    -webkit-box-pack: start;
    -ms-flex-pack: flex-start;
    justify-content: flex-start;
    gap: 10px;
}
#footer .socialicon ul li, .socialicon ul li {
    padding: 0;
}
@media print, screen and (max-width: 768px) {
	#footer .socialicon ul, .socialicon ul {
		justify-content: flex-start;
	}
}

/*アイコンサイズ調整*/

#footer .socialicon .fa-facebook:before, #footer .socialicon .fa-twitter:before, #footer .socialicon .fa-youtube:before, #footer .socialicon .fa-instagram:before, #footer .socialicon .fa-x-twitter:before, #footer .socialicon .fa-line:before, #footer .socialicon .fa-tiktok:before {
    font-size: var(--rem24);
    color: var(--color-font);
}
#footer .copyrightarea .footnav {
    margin: 0;
}
#footer .copyrightarea {
    margin: var(--px160) auto var(--px30);
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    padding: 0;
    color: var(--color-primary);
}
#copyright {
    color: var(--color-font);
    background: transparent;
    padding: 0;
    border: none;
    margin: 0;
	line-height: 1;
}

@media print, screen and (max-width: 768px) {
	.copyrightarea {
		margin-top: 0;
	}
    #copyright {
        text-align: left;
    }
}

/*------------------------------------------
contceptimgarea
------------------------------------------*/

.topimgslide {
    margin-top: var(--px30);
}
.contceptimgarea {
    position: relative;
	margin-bottom: var(--px60);
}
.contceptimgarea p {
    letter-spacing: 1.2rem;
}
.contceptimgarea p:first-child {
    text-align: center;
    font-size: var(--rem20);
}
.contceptimgarea .sidetxt {
    position: absolute;
    top: 50%;
    transform: translateY(-50%) rotate(270deg);
    left: -9rem;
    font-size: 80%;
}
.contceptimgarea .sidetxt:last-child {
    right: -9rem;
    left: inherit;
    transform: translateY(-50%) rotate(90deg);
}
.post .contcepttxt {
    line-height: 3;
}
@media print, screen and (max-width: 640px) {
	.post .contcepttxt {
		line-height: 2;
	}
	.contceptimgarea p:first-child {
		font-size: var(--rem14);
		letter-spacing: 0.5rem;
	}
	.contceptimgarea .sidetxt {
		display: none;
	}
}

/*------------------------------------------
colimgarea
------------------------------------------*/

.colimgarea {
    margin-top: var(--px60);
    display: flex;
    gap: var(--px80);
    align-items: flex-start;
    justify-content: center;
}
.colimgarea .img01, .colimgarea .img02 {
    aspect-ratio: 1 / 1.444;
    width: 100%;
    max-width: 510px;
}
.colimgarea .img01 img, .colimgarea .img02 img {
	border-radius: var(--px80) 0 0 0;
    object-fit: cover;
    width: 101%;
    height: 101%;
}
.colimgarea .img01 {
    margin-top: var(--px240);
}
@media print, screen and (max-width: 640px) {
	.colimgarea {
		gap: 5%;
	}
}

/*------------------------------------------
numlist
------------------------------------------*/
ol.numlist {
    counter-reset: listnum;
    margin: 0;
}
ol.numlist li {
    list-style: none;
}
.numlist li:before {
    counter-increment: listnum;
    content: counter(listnum, decimal-leading-zero);
    color: var(--color-secondary);
    font-size: var(--rem18);
    font-weight: 500;
}
.numlist .head {
    font-size: var(--rem36);
    font-family: var(--font-family02);
    font-weight: 400;
    color: var(--color-secondary);
    line-height: 1.2;
    margin-bottom: var(--rem24);
    margin-top: var(--rem16);
}
.numlist .head > .subtxt {
    font-size: 1.8rem;
    font-family: var(--body-font-family);
    color: var(--color-font);
    display: block;
    line-height: 1.2;
    margin-top: var(--rem28);
}

/*---advantagelist---*/

ol.advantagelist li + li {
    margin-top: var(--rem80);
}

/*---servicelist---*/

ol.servicelist {
    display: flex;
    gap: 5%;
    flex-wrap: wrap;

    li {
        width: calc(100% / 3 - 4%);
        display: flex;
        flex-direction: column;
    }
}
@media print, screen and (max-width: 1100px) {
    ol.servicelist {
        li {
            width: 100%;
            & + li {
                margin-top: var(--rem80);
            }
        }
    }
}

/*------------------------------------------
sec01
------------------------------------------*/

@media print, screen and (max-width: 375px) {
    .sec01 .contcepttxt {
        font-size: 12px;
    }
}

/*------------------------------------------
sec03
------------------------------------------*/

.front_contents.sec03 {
    padding: 0;
}
.sec03 .wrapper_content {
    margin-left: auto;
    margin-right: auto;
    max-width: 1745px;
    width: 94%;
}
.sec03 .numlist .head {
    min-height: 10rem;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.sec03 ol.servicelist a.linkBtn {
    margin-top: auto;
    margin-left: 0;
}
.sec03 ol.servicelist .txtbody {
    margin: var(--rem24) 0;
}
.sec03 .imgarea {
    aspect-ratio: calc(1 + 1.414) / 1;
    width: 100%;
    max-width: 1745px;
    margin: var(--px120) 0 0;
}
.sec03 .imgarea img {
    object-fit: cover;
    width: 101%;
    height: 101%;
}
@media print, screen and (max-width: 1240px) {
    .sec03 {
        .wrapper_content {
            max-width: var(--content-max-width);

            ol.servicelist {
                gap: 0;
                flex-direction: column;

                li {
                    width: 100%;
                    & + li {
                        margin-top: var(--rem80);
                    }
                }
            }
            .numlist .head {
                min-height: auto;
            }
        }
    }
}

/*------------------------------------------
postarea
------------------------------------------*/

.postarea ul.front_postlist {
    margin-left: auto;
    margin-right: auto;
    max-width: 1660px;
    width: 94%;
    display: flex;
    justify-content: center;
    align-items: stretch;
    gap: 5%;
}
.postarea .posthead {
    flex-shrink: 0;
    width: auto;
    font-family: 'Giflika-Regular';
    font-weight: normal;
    color: #67856c;
	font-size: var(--px80);
	text-align: right;
	letter-spacing: -1px;
    line-height: 1;
}
.postarea .front_postlist > li {
    display: flex;
    gap: 10%;
    justify-content: flex-start;
    align-items: flex-start;
    margin-left: 0;
    width: 100%;
}
#front_top_content, #front_bottom_content {
    background: transparent;
}
.postlist li, .postlist li:first-child {
    border: none;
}
.postlist .post_text {
    width: 100%;
    padding: var(--px12) 0 var(--px20);
    gap: 10px;
    align-items: flex-start;
}
.postlist .ttls, .postlist .date {
    padding: 0;
}
.postlist .date {
    flex-shrink: 0;
    min-width: 80px;
}
.postlist .time {
    display: none;
}
.post .time, .postlist .time, .post2b .time, .post4b .time {
    background: transparent;
    padding: 0;
    font-size: inherit;
    color: var(--color-font);
}
.post .time a, .post2b .time a, .post4b .time a, .postlist .time a {
    color: var(--color-font);
}
.postlist .ttls a {
    white-space: normal;
}
.postarea .postbody {
    display: flex;
    flex-direction: column;
    align-self: stretch;
    a.linkBtn {
        margin-top: auto;
        margin-left: 0;
    }
}

@media print, screen and (max-width: 1400px) {
    .postarea .front_postlist > li {
        flex-direction: column;
        gap: var(--px40);
    }
    .postarea .postbody {
        align-self: stretch;
        height: 100%;
    }
}
@media print, screen and (max-width: 768px) {
	.postarea .front_postlist > li {
		flex-direction: column;
		max-width: none;
	}
	.postarea .posthead {
		width: auto;
		margin-bottom: var(--px20);
	}
}
@media print, screen and (max-width: 640px) {
	.postarea ul.front_postlist {
		flex-direction: column;
		max-width: none;
	}
    .postarea .front_postlist > li {
        gap: 0;
    }
	.postarea .front_postlist > li + li {
		margin-top: var(--px80);
	}
    .postlist .post_text {
        line-height: 1.4;
    }
    .postlist .date {
        min-width: 70px;
    }
}

/*------------------------------------------
category
------------------------------------------*/
body.category h1.title {
    margin-bottom: 0;
}

/*------------------------------------------
linkBtn
------------------------------------------*/

.linkBtn, .post .linkBtn, a.linkBtn, .post .subimitarea .linkBtn input[type="submit"] {
    position: relative;
    display: inline-block;
    width: auto;
    max-width: none;
	font-size: var(--px16);
    color: var(--color-font);
    line-height: 1.8;
    text-align: left;
    background: transparent;
	font-weight: 400;
    padding: var(--px20) 20px var(--px20) 80px;
    margin: 20px auto 0;
	border: none;
    border-radius: 0;
    transition: all .3s;
}
.linkBtn::after, .post .linkBtn::after, a.linkBtn::after, .post .subimitarea .linkBtn input[type="submit"]::after {
    content: '';
    position: absolute;
    border-style: solid;
    border-color: var(--color-font);
    border-width: 1px 1px 0 0;
    width: 6px;
    height: 6px;
	right: 0;
    top: 50%;
    left: 26px;
    -webkit-transform: translate(-70%, 0) rotate(45deg);
    transform: translate(-70%, 0%) rotate(45deg);
}
.linkBtn::before, .post .linkBtn::before, a.linkBtn::before, .post .subimitarea .linkBtn input[type="submit"]::before {
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--rem16);
    color: var(--color-font);
    font-weight: 400;
    line-height: 1;
    background-color: transparent;
    border-radius: 100%;
	border: solid 1px var(--color-font);
    position: absolute;
    left: 0;
    top: 50%;
    width: 50px;
    height: 50px;
    transform: translateY(-50%);
    transition: all .3s;
    z-index: -2;
	transform-origin: center;
}
.linkBtn:hover::before, .post .linkBtn:hover::before, a.linkBtn:hover::before, .post .subimitarea .linkBtn input[type="submit"]:hover::before {
	background-color: var(--color-font);
    transform: translateY(-50%) scale(1.5);
}
.post .linkBtn:hover, .linkBtn:hover, a.linkBtn:hover, .post .subimitarea .linkBtn input[type="submit"]:hover {
    background: transparent;
    color: var(--color-font);
}
.linkBtn:hover::after, .post .linkBtn:hover::after, a.linkBtn:hover::after, .post .subimitarea .linkBtn input[type="submit"]:hover::after {
    border-color: #fff;
}
.subimitarea > .linkBtn {
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}
.subimitarea {
    text-align: center;
    margin-top: var(--px40);
}
.post .subimitarea .linkBtn input[type="submit"] {
    margin-top: 0;
}
.submit_btn, .post .submit_btn {
    width: auto !important
}

/*--link_btn--------------------------------------------*/

ul.linkbtn_list {
    display: flex;
    gap: 1%;
    justify-content: center;
    flex-wrap: wrap;
}
.link_btn {
    position: relative;
    display: inline-block;
    width: auto;
    max-width: none;
	font-size: var(--px16);
    color: var(--color-font);
    line-height: 1.8;
    text-align: left;
    background: transparent;
	font-weight: 400;
    padding: var(--px20) 20px var(--px20) 80px;
    margin: 20px auto 0;
	border: none;
    border-radius: 0;
    transition: all .3s;
}
.link_btn::after {
    content: '';
    position: absolute;
    border-style: solid;
    border-color: var(--color-font);
    border-width: 1px 1px 0 0;
    width: 6px;
    height: 6px;
	right: 0;
    top: 50%;
    left: 26px;
    -webkit-transform: translate(-50%, 0%) rotate(135deg);
    transform: translate(-50%, 0%) rotate(135deg);
    margin-top: -3px;
}
.link_btn::before {
    content: '';
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: var(--rem16);
    color: var(--color-font);
    font-weight: 400;
    line-height: 1;
    background-color: transparent;
    border-radius: 100%;
	border: solid 1px var(--color-font);
    position: absolute;
    left: 0;
    top: 50%;
    width: 50px;
    height: 50px;
    transform: translateY(-50%);
    transition: all .3s;
    z-index: -2;
	transform-origin: center;
}
.link_btn:hover::before {
	background-color: var(--color-font);
    transform: translateY(-50%) scale(1.1);
}
.link_btn:hover {
    background: transparent;
    color: var(--color-font);
}
.link_btn:hover::after {
    border-color: #fff;
}
@media print, screen and (max-width: 768px) {
	.linkbtn_list .link_btn {
		min-width: auto;
		text-align: left;
        padding: var(--px20) 20px var(--px20) 60px;
	}
    ul.linkbtn_list {
        justify-content: flex-start;
    }
	.linkbtn_list li {
		width: 49%;
	}
    .link_btn::before {
        width: 40px;
        height: 40px;
    }
    .link_btn::after {
        left: 21px;
    }
}
@media print, screen and (max-width: 374px) {
	.linkbtn_list li {
		width: 94%;
	}
}

/*------------------------------------------
table
------------------------------------------*/

.post table th {
    background: transparent;
}
.post table, .post table th, .post table td {
    border: none;
}
.post table th, .post table td {
    border-bottom: solid 1px #ccc;
    padding: var(--rem30) var(--rem20);
}
@media print, screen and (max-width: 640px) {
    .post table.responsive th {
        border: none;
        padding-bottom: 0;
    }
    .post table.responsive td {
        padding-top: var(--rem14);
    }
 }

/*-----corporatetable-----*/

table.corporatetable {
    background-color: #EBE6E1
}

table.corporatetable tr:nth-child(odd) td, table.corporatetable tr:nth-child(odd) th {
    background-color: #AEA094;
}

/*------------------------------------------
breadcrumb
------------------------------------------*/

#breadcrumb ul {
    width: 98%;
    max-width: var(--content-max-width);
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: center;
    padding: 0;
    margin: var(--px120) 0;
}
.page-template-page-nosidebar_h1bottom h1.title, .page-template-page-nosidebar_h1bottom header#h1Header h1.title {
    margin: 0 auto;
}
#breadcrumb ul li span.subtxt {
    margin-left: 0.5rem;
}
@media print, screen and (max-width: 640px) {
    #breadcrumb ul {
        margin: var(--px80) 0;
    }
}

/*------------------------------------------
philosophyarea
------------------------------------------*/

p.philosophyarea {
    font-size: var(--rem24w);
    display: flex;
    justify-content: flex-start;
    gap: var(--rem20);
    color: var(--color-font);
    margin-bottom: var(--rem24w);
}
ul.philosophylist {
    margin: var(--px80) 0;
}
ul.philosophylist li {
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: var(--rem24w);
}
ul.philosophylist li + li {
    margin-top: var(--rem30);
}
p.philosophy_head {
    min-width: 40%;
    font-size: var(--rem36);
    font-family: var(--font-family01);
    font-weight: 400;
    color: var(--color-primary);
    line-height: 1.2;
    margin-bottom: var(--rem30);
    margin-top: 0;
    word-break: break-word;
    letter-spacing: 0.01rem;
    text-align: left;
    text-shadow: none;
    padding: 0;
    z-index: 1;
}
p.philosophy_body {
    margin: 0 !important;
}

@media print, screen and (max-width: 640px) {
    ul.philosophylist li {
        flex-direction: column;
        gap: 0;
    }
    ul.philosophylist li + li {
        margin-top: var(--px80);
    }

}

/*------------------------------------------
history
------------------------------------------*/


ul.history > li {
    border-bottom: solid 1px #ccc;
    padding: var(--px24) 0;
    display: flex;
    gap: 2%;
    line-height: 1.4;
}
ul.history .head {
    min-width: 20%;
    text-align: center;
    font-family: var(--font-family02);
    font-size: var(--rem24);
    display: flex;
    align-items: baseline;
    gap: var(--rem40);
}
ul.history span.month {
    font-size: var(--rem20);
}
ul.history .imgarea {
    max-width: 320px;
    margin-left: auto;
}
@media print, screen and (max-width: 768px) {
    ul.history > li {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        padding: var(--px40) 0;
    }
    ul.history .head {
        text-align: left;
        margin-bottom: var(--px14);
    }
     ul.history .imgarea {
        margin: var(--px50) auto 0;
    }
}
@media print, screen and (max-width: 414px) {
    ul.history .imgarea {
        max-width: none;
    }
}

/*------------------------------------------
sitemap
------------------------------------------*/

.post ul#sitemap_list li {
    border-bottom: solid 1px #ccc;
    padding: var(--rem30) 0;
}
.post ul#sitemap_list li span {
    display: none;
}

/*------------------------------------------
privacy
------------------------------------------*/

#privacy h3 {
    color: var(--color-primary);
    background: none;
    font-size: var(--rem16);
    font-weight: 600;
    text-align: left;
    padding: 0 0 10px;
    margin: var(--px40w) auto var(--px20);
    border-width: 0 0 1px;
    border-style: dashed;
    border-color: #ddd;
}

/*------------------------------------------
head
------------------------------------------*/

h1.title, .post h1, header#h1Header h1.title {
    font-size: var(--px80);
    font-family: var(--font-family01);
    font-weight: normal;
    color: #67856c;
	letter-spacing: -1px;
    line-height: 1;
    text-align: center;
    text-shadow: none;
	margin: 0 auto var(--px200);
    padding: 0;
    z-index: 1;
}
.post h1 .subtxt, h1 .subtxt, h1.title span.subtxt {
    font-size: var(--px20);
    font-family: var(--font-family02);
    color: var(--color-font);
    display: block;
    line-height: 1.4;
    margin-top: var(--px40);
    word-break: break-word;
    letter-spacing: 0.01rem;
    text-align: center;
    text-shadow: none;
    padding: 0;
}

.post h2, h2 {
    font-size: var(--rem36);
    font-family: var(--font-family02);
    font-weight: 400;
    color: var(--color-secondary);
    line-height: 1.2;
    margin-bottom: var(--rem30);
    margin-top: var(--rem16);
	word-break: break-word;
    letter-spacing: 0.01rem;
    text-align: left;
    text-shadow: none;
    padding: 0;
    margin: var(--rem80) 0 var(--rem60);
    z-index: 1;
}
.post h2 .subtxt, h2 .subtxt {
    font-size: 1.8rem;
    font-family: var(--body-font-family);
    color: var(--color-font);
    display: block;
    line-height: 1.2;
    margin-top: var(--rem28);
}
.post h2:before, .post h2:after, h2:before, h2:after {
    content: none;
}
.post h3 {
    font-size: var(--rem24w);
    font-family: var(--font-family02);
    font-weight: 500;
    letter-spacing: .1rem;
    padding: 0;
    margin: var(--px60) auto var(--px20);
    border-bottom: none;
    color: var(--color-primary);
}
.post h3:before, .post h3:after, h3:before, h3:after {
    content: none;
}
.post h4 {
    position: relative;
    font-size: var(--rem18);
    font-family: var(--font-family02);
    font-weight: 600;
    padding: 0 0 0 1.2em;
    margin: var(--px40) auto var(--px24);
    border: none;
}
