@charset "utf-8";
/*
Theme Name:mrp-child
Template:mrp
Version: 1.0.0
*/
/*
DesignCode CSS: ver 0.01
*/
/*------------------------------------------------------
Theme Material
------------------------------------------------------*/
@import url('https://fonts.googleapis.com/css2?family=Oswald:wght@200..700&family=Shippori+Mincho:wght@400;500;600;700;800&display=swap');
:root {
	/*------▼基本設定▼------*/
	--color-background: #FFF;
    --color-font: #333333;
    --color-primary: #333333;
    --color-primary-shade: #F5F5F5;
    --color-primary-tint: #DDD;
    --color-secondary: #F73737;
    --color-secondary-tint: #666;
    --color-table-border: #C7C7C7;
	--body-font-size: clamp(14px, .94vw, 16px);
	--body-font-family: 'Noto Sans JP', sans-serif;
	--content-max-width: 1500px;
	/*------▼ヘッダー設定▼------*/
	--header-background: #FFF;
    --header-color-font: #312A27;
    --header-color-primary: #312A27;
    --header-color-primary-shade: #312A27;
    --header-color-primary-tint: #312A27;
	/*------▼フッター設定▼------*/
	--footer-background: #212121;
    --footer-color-font: #FFF;
    --footer-color-primary: #FFF;
	/*------▼フォント設定▼------*/
	--font-family01: 'Noto Sans JP', sans-serif;
    --font-family02: 'Shippori Mincho', serif;
	/*------▼フォントサイズ設定▼------*/
    --font-size12: clamp(10px, .63vw, 12px);
    --font-size14: clamp(12px, .73vw, 14px);
    --font-size16: clamp(14px, .84vw, 16px);
	--font-size18: clamp(16px, .94vw, 18px);
    --font-size20: clamp(18px, 1.1vw, 20px);
    --font-size22: clamp(18px, 1.15vw, 22px);
    --font-size24: clamp(18px, 1.25vw, 24px);
    --font-size26: clamp(20px, 1.36vw, 26px);
    --font-size27: clamp(20px, 1.41vw, 27px);
    --font-size28: clamp(20px, 1.6vw, 28px);
    --font-size30: clamp(22px, 1.7vw, 30px);
    --font-size32: clamp(22px, 1.7vw, 32px);
    --font-size36: clamp(24px, 1.85vw, 36px);
    --font-size38: clamp(26px, 2vw, 38px);
    --font-size40: clamp(26px, 2.1vw, 40px);
	--font-size46: clamp(26px, 2.4vw, 46px);
    --font-size50: clamp(26px, 2.61vw, 50px);
    --font-size52: clamp(26px, 2.71vw, 52px);
    --font-size60: clamp(30px, 3.13vw, 60px);
    --font-size70: clamp(30px, 3.65vw, 70px);
    --font-size178: clamp(135px, 9.27vw, 178px);
	/*------▼clampバリエーション設定▼------*/
    --clamp-10: clamp(5px, 0.52vw, 10px);
    --clamp-14: clamp(7px, 0.73vw, 14px);
    --clamp-20: clamp(10px, 1.04vw, 20px);
    --clamp-30: clamp(15px, 1.56vw, 30px);
    --clamp-40: clamp(20px, 2.08vw, 40px);
    --clamp-50: clamp(25px, 2.61vw, 50px);
    --clamp-60: clamp(30px, 3.13vw, 60px);
    --clamp-70: clamp(35px, 3.65vw, 70px);
    --clamp-80: clamp(40px, 4.17vw, 80px);
    --clamp-90: clamp(45px, 4.69vw, 90px); 
    --clamp-100: clamp(50px, 5.42vw, 100px);
    --clamp-110: clamp(55px, 5.73vw, 110px);
    --clamp-120: clamp(60px, 6.25vw, 120px);
    --clamp-130: clamp(65px, 6.78vw, 130px);
    --clamp-140: clamp(70px, 7.3vw, 140px);
    --clamp-150: clamp(76px, 7.92vw, 150px);
    --clamp-200: clamp(100px, 10.42vw, 200px);
}
::selection {
    background-color: var(--color-primary);
    color: var(--color-primary-shade);
}
/* == == == == == == == == == == == == == == == == == == 
 * 非表示
 * == == == == == == == == == == == == == == == == == == */
 .post h2, .post h3, .post h4 {
	padding: 0;
	margin: 0; 
	border: none;
}
.post h2::before, .post h3::before, .post h4::before, .post h2::after{
	content: none;
}
/* == == == == == == == == == == == == == == == == == == 
 * inner/outer
 * == == == == == == == == == == == == == == == == == == */
 .max_wFull {
    position: relative;
    width: 100vw;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
}
.max_wFull::before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
	z-index: -1;
}
.max_w880 {
    max-width: 880px;
}
.max_w1050 {
	max-width: 1050px;
}
.max_w1265 {
    max-width: 1265px;
}
.max_w1280 {
	max-width: 1280px;
}
.max_w1430 {
    max-width: 1430px;
}
.max_w1510 {
    max-width: 1510px;
}
.content_inner {
	position: relative;
	z-index: 1; 
}
 /* == == == == == == == == == == == == == == == == == == 
 *  テキスト調整/text 
 *  == == == == == == == == == == == == == == == == == == */
.post p, .post h2, .post h3, .post h4, .post h5, h1.title {
	color: var(--color-font);
}
.post p {
    font-size: var(--font-size16);
    line-height: 2;
    margin-bottom: 1.5em;
	font-weight: 500;
    letter-spacing: .5px;
}
.post h2 {
    font-size: var(--font-size32);
    font-family: var(--font-family02);
    line-height: 1.5;
    margin-bottom: 1em;
	font-weight: bold;
    letter-spacing: 1px;
    padding-bottom: .3em;
}
.post h3 {
    font-size: var(--font-size28);
    font-family: var(--font-family02);
    line-height: 1.5;
    margin-bottom: .7em;
    padding-bottom: .3em;
	font-weight: bold;
}
.post h4 {
    font-size: var(--font-size22);
    line-height: 1.5;
    margin-bottom: .5em;
	font-weight: bold;
}
.post h5 {
    font-size: var(--font-size18);
    line-height: 1.5;
    margin-bottom: .5em;
	font-weight: bold;
}
p.sub-ttl {
    font-size: var(--font-size22);
    font-family: var(--font-family02);
    font-weight: bold!important;
    line-height: 1.45;
    margin-bottom: 1em;
    position: relative;
}
p.lead {
    font-size: var(--font-size28);
    font-family: var(--font-family01);
    font-weight: 500!important;
    line-height: 1.75;
    margin-bottom: .5em;
}
p.name {
    font-size: var(--font-size28); 
    font-family: var(--font-family04);
    text-align: right;
}
p.name span {
    font-size: var(--font-size16);
    font-family: var(--font-family01);
    font-weight: 500;
    margin-right: .8em;
}
.mid {font-weight: 500!important;}
.bold {font-weight: bold!important;}
.ja {font-family: var(--font-family01);}
.en {font-family: var(--font-family02);letter-spacing: 2px;}
.color-font {color: var(--color-font);}
.color-primary {color: var(--color-primary);}
.color-tint {color: var(--color-primary-tint);}
.color-shade {color: var(--color-primary-shade);}
.color-white {color: #FFF;}
.px12 {font-size: var(--font-size12)!important;}
.px14 {font-size: var(--font-size14)!important;}
.px16 {font-size: var(--font-size16)!important;}
.px18 {font-size: var(--font-size18)!important;}
.px20 {font-size: var(--font-size20)!important;}
.px22 {font-size: var(--font-size22)!important;}
.px24 {font-size: var(--font-size24)!important;}
.px26 {font-size: var(--font-size26)!important;}
.px28 {font-size: var(--font-size28)!important;}
.px32 {font-size: var(--font-size32)!important;}
.px36 {font-size: var(--font-size36)!important;}
.px38 {font-size: var(--font-size38)!important;}
.px40 {font-size: var(--font-size40)!important;}
.px46 {font-size: var(--font-size46)!important;}
.px50 {font-size: var(--font-size50)!important;}
.px60 {font-size: var(--font-size60)!important;}
.px70 {font-size: var(--font-size70)!important;}
.txt-underline {
    text-decoration: underline;
    text-decoration-thickness: 1px;
}
.txt-marker {background: linear-gradient(0, #FCA10580 35%, transparent 35%);}
.txt-bg-primary {
    display: inline-block;
    background: var(--color-primary)!important;
    color: #FFF;
    padding: .4em 1em!important;
}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {
    p.sub-ttl {
        font-size: var(--font-size18);
    }
}
/* == == == == == == == == == == == == == == == == == == 
 *  レイアウト/あしらい調整
 *  == == == == == == == == == == == == == == == == == == */
.sticky_space {
    padding-top: var(--clamp-150);
    margin-top: calc(var(--clamp-150) * -1);
}
.box-shadow {box-shadow: 0 3px 20px #0000000D;}
.border {border: 1px solid #E5E5E5;}
.border-bottom {border-bottom: 2px solid var(--color-primary)!important;}
.border-radius {
    border-radius: 10px;
    overflow: hidden;
}
.content-item {
    padding-top: var(--clamp-50);
    padding-bottom: var(--clamp-50);
}
.txt-area {
    position: relative;
}
.img-area img {width: 100%;}
.icon-area {
    width: 30%;
    max-width: 150px;
    margin: 0 auto var(--clamp-60);
}
.bg-white {background: #FFF;}
.bg-gray {background: #FBFBFB;}
.bg-primary{background: #FFF5ED;}
.bg-tint {background: var(--color-primary-tint);}
.bg-shade {background: var(--color-primary-shade);}
@media print, screen and (max-width: 768px) {
	.sp_center {
		text-align: center;
	}
}
/* == == == == == == == == == == == == == == == == == == 
 * ヘッダー調整/header
 * == == == == == == == == == == == == == == == == == == */
#header {
	position: relative;
}
@media print, screen and (min-width: 1024px) {
/* == == == == == == == ==
 * ヘッダー下部
 * == == == == == == == == */
    #header {
        height: 155px;
    }
	#header-layout {
		flex-direction: column;
	}
	#header .header__nav-contact {
		height: auto;
	}
/* == == == == == == == ==
 * スティッキーヘッダー
 * == == == == == == == == */
    .sticky-header #header-layout {
        height: 155px;
    }
/* == == == == == == == ==
 * ヘッダー下部__グローバルナビ
 * == == == == == == == == */
	nav#mainNav ul li a b {
		font-family: var(--font-family02);
        font-size: var(--font-size18);
		font-weight: 500;
		letter-spacing: 1px;
		color: var(--header-color-font);
		position: relative;
		padding-bottom: 5px;
	}
	nav#mainNav ul li a b::before {
		content: '';
		position: absolute;
		width: 100%;
		height: 1px;
		background: var(--header-color-font);
		left: 0;
		bottom: 0;
		transition: .5s ease;
		transform-origin: center;
		-webkit-transform: rotateY(90deg);
		transform: rotateY(90deg);
	}
	nav#mainNav ul li a:hover b::before {
		-webkit-transform: rotateY(00deg);
		transform: rotateY(0deg);
	}
	nav#mainNav ul li.current-menu-item a, nav#mainNav ul li a:hover, nav#mainNav ul li a:active, nav#mainNav ul li.current-menu-parent a, nav#mainNav ul li.current-menu-ancestor a {
		background: transparent;
	}
	nav#mainNav ul li.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: var(--header-color-font);
	}
}
/* == == == == == == == ==
 * スマホ
 * == == == == == == == == */
@media print, screen and (max-width: 1023px) {
    nav#mainNav ul li a, nav#mainNav ul li a:hover span, nav#mainNav ul li.current-menu-item a span {
        color: var(--header-color-font);
		font-family: var(--font-family02);
    }
	.spmenu #menu p {
		width: 100%;
	}
}
/* == == == == == == == == == == == == == == == == == == 
 * トップ記事投稿（archive） 
 * == == == == == == == == == == == == == == == == == == */
#front_top_content, #front_bottom_content {
	background: transparent;
    width: 100vw;
    margin-left: calc(((100vw - 100%) / 2)* -1);
    margin-right: calc(((100vw - 100%) / 2)* -1);
}
#front-sectionPost {
	width: 90%;
	max-width: var(--content-max-width);
	margin: 0 auto;
}
/* == == == == == == == == == == == == == == == == == == 
 *  リスト表示
 * == == == == == == == == == == == == == == == == == == */
/* == == == == == == == == == == == == == == == == == == 
 * アイキャッチ/eyecatch
 * == == == == == == == == == == == == == == == == == == */
 header#h1Header h1.title {
    font-weight: 500;
    font-size: var(--font-size38);
    font-family: var(--font-family02);
}
#thumbImg::before, header#h1Header::before {
    opacity: .7;
	background: var(--color-primary);
}
/* == == == == == == == == == == == == == == == == == == 
 *  フッター調整/footer 
 * == == == == == == == == == == == == == == == == == == */
.footer-upper {
    position: relative;
    width: 100vw;
    margin-left: calc(((100vw - 100%) / 2)* -1);
    margin-right: calc(((100vw - 100%) / 2)* -1);
    background: #FFF;
    padding: var(--clamp-50) 0 var(--clamp-80);
    background: #FAFAFA;
}
.footer-upper img {
    height: 100%;
    object-fit: cover;
}
.footer-upper .txt-area {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    border: 1px solid #D5D5D5;
    background: #FFF;
    padding: 5% 3%;
}
.footer-upper p.px32 {
    font-family: var(--font-family02);
    font-weight: bold;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.footer-upper .icon {
    width: 1.2em;
}
.footer-upper .icon img {
    width: 100%;
}
#footer {
	padding: 0;
}
#footer .flexbox {
	align-items: center;
}
#footer p {
	font-size: var(--font-size16);
	font-family: var(--font-family02);
	line-height: 2;
	margin-bottom: 1.5em;
	font-weight: 500;
	letter-spacing: .5px;
}
#footer .content_inner {
    padding: var(--clamp-80) 0;
}
#copyright {
    margin: 0;
    padding-bottom: 10px;
}
@media print, screen and (min-width: 769px) {
    #footer p {
        text-align: left;
    }
    #footer .footer__logo:not(:last-child) {
        text-align: left;
    }
    #footer .footnav:not(:last-child) {
        margin-bottom: 10px;
    }
    #footer .footnav ul {
        justify-content: end;
    }
    #copyright {
        text-align: right;
    }
}
@media print, screen and (max-width: 768px) {
	#footer .footnav:not(:last-child) {
		margin: 10px 0 0;
	}
	#footer .content_inner {
		padding-bottom: var(--clamp-30);
	}
}
/* == == == == == == == == == == == == == == == == == == 
 * パンくず
 * == == == == == == == == == == == == == == == == == == */
/* == == == == == == == == == == == == == == == == == == 
 * postlist
 * == == == == == == == == == == == == == == == == == == */
 .postlist li:first-child {
    border-top: 0;
}
.postlist li {
    border-bottom: 1px dashed #DDDDDD;
}
.postlist .time {
    font-size: var(--font-size16);
    background: var(--color-primary);
    font-weight: bold;
    padding: .5em 1em;
    border-radius: 5px;
}
.postlist .time a {
    color: #FFF;
}
.postlist .ttls, .postlist .date {
    font-size: var(--font-size18);
    font-weight: 500;
}
/* == == == == == == == == == == == == == == == == == == 
 *  flex / card
 * == == == == == == == == == == == == == == == == == == */
/* == == == == == == == ==
 * flex 
 * == == == == == == == == */
.col-2{width: 50%;}
.col-3{width: calc(100% / 3);}
.col-4{width: calc(100% / 4);}
.col-5{width: calc(100% / 5);}
.w25 {width: 25%;}
.w35 {width: 35%;}
.w45 {width: 45%;}
.w65 {width: 65%;}
.w75 {width: 75%;}
.jc_between {justify-content: space-between;}
.jc_around {justify-content: space-around;}
.jc_evenly {justify-content: space-evenly;}
.ai_center {align-items: center;}
.txt-inner {
    max-width: 530px;
    width: 96%;
}
@media print, screen and (min-width: 769px) {
	.ml-auto {margin-left: auto;}
	.mr-auto {margin-right: auto;}
}
@media print, screen and (max-width: 768px) {
    .col-2, .col-3, .col-4, .col-5 {
        width: 100%;
        margin-bottom: 20px;
    } 
    .w25, .w35, .w45, .w55, .w65, .w75 {
        width: 100%;
		margin-bottom: 20px;
    }
	.flex_1 {
		margin-bottom: 40px;
	}
    .txt-inner {
        max-width: 94%;
		width: 100%;
        margin: 0 auto;
    }
}
/* == == == == == == == ==
 * card
 * == == == == == == == == */
.card {
    display: flex;
    flex-direction: row;
}
.wrap {
    flex-wrap: wrap;
}
.nowrap {
    flex-wrap: nowrap;
}
.card:has(.col-2) {gap: 44.5px;}
.card:has(.col-3) {gap: 25px;}
.card:has(.col-4) {gap: 13px;}
.card:has(.col-5) {gap: 10.5px;}
.card .col-2 {width: calc(50% - 24px);}
.card .col-3 {
	width: calc((100% / 3) - 17px);
    overflow: hidden;
}
.card .img-area {
    position: relative;
}
.card .icon-area {
    position: relative;
    width: calc(100% / 1.5);
    max-width: 350px;
    margin: 0 auto;
}
.card .img-area, .card .icon-area {
    margin-bottom: 15px;
}
.card .phone-img {
    width: 70%;
    max-width: 250px;
    margin: 0 auto;
    margin-bottom: var(--clamp-40);
}
.card .txt-area {
    margin: 0;
    padding: 0 3%;
}
.card .txt-area .btn_txt {
    position: absolute;
    bottom: var(--clamp-40);
    left: 50%;
    transform: translateX(-50%);
}
.card h3 {
    margin-top: .5em;
    margin-bottom: .5em;
}
.card p.ttl {
    font-size: var(--font-size20);
    text-align: center;
}
.card .col-4 {width: calc((100% / 4) - 10px);}
.card .col-5 {width: calc((100% / 5) - 10px);}
.card p:last-child {margin: 0;}
.card__tint .col-3 {
    overflow: hidden;
    border: 1px solid #EDE4E4;
    border-radius: 10px 10px 0 0;
    background: #FFF;
}
.card__tint .txt-area {
    border-top: 1px solid #EDE4E4;
}
@media print, screen and (max-width: 1023px) {
	.card .col-5 {width: calc((100% / 4) - 10px);}
    .card .txt-area {
        padding-left: 3%;
        padding-right: 3%;
    }
    .card .phone-img {
        width: 40%;
    }
    .card .icon-area {
        width: 50%;
    }
}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {
    .card {flex-direction: row;}
    .card .col-2, .card .col-3, .col-2, .col-3 {
        width: 100%;
        margin-bottom: 0;
    }
	.card .col-4, .card .col-5 {
	    width: calc((100% / 2) - 10px);
        margin-bottom: 0;
	}
    .card .phone-img {
        margin: var(--clamp-20) auto;
    }
}
@media print, screen and (max-width: 500px) {
	.card .col-4, .card .col-5 {
	   width: 100%;
	}
}
/* == == == == == == == == == == == == == == == == == == 
 * テーブル、マップ調整/table,map
 * == == == == == == == == == == == == == == == == == == */
.post table, .post table th, .post table td {
    border: 0;
}
.post table th, .post table td {
    padding: 1.2em;
    font-size: var(--body-font-size);
    font-weight: 500;
	background: transparent;
	color: var(--color-font);
}
.post table th, .post table td {
	border-bottom: 1px solid #DCDDDD;
}
.page-content table th, .page-content table td {
    padding: 1.2em 1.5em;
}
.page-content table th {
    border-color: #333333!important;
    font-weight: bold;
}
@media print, screen and (min-width: 769px) {
    .post table tr:first-child th, .post table tr:first-child td {
        border-top: .5px solid #DCDDDD;
    }
}
@media print, screen and (max-width: 768px) {
    .post table th, .post table td {
        width: 100%;
		display: block;
		font-size: var(--font-size16);
        padding: 1em;
    }
}
/* == == == == == == == == == == == == == == == == == == 
 * ボタン調整/btn
 * == == == == == == == == == == == == == == == == == == */
 .linkBtn, .post .linkBtn, a.linkBtn {
    position: relative;
    display: inline-block;
    transition: .5s ease;
    line-height: 1.5;
    text-align: center;
    padding: 1em 2em;
    border-radius: 0;
    width: 90%;
    max-width: 210px;
    color: #FFF;
    background: var(--color-primary);
    font-size: var(--font-size14);
    font-family: var(--font-family02);
    font-weight: bold;
    clip-path: polygon(7% 0%, 93% 0%, 100% 50%, 93% 100%, 7% 100%, 0% 50%);
}
.linkBtn:hover, .post .linkBtn:hover, a.linkBtn:hover {
    transform: translateY(-5px);
	box-shadow: 0 6px 20px #00000020;
	background: var(--color-primary-shade);
	color: var(--color-primary);
}
.linkBtn::after, input.linkBtn::after, .post .linkBtn::after {
    border-right: 1px solid;
    border-bottom: 1px solid;
}
@media print, screen and (max-width: 768px) {
    .linkBtn, .post .linkBtn, a.linkBtn {
        padding: 1em;
    }
}
/* == == == == == == == == == == == == == == == == == == 
 *  ul ol / リスト
 *  == == == == == == == == == == == == == == == == == == */
@media print, screen and (max-width: 768px) {
}
@media print, screen and (max-width: 499px) {
}
/* == == == == == == == == == == == == == == == == == == 
 * トップ、下層調整/ .top-content, .page-content
 * == == == == == == == == == == == == == == == == == == */
.mv-content, .top-content, .page-content {
    position: relative;
    width: 100vw;
    margin-left: calc(((100vw - 100%) / 2) * -1);
    margin-right: calc(((100vw - 100%) / 2) * -1);
}
.top-content::before, .page-content::before {
    position: absolute;
    width: 100%;
    height: 100%;
    background-size: cover;
	z-index: -1;
}
.top-content {
	padding-top: var(--clamp-140);
	padding-bottom: var(--clamp-100);
    background: #FFF;
}
.top-content p {
    font-family: var(--font-family02);
}
.top-content h3 {
    font-size: var(--font-size32);
}
.page-content {
    padding-top: var(--clamp-60);
    padding-bottom: var(--clamp-80);
}
.page-content h2 {
    font-size: var(--font-size28);
}
.page-content h2 .en {
    font-size: var(--font-size18);
}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {
    .top-content h2, .top-content .sub-ttl, .top-content .btn-content {
        text-align: center;
    }
}
/* == == == == == == == ==
 * .mv-content
 * == == == == == == == == */
.mv-content {
	background: #FFF;
}
.mv-carousel {
	width: calc(100vw * 4);/* calc(100vw * {スライド枚数})*/
	height: auto;
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    margin: 0 auto;
    gap: 0;
}
.mv-carousel__img {
  width: calc(100vw / 2);/* calc(100vw / {スライド表示枚数})*/
  margin: 0;
  padding: 0 0.7vw;
}
.mv-carousel__img img {
  margin: 0;
  padding: 0;
  width: 100%;
  height: auto;
}
@keyframes scroll {
  0% { margin-left: -50vw; }      
  20% { margin-left: -150vw; }
  25% { margin-left: -150vw; }
  45% { margin-left: -250vw; }
  50% { margin-left: -250vw; }
  70% { margin-left: -350vw; }
  75% { margin-left: -350vw; }
  95% { margin-left: -450vw; }
  100% { margin-left: -450vw; }
}
.mv-carousel > :first-child {
  animation-name: scroll;   
  animation-duration: 20s; /* スライドが一周するまでの秒数 */ 
  animation-delay: 0s;
  animation-iteration-count: infinite; 
}
@media print, screen and (max-width: 768px) {
}

/* == == == == == == == ==
 * .section__about
 * == == == == == == == == */
.parallax-img {
    position: fixed;
    width: 50%;
    max-width: 903px;
    height: 100vh;
    right: 0;
    top: 0;
    z-index: -1;
}
.parallax-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: left;
}
.section__about {
    padding: 0;
    background: transparent;
}
.section__about .txt-area {
    width: 70%;
    max-width: 960px;
    background: #FFFFFFE6;
    padding: var(--clamp-100) 3% 0 calc(var(--font-size178) * 1.2);
}
.section__about .en-ttl {
    left: 0;
    top: -1em;
    transform-origin: left bottom;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

@media print, screen and (min-width: 769px) {
    .section__about h2 {
        text-align: left;
    }
}
@media print, screen and (max-width: 768px) {
    .parallax-img {
        width: 100%;
    }
    .section__about {
        padding-bottom: clamp(200px, 40vw, 300px);
    }
    .section__about .txt-area {
        width: 100%;
        background: #FFF;
        padding: var(--clamp-140) 3% var(--clamp-100);
    }
    .section__about .en-ttl {
        left: 50%;
        top: 0;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
    }
    .section__about p {
        text-align: center;
    }
}
/* == == == == == == == ==
 * .section__feature
 * == == == == == == == == */
.bar {
    position: absolute;
    content: '';
    width: 1px;
    height: var(--clamp-40);
    background: var(--color-font);
    left: 50%;
    top: var(--clamp-100);
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
}
.section__feature {
    padding-top: calc(var(--clamp-100) + var(--clamp-60));
    padding-bottom: 0;
}
.section__feature .col-3 {
    position: relative;
    border: 5px solid #FFF;
}
.section__feature .img-area {
    position: relative;
}
.section__feature .img-area::before {
    position: absolute;
    content: '';
    width: 100%;
    height: 100%;
    background: #000;
    opacity: .44;
    z-index: 0;
}
.section__feature .txt-area {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 3%;
    z-index: 1;
}
.section__feature .txt-area h3, .section__feature .txt-area p {
    color: #FFF;
    text-align: center;
}
.section__feature .txt-area p {
    font-size: var(--font-size14);
    font-weight: 400;
    font-family: var(--font-family01);
    margin-bottom: 0;
}
@media print, screen and (min-width: 769px) {
}
@media print, screen and (max-width: 768px) {
    .section__feature .img-area img {
        aspect-ratio: 3/2;
        object-fit: cover;
    }
}
/* == == == == == == == ==
 * .section__use-case
 * == == == == == == == == */
.section__use-case .flexbox {
    background: #FAFAFA;
    align-items: center;
}

.section__use-case .txt-area {
    padding: 0 3%;
}
@media print, screen and (min-width: 769px) {
    .section__use-case .img-area img {
        min-height: 350px;
        object-fit: cover;
    }
}

@media print, screen and (max-width: 768px) {
    .section__use-case .txt-area {
        padding: 5% 3%;
    }
}
/* == == == == == == == ==
 * .section__product
 * == == == == == == == == */
 .product-content {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    gap: 60px 10px;
    justify-content: flex-start;
}
.product-item {
    width: calc((100% / 4) - 8px);
    text-align: left;
}
.product-item__img {
    width: 100%;
}
.product-item__img img {
    width: 100%;
    height: auto;
}
.product-item__ttl h2 {
    font-family: var(--font-family01);
    font-size: var(--font-size18);
    text-align: left;
    margin: 0;
    padding: .7em 0;
    border-bottom: 1px solid;
}
.product-item__discription {
    border-bottom: 1px solid;
    padding: 1em 0;
}
.product-item__discription p {
    font-family: var(--font-family01);
    font-weight: 500;
}
.product-item__discription p:last-child {
    margin-bottom: 0;
}
.product-item__discription p.note {
    font-size: var(--font-size14);
}
.product-item__btn {
    padding-top: 1em;
}
.product-item__btn a {
    text-decoration: underline;
    transition: .3s ease;
}
.product-item__btn a:hover {
    text-decoration: none;
    opacity: .6;
}
.top-content .product-item__ttl h2 {
    border: 0;
    padding-bottom: 0;
}
@media print, screen and (min-width: 769px) {
}
@media print, screen and (max-width: 768px) {
    .product-item {
        width: calc((100% / 2) - 5px);
    }
    .product-content {
        gap: 30px 10px;
    }
}
@media print, screen and (max-width: 499px) {
    .product-item {
        width: 80%;
		margin: 0 auto;
    }
} 
/* == == == == == == == ==
 * .section__instagram
 * == == == == == == == == */
.insta {
    display: block;
    text-align: center;
    background: #9F9F9F;
    max-width: 800px;
    color: #FFF;
    font-size: var(--font-size18);
    padding: 1em;
    margin: 60px auto 0;
}
@media print, screen and (min-width: 769px) {
}
@media print, screen and (max-width: 768px) {
}
/* == == == == == == == == == == == == == == == == == == 
 * サイトマップ
 * == == == == == == == == == == == == == == == == == == */
/* == == == == == == == == == == == == == == == == == == 
 * コンタクトフォーム
 * == == == == == == == == == == == == == == == == == == */
.wpcf7-form .must {
    border-radius: 5px;
}
.wpcf7-form .linkBtn {
    padding: 0;
	clip-path: unset;
	border-radius: 5px;
	max-width:550px;
}
.post .subimitarea .linkBtn input[type="submit"] {
    padding: 1.2em 2em;
	font-weight: bold;
}
.wpcf7-form .linkBtn:hover input[type="submit"] {
    color: var(--color-primary);
}

/* == == == == == == == == == == == == == == == == == == 
 * その他の調整 / other
 * == == == == == == == == == == == == == == == == == == */
div#mainImg {
    display: none;
}
.en-ttl {
    font-size: var(--font-size178);
    font-weight: bold;
    font-family: var(--font-family02);
    color: var(--color-primary-shade);
    opacity: .7;
    position: absolute;
    left: 50%;
    top: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    line-height: 1.2;
    white-space: nowrap;
	z-index: 0;
}
.ttl {
    display: flex;
    flex-direction: row;
    justify-content: flex-start;
    gap: 30px;
    align-items: flex-start;
}

.ttl .icon {
    max-width: 120px;
    padding-top: 1em;
}
@media print, screen and (max-width: 768px) {
    .en-ttl {
        font-size: clamp(70px, 16vw, 120px);
        line-height: 1;
    }
}
/* == .banner-content ==== */
.banner-content {
    position: fixed;
    bottom: 15%;
    right: 0;
    z-index: 10000;
    width: 17vw;
	min-width: 150px;
}
.banner-content img {
    width: 100%;
    height: auto;
}
@media print, screen and (max-width: 768px) {
	.banner-content {
		bottom: 20%;
	}
}

/* == #content.wide ==== */
#content, body:not(.home) #content.wide {
    padding: 0;
}
body.archive.category #content.wide,
body.single #content.wide,
body.page-contact #content.wide,
body.page-thanks #content.wide,
body.page-sitemap #content.wide,
body.page-privacy #content.wide {
    padding: var(--clamp-100) 0;
}
/* == banner / footer-upper 非表示 ==== */
body.archive.category .footer-upper,
body.single .footer-upper,
body.page-contact .footer-upper,
body.page-thanks .footer-upper,
body.page-sitemap .footer-upper,
body.page-privacy .footer-upper {
    display: none;
}
body.archive.category .banner-content,
body.single .banner-content,
body.page-contact .banner-content,
body.page-thanks .banner-content,
body.page-sitemap .banner-content,
body.page-privacy .banner-content {
    display: none;
}
@media print, screen and (min-width: 769px) {}
@media print, screen and (max-width: 768px) {

}