@charset "utf-8";

/*----------------------------------------------------------------------------------------------------------------------------

reset & root set

----------------------------------------------------------------------------------------------------------------------------*/

/* reset
--------------------------------------------------------------*/

*,*::before,*::after { box-sizing: border-box; }
ul,ol { margin: 0; padding: 0; list-style: none; }
body,h1,h2,h3,h4,h5,p,figure,blockquote,dl,dd { margin: 0; font-size: inherit; font-weight: 400; }
img,video { max-width: 100%; height: auto; display: block; }
header,footer,main,aside,picture { display: block; }

/* form parts reset */
textarea { font: inherit; appearance: none; }
select { border: none; outline: none; font-weight: inherit; }
button,input[type="submit"],input[type="button"] { appearance: button; border: none; outline: none; cursor: pointer; }
input[type="submit"]:focus,input[type="button"]:focus { outline-offset: -2px;}
input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration { display: none;}

/* iOS Safari tap reset */
body {-webkit-tap-highlight-color: transparent;}



/* print set
--------------------------------------------------------------*/
@media print{
html { width: 1280px; }
.header { position: relative !important; }/* fixheader clear */
[class*="iv-"] { opacity: 1; }/* inview view */
}


/* root set
--------------------------------------------------------------*/

/* color */
:root {
    --cl-key: #14A568;
    --cl-key-thin: #68BEA0;
    --cl-txt: #313841;
    --cl-txt-gr: #5D5D5D;
    --cl-border: #CCCCCC;
    --cl-bg-gr: #F8F8F8;
    --cl-wh: #fff;
    --cl-bk: #000;
    --cl-error01: #E30000;
}

/* fixheader height */
:root { --header-height: 8rem; }
@media print, screen and (min-width: 640px) {
:root { --header-height: 14rem; }
}

/* font set */
:root {
    /* font: style weight size / line-height family */
    --ff-base: normal 500 1.4rem / 1.6 "Noto Sans JP", sans-serif;
    --ff-base-light: 500;
    --ff-base-bold: 700;
    --ff01f: "Figtree", sans-serif;
}
@media print, screen and (min-width: 640px) {
:root {
    /* font: style weight size / line-height family */
    --ff-base: normal 500 1.8rem / 1.7 "Noto Sans JP", sans-serif;
}
}


/*----------------------------------------------------------------------------------------------------------------------------

base set

----------------------------------------------------------------------------------------------------------------------------*/
html { font-size:calc(100vw / 37.5); scroll-behavior: smooth; scroll-padding-top: var(--header-height); }
body { min-height: 100vh; text-rendering: optimizeSpeed; -webkit-text-size-adjust:100%; text-size-adjust: 100%; color: var(--cl-txt); font: var(--ff-base);letter-spacing: 0.04rem; }
a { color: var(--cl-txt); outline:none; text-decoration:none; }

@media print, screen and (min-width: 640px) {
html { font-size: calc(100vw / 126); scroll-padding-top: 10rem; }
body { font-size: 1.8rem; }
a { transition: 0.5s; }
a:hover { opacity: 0.6; }
button:hover { opacity: 0.6; }
}

@media print, screen and (min-width: 1260px) {
html { font-size: 62.5%; }
}


/* form set */
input:not([type=radio],[type=checkbox],[type=submit]),
select,
textarea { padding:0 0.75rem; background-color:var(--cl-bg-gr); border: none; width:100%; font-size: 1.6rem; height: 4rem; font-family: inherit; border-radius: 0; }
textarea { padding:1.0rem 1.25rem; min-height:20rem; }
button { cursor: pointer; padding: 0; background: none; color: var(--cl-txt); width: 100%; font-size: inherit; }
input::placeholder,
textarea::placeholder { color:var(--cl-txtl); font-size: 0.8em; }
label { display: inline-block; width: fit-content; }
label:hover { cursor: pointer; }
select {}

@media print, screen and (min-width: 640px) {
input:not([type=radio],[type=checkbox],[type=submit]),
select,
textarea { height: 5rem; padding: 1rem 1.25rem; }
select:hover { cursor: pointer; }
}



/*----------------------------------------------------------------------------------------------------------------------------

utility & inview set

----------------------------------------------------------------------------------------------------------------------------*/

/* utility - base
---------------------------------------------------- */

/* utility - base responsive */
.u-inner { max-width: 110rem; margin: 0 auto; width: 90%; }
.u-inner._inner-mid { max-width: 96rem; }
.u-wrapsect { padding: 8rem 0; overflow: hidden; }
.u-wrapsect:not(._bg) + .u-wrapsect:not(._bg) { padding-top: 0; }
.u-wrapsect._bg { background-color: var(--cl-bg-gr); }
.u-wrapblck { padding: 4rem 0 0; }
.u-wrapblck-box { padding: 4rem 0 0;}
.u-only-pc	{ display: none; }
.u-cen-sp { text-align: center;}

@media print, screen and (min-width: 640px) {
.u-inner { }
.u-wrapsect { padding: 16rem 0; }
.u-wrapblck { padding: 8rem 0 0; }
.u-wrapblck-box { padding: 8rem 0 0;}
.u-only-sp	{ display: none !important; }
.u-only-pc	{ display: inherit; }
.u-cen-sp { text-align: left;}
.u-cen-pc { text-align: center;}
}


/* utility - base */
.u-ff01 { font-family: var(--ff01f); font-weight: 600; }
.u-cl-txt { color: var(--cl-txt); }
.u-cl-wh { color: var(--cl-wh); }
.u-iframebox { position:relative; aspect-ratio: 16/9; }
.u-iframebox iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: contain; }
.u-w30 { width: 30% !important; }
.u-w50 { width: 50% !important; }
.u-mt01 { margin-top: 1rem !important; }
.u-mt02 { margin-top: 2rem !important; }
.u-mt03 { margin-top: 3rem !important; }
.u-mb01 { margin-bottom: 1rem !important; }
.u-mb02 { margin-bottom: 2rem !important; }
.u-mb03 { margin-bottom: 3rem !important; }



/* 背景用 */
._img-center { position: relative; }
._img-center > * { position: relative; z-index: 10; }
._img-center::before { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); content: ""; display: block; width: 100%; height: 100%; background: url(/cms/wp-content/themes/marimbist/assets/images/common/bg_center_sp.svg) no-repeat center center / contain;}
._img-diagonal { position: relative; }
._img-diagonal > * { position: relative; z-index: 10; }
._img-diagonal::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 50%; height: 100%; background: url(/cms/wp-content/themes/marimbist/assets/images/common/bg_diagonal_top.svg) no-repeat top left / contain;}
._img-diagonal::after { position: absolute; bottom: 0; right: 0; content: ""; display: block; width: 50%; height: 100%; background: url(/cms/wp-content/themes/marimbist/assets/images/common/bg_diagonal_bottom.svg) no-repeat bottom right / contain;}

._img-diagonal._repeat { background-image: url(/cms/wp-content/themes/marimbist/assets/images/common/bg_diagonal_repat.svg); background-size: 100%; background-position: top left; background-repeat: repeat-y; }
._img-diagonal._repeat::before,
._img-diagonal._repeat::after { display: none;}

@media print, screen and (min-width: 640px) {
._img-center::before { width: 90%; background-image: url(/cms/wp-content/themes/marimbist/assets/images/common/bg_center_pc.svg) ;}
._img-diagonal::before,
._img-diagonal::after { width: 51.2rem; }

}




/* utility - tab  */
.js-tab-content { display: none;}
.js-tab-content.is-active { display: block; }







/* utility - link
---------------------------------------------------- */

/* utility - linkbtn */
.u-linkbtn { display: grid; grid-template-columns: 1fr auto 1fr; column-gap: 0.5em; align-items: center; padding: 0 1em; background-color: var(--cl-wh); width: 100%; height: 7rem; margin-inline: auto; border: var(--cl-key) 2px solid; font-size: inherit; transition: 0.5s; color: var(--cl-key); font-weight: var(--ff-base-bold); font-size: 1.8rem; }
.u-linkbtn::before { content: ""; transition: 0.5s; }
.u-linkbtn::after { content: ""; display: inline-grid; width: 1em; height: 1em; justify-self: end; mask: url(/cms/wp-content/themes/marimbist/assets/images/common/ico_right.svg) no-repeat center center / contain; background-color: var(--cl-key); transition: 0.5s; pointer-events: none;}

.u-linkbtn[target="_blank"] {}
.u-linkbtn[target="_blank"]::after { mask-image: url(/cms/wp-content/themes/marimbist/assets/images/common/ico_blank.svg) }

@media print, screen and (min-width: 640px) {
.u-linkbtn { margin-inline: 0; max-width: 31.6rem; }
.u-linkbtn:hover { color: var(--cl-wh); background-color: var(--cl-key); opacity: 1; }
.u-linkbtn:hover::after { background-color: var(--cl-wh); }
.u-linkbtn._rev:hover::before { background-color: var(--cl-wh); }

.u-linkbtn._wh:hover { background-color: var(--cl-txt); color: var(--cl-wh);}
.u-linkbtn._wh:hover::after { background-color: var(--cl-wh); }
.u-linkbtn._wh._rev:hover::before { background-color: var(--cl-wh);}

}




/* iv-animation
---------------------------------------------------- */
.iv-fade { opacity:0; transition: 0.8s; }
.iv-fade._view { opacity:1; }
.iv-up_fade { opacity:0; transform:translate(0, 6rem); transition: 0.8s; }
.iv-up_fade._view { opacity:1; transform:translate(0, 0); }







/*----------------------------------------------------------------------------------------------------------------------------

base layout

----------------------------------------------------------------------------------------------------------------------------*/


/* header
--------------------------------------------------------------*/

/* header */
.header { position: fixed; z-index: 100; top: 0; padding: 0 2rem; height: var(--header-height); display: grid; align-items: center; width: 100%; transition: 0.5s; background-color: var(--cl-wh); }
.header-logo { width: 13rem; }
.header-logo span { display: block; margin-bottom: 0.5rem; color: var(--cl-wh); font-size: 1.2rem; font-weight: var(--ff-base-bold); }
.header-nav { display: none; }


@media print, screen and (min-width: 640px) {
.header { padding: 0 4rem; display: grid; grid-template-columns: 22rem auto; gap: 2rem; }
.header-logo { width: 100%; }
.header-nav { display: block; }
.header-nav-gnav { display: flex; }
}

/* gnav */
@media print, screen and (min-width: 640px) {
.gnav { display: flex; justify-content: flex-end; align-items: center; gap: 3rem; }
.gnav-item { }
.gnav-item-link { display: flex; align-items: center; height: 14rem; font-size: 1.8rem; font-weight: var(--ff-base-bold);  }
.gnav-item-link._contact { color: var(--cl-txt); background-color: var(--cl-wh); width: 22rem; height: 7rem; justify-content: center; transition: 0.5s; color: var(--cl-key); border: var(--cl-key) 2px solid; }
.gnav-item-link:hover { opacity: 1; color: var(--cl-key);}
.gnav-item-link._contact:hover { background-color: var(--cl-key); color: var(--cl-wh); opacity: 1;  }
}


/* megamenu */
.megamenu { position: fixed; top: 14rem; left: 0; width: 100%; background: var(--cl-wh); padding: 3.5rem 4rem; display: flex; gap: 2rem; justify-content: flex-end; z-index: 1000; opacity: 0; visibility: hidden; transform: translateY(-1rem); transition: opacity 0.3s ease, transform 0.3s ease, visibility 0.3s; }
.megamenu.is-active { opacity: 1; visibility: visible; transform: translateY(0); }
.megamenu-item { display: block; max-width: 24rem;}
.megamenu-item-pic { transition: 0.3s; aspect-ratio: 2/1;}
.megamenu-item-pic img { display: block; width: 100%; height: 100%; object-fit: cover;}
.megamenu-item:hover { opacity: 1;}
.megamenu-item:hover .megamenu-item-pic { transform: scale(0.9,0.9); border-radius: 1rem; overflow: hidden;}
.megamenu-item p { margin-top: 1rem; font-weight: var(--ff-base-bold); text-align: center; font-size: 1.8rem; line-height: 1.4;}




/* home */
.page-home {}
.page-home .header { background-color: transparent;}
.page-home .header::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; max-width: 22.6rem; height: 100%; background-color: var(--cl-wh); clip-path: polygon(0 0, 100% 0, 70% 100%, 0% 100%); z-index: -1;}
.page-home .header .gnav-item-link { color: var(--cl-wh);}
.page-home .header .gnav-item-link:hover { opacity: 0.6;}
.page-home .header .gnav-item-link._contact { border-color: var(--cl-wh); background-color: transparent;}
.page-home .header .gnav-item-link._contact:hover { opacity: 1;}

.page-home .header._scrolled { background-color: var(--cl-wh);}
.page-home .header._scrolled .gnav-item-link { color: var(--cl-txt);}
.page-home .header._scrolled .gnav-item-link:hover { opacity: 1; color: var(--cl-key);}
.page-home .header._scrolled .gnav-item-link._contact { color: var(--cl-key); border-color: var(--cl-key);}

.page-home .header.is-active { background-color: var(--cl-wh);}
.page-home .header.is-active .gnav-item-link { color: var(--cl-txt);}
.page-home .header.is-active .gnav-item-link:hover { opacity: 1; color: var(--cl-key);}
.page-home .header.is-active .gnav-item-link._contact { border-color: var(--cl-key); color: var(--cl-key);}


@media print, screen and (min-width: 640px) {
.page-home .header::before { max-width: 40rem;}
.page-home .header .gnav-item-link._contact:hover { border-color: var(--cl-wh); background-color: var(--cl-wh); color: var(--cl-key);}
.page-home .header._scrolled .gnav-item-link._contact:hover { color: var(--cl-wh); background-color: var(--cl-key); border-color: var(--cl-key);}

}








/* footer
--------------------------------------------------------------*/


.c-ctaarea { }
.c-ctaarea-box { padding: 5rem 2rem; background: no-repeat center center / cover; color: var(--cl-wh); text-align: center; }
.c-ctaarea-box:nth-child(1) { background-image: url(/cms/wp-content/themes/marimbist/assets/images/common/cta_bg_download.jpg); }
.c-ctaarea-box:nth-child(2) { background-image: url(/cms/wp-content/themes/marimbist/assets/images/common/cta_bg_contact.jpg); }
.c-ctaarea-pic { width: 4.6rem; margin: 0 auto;}
.c-ctaarea-title { margin-top: 1rem; font-size: 2.4rem; font-weight: var(--ff-base-bold);}
.c-ctaarea-title + p { margin-top: 2rem;}
.c-ctaarea-btn { margin-top: 2rem; margin-inline: auto; border: none;}

@media print, screen and (min-width: 640px) {
.c-ctaarea { display: flex; flex-wrap: nowrap;}
.c-ctaarea-box { width: 100%; padding: 7.3rem 2rem; background: no-repeat center center / cover; color: var(--cl-wh); text-align: center; }
.c-ctaarea-pic { width: 5.8rem;}
.c-ctaarea-title + p { font-size: 1.8rem;}
.c-ctaarea-btn { margin-top: 4rem; }

}



/* footer */
.footer { padding: 5rem 0 4rem; background-color: var(--cl-key-thin); color: var(--cl-wh); }
.finfo { }
.finfo-logo { width: 13rem; margin: 0 auto; }
.finfo-title { margin-top: 1.5rem; text-align: center; font-weight: var(--ff-base-bold);}
.finfo-sns { display: flex; align-items: center; justify-content: center; gap: 3rem; margin-top: 5rem; }
.fmenu { margin-top: 5rem; }
.fmenu-box { }
.fmenu-item { display: block; padding: 1.5rem 0; color: var(--cl-wh); font-weight: var(--ff-base-bold); }
.fmenu-item._child { display: grid; grid-template-columns: max-content auto; gap: 1rem; align-items: center; padding: 1rem 0; font-size: 1.2rem; font-weight: var(--ff-base);}
.fmenu-item:not(._child) + .fmenu-item._child { margin-top: -0.5rem;}
.fmenu-item._child::before { content: ""; display: block; width: 1rem; height: 1px; background-color: var(--cl-wh);}
.fcopy { margin-top: 1rem; font-size: 1.0rem; color: var(--cl-wh); }

@media print, screen and (min-width: 640px) {
.footer { padding: 8rem 0; }
.footer .u-inner { display: flex; flex-wrap: wrap; justify-content: space-between; }
.finfo { width: 27.27%;  }
.finfo-logo { width: 14.2rem; margin: 0 auto 0 0; }
.finfo-title { margin-top: 2rem; font-size: 1.8rem; text-align: left; }
.finfo-sns { justify-content: flex-start; gap: 2rem; }
.fmenu { display: flex; gap: 4rem; width: 54%; margin-top: 0; }
.fmenu-box { flex-grow: 1; }
.fmenu-item { padding: 2rem 0; }
.fmenu-item:first-child { padding-top: 0;}
.fmenu-item:last-child { padding-bottom: 0;}
.fmenu-item:not(._child) + .fmenu-item._child { margin-top: -1rem;}
.fmenu-item._child { padding: 0.5rem 0; font-size: 1.4rem;}
.fcopy { width: 100%; margin-top: 8rem; font-size: 1.2rem; text-align: center; }


}






/* spitem
--------------------------------------------------------------*/

/* _spopen changes */
@media print, screen and  (max-width: 1023px) {
body._spopen { height: 100%; overflow: hidden; }
}


/* spnav-btn */
.spitem-btn { position: fixed; top: 2rem; right: 2rem; -webkit-appearance: none; -moz-appearance: none; appearance: none; border: none; background-color:var(--cl-key); cursor: pointer; width: 4rem; height: 4rem; outline: none; transition:0.5s; z-index: 130; cursor: pointer;}
.spitem-btn::before,
.spitem-btn::after { content: ""; position: absolute; left: 50%; width: 1.4rem; height: 2px; background-color: var(--cl-wh); transform: translateX(-50%); transition:0.3s; }
.spitem-btn::before { top: 2.4rem; }
.spitem-btn::after  { bottom: 2.4rem; }
.spitem-btn-line { position: absolute; top: 0; right: 0; bottom: 0; left: 0; margin: auto; width: 1.4rem; height: 2px; background-color: var(--cl-wh); transition: 0.3s; overflow: hidden; }

._close.spitem-btn { }
._close.spitem-btn::before,
._close.spitem-btn::after { content: ""; position: absolute; left: 50%; background-color:var(--cl-wh); transform: translateX(-50%); transition:0.3s; }
._close.spitem-btn::before { top: 50%; transform: translate(-50%,-50%) rotate(45deg) ; left: 50%; }
._close.spitem-btn::after  { bottom: auto; top: 50%; transform: translate(-50%,-50%) rotate(-45deg); left: 50%;}
._close.spitem-btn .spitem-btn-line { display: none; }

@media print, screen and (min-width: 640px) {
.spitem { display: none; }
.spitem-btn { display: none; }
}


/* spnav [wrap] */
.spmenu { opacity: 0; visibility: hidden; position: fixed; top: 0; right: -100%; width: 100%; z-index: 90; transition: 0.3s; }
.spmenu._spopen { opacity: 1; visibility: visible; right: 0; }
.spmenu-inner { width: 100%; height: 100vh; padding: 8rem 0; overflow-y: scroll; background-color: var(--cl-wh);}


/* spnavMenu */
.spnav { margin-top: 4rem;  }
.spnav-item { display: block; padding: 1.75rem 10.67%; font-size: 1.6rem; font-weight: var(--ff-base-bold); line-height: 1; }
.spnav-item._child { display: grid; grid-template-columns: max-content auto; gap: 1rem; align-items: center; font-size: 1.4rem;}
.spnav-item._child::before { content: ""; display: block; width: 1rem; height: 2px; background-color: var(--cl-key);}
.spnav-item._contact { display: flex; align-items: center; justify-content: center; height: 7rem; margin: 2rem 10.67% 0; background-color: var(--cl-wh); border: var(--cl-key) 2px solid; color: var(--cl-key); }













/* main contents
--------------------------------------------------------------*/
.main { min-height: 50vh; margin-top: var(--header-height); }
@media print, screen and (min-width: 640px) {
.main { }
}



/* pagetitle */
.c-pagetitle { position: relative; width: 100%; height: 18rem; }
.c-pagetitle-pic { position: relative; height: 0; padding-bottom: 18rem;}
.c-pagetitle-pic img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.c-pagetitle-box { position: absolute; top: 50%; left: 50%; transform: translate(-50%,-50%); width: 90%; max-width: 110rem; margin: 0 auto; color: var(--cl-wh);}
.c-pagetitle-main { font-size: 3.2rem; font-weight: var(--ff-base-bold); line-height: 1.4;}
.c-pagetitle-en { font-size: 1.8rem;}
.c-pagetitle-sub { font-size: 1.8rem; font-weight: var(--ff-base-bold); line-height: 1.4;}

@media print, screen and (min-width: 640px) {
.c-pagetitle { height: 41rem; }
.c-pagetitle-pic { padding-bottom: 41rem;}
.c-pagetitle-main { font-size: 7.2rem; line-height: 1.1;}
.c-pagetitle-en { margin-top: 2rem; font-size: 2.4rem; line-height: 1.4;}
.c-pagetitle-sub { margin-top: 3.2rem; font-size: 4rem; }


}







/*----------------------------------------------------------------------------------------------------------------------------

component

----------------------------------------------------------------------------------------------------------------------------*/


/* title
--------------------------------------------------------------*/

.c-secttitle { margin-bottom: 4rem;}
.c-secttitle._secttitle-cen { text-align: center;}
.c-secttitle-main { font-size: 3.2rem; font-weight: var(--ff-base-bold); line-height: 1.4;}
.c-secttitle-sub { font-size: 1.8rem;}
@media print, screen and (min-width: 640px) {
.c-secttitle { margin-bottom: 8rem; }
.c-secttitle-main { font-size: 5.6rem;}
.c-secttitle-sub { font-size: 2.4rem;}
}


.c-linetitle { display: grid; grid-template-columns: max-content 1fr; align-items: center; gap: 0.6rem; margin-bottom: 2rem; font-size: 2.4rem; font-weight: var(--ff-base-bold);}
.c-linetitle::before { content: ""; display: block; width: 1.2rem; height: 3px; background-color: var(--cl-key);}
@media print, screen and (min-width: 640px) {
.c-linetitle { font-size: 4rem; gap: 1.2rem;}
.c-linetitle::before { width: 2rem; height: 5px; }

}

/* title - utility */
.u-title-xl { font-size: 2.4rem; line-height: 1.4; font-weight: var(--ff-base-bold); }
.u-title-lg { font-size: 2rem; line-height: 1.4; font-weight: var(--ff-base-bold); }
.u-title-md { font-size: 1.8rem; line-height: 1.4; font-weight: var(--ff-base-bold); }
.u-title-sm { font-size: 1.6rem; line-height: 1.4; font-weight: var(--ff-base-bold); }

@media print, screen and (min-width: 640px) {
.u-title-xl { font-size: 4rem; }
.u-title-lg { font-size: 2.4rem; }
.u-title-md { font-size: 2.4rem; }
.u-title-sm { font-size: 1.8rem; }

}



/* gridimage
--------------------------------------------------------------*/

.c-gridimage-wrap {}
.c-gridimage-wrap + .c-gridimage-wrap { margin-top: 4rem;}
.c-gridimage-pic {}
.c-gridimage-box { margin-top: 1rem;}
.c-gridimage-title { margin-bottom: 0.8rem; font-size: 1.8rem; font-weight: var(--ff-base-bold); text-align: center;}

@media print, screen and (min-width: 640px) {
.c-gridimage-wrap { display: grid; grid-template-columns: 35.45% 59.09%; gap: 5.45%; align-items: center;}
.c-gridimage-box { margin-top: 0;}
.c-gridimage-title { margin-bottom: 1.6rem; font-size: 2.4rem; text-align: left;}
}





/* tab
--------------------------------------------------------------*/

.c-posttab { display: grid; grid-template-columns: repeat(2,1fr);}
.c-posttab-item { position: relative; width: 100%; height: 4rem; display: grid; align-items: center; justify-content: center; background-color: var(--cl-key-thin); font-weight: var(--ff-base-bold); color: var(--cl-wh); font-size: 1.6rem; transition: 0.3s;}
.c-posttab-item.is-active { background-color: var(--cl-wh); color: var(--cl-txt);}
.c-posttab-item:nth-child(1):before { position: absolute; bottom: 0; right: -0.1rem; content: ""; display: block; width: 2.6rem; height: 4rem; clip-path: polygon(100% 0, 0% 100%, 100% 100%); z-index: 10; background-color: var(--cl-wh);}
.c-posttab-item:nth-child(2):before { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 2.6rem; height: 4rem; clip-path: polygon(0 0, 0% 100%, 100% 100%); z-index: 10; background-color: var(--cl-wh);}

@media print, screen and (min-width: 640px) {
.c-posttab-item { height: 8.5rem; font-size: 2.4rem; }
.c-posttab-item:hover {opacity: 1; }
.c-posttab-item:nth-child(1):before,
.c-posttab-item:nth-child(2):before {  width: 8.5rem; height: 8.5rem; }

}






/* table
--------------------------------------------------------------*/

/* c-grtb */
.c-grtb { }
.c-grtb-item { display: grid; padding: 1.5rem 0; border-top: var(--cl-border) 1px solid; }
.c-grtb-item:last-child { border-bottom: var(--cl-border) 1px solid; }
.c-grtb-item > * + * { margin-top: 0.5rem; }

@media print, screen and (min-width: 640px) {
.c-grtb-item { padding: 3rem 0; grid-template-columns: 20rem 1fr; }
.c-grtb-item > * + * { margin: 0; }
.c-grtb._grtb-s0-p1-2 > * { grid-template-columns: 1fr 2fr; }
.c-grtb._grtb-s0-p1-3 > * { grid-template-columns: 1fr 3fr; }
}



.c-table { width: 100%; padding-bottom: 1rem; overflow: scroll;}
.c-table-box { width: max-content; display: grid; border: var(--cl-border) 1px solid; border-width: 1px 0 0 1px;}
.c-table-box.c-table-1-1-1 { grid-template-columns: repeat(3,1fr);}
.c-table-box.c-table-1-1-1-1 { grid-template-columns: repeat(4,max-content);}
.c-table-item { padding: 1rem; border-right: var(--cl-border) 1px solid; border-bottom: var(--cl-border) 1px solid;}
.c-table-item._head { width: 100%; background-color: var(--cl-key-thin); color: var(--cl-wh); font-weight: var(--ff-base-bold);}
.c-table-item._title { font-weight: var(--ff-base-bold);}

@media print, screen and (min-width: 640px) {
.c-table { padding-bottom: 0; overflow: hidden;}
.c-table-box { width: 100%;  }
.c-table-box.c-table-1-1-1-1 { grid-template-columns: minmax(24rem,max-content) minmax(24rem,max-content) minmax(24rem,max-content) 1fr;}
.c-table-item { display: flex; align-items: center; justify-content: center; height: 6rem; padding: 0; text-align: center;}

}





.c-mapwrap { position: relative; width: 100%; height: 0; padding-bottom: 44.4444%}
.c-mapwrap iframe { position: absolute; top: 0; left: 0;  width: 100%; height: 100%; object-fit: cover;}



.c-card { display: grid; grid-template-rows: max-content 1fr; grid-template-columns: 1fr 43.39%; gap: 4.75%;}
.c-card._card-bg { padding: 2rem; background-color: var(--cl-wh);}
.c-card + .c-card { margin-top: 1rem;}
.c-grid-pic { grid-column: 2/3; grid-row: 1/3; aspect-ratio: 16 / 9;}
.c-grid-pic img { object-fit: cover; width: 100%; height: 100%;}
.c-grid-status {}
.c-grid-title {}

@media print, screen and (min-width: 640px) {
.c-card { display: block; }
.c-card + .c-card { margin-top: 0;}
.c-grid-status { margin-top: 2rem;}
.c-grid-title { margin-top: 0.5rem; line-height: 1.5;}

}




.c-bgcontent { padding: 4rem 2rem 5rem; background: var(--cl-border) no-repeat center center / cover; border-radius: 4rem; overflow: hidden; color: var(--cl-wh);}
.c-bgcontent-catch { margin-bottom: 1rem; font-size: 1.8rem; font-weight: var(--ff-base-bold); text-align: center;}
.c-bgcontent .u-linkbtn { margin: 4rem auto 0; border: none;}
@media print, screen and (min-width: 640px) {
.c-bgcontent { padding: 14.4rem 7rem;  border-radius: 10rem;}
.c-bgcontent .u-linkbtn { margin-top: 6rem;}
.c-bgcontent-catch { margin-bottom: 1.5rem; font-size: 2.4rem;}
.c-bgcontent-catch + p { text-align: center;}

}




.c-post-list { padding: 2rem; background-color: var(--cl-wh);}

.c-post-status { display: flex; align-items: center; gap: 1rem;}
.c-post-cat { width: max-content; min-width: 7rem; height: 2.4rem; padding: 0 0.5rem; display: flex; align-items: center; justify-content: center; background-color: #B4B4B4; color: var(--cl-wh); font-size: 1.0rem; line-height: 1;}
.c-post-cat._news {}
.c-post-cat._release { background-color: var(--cl-key-thin);}
.c-post-cat._event { background-color: var(--cl-key-thin);}
.c-post-cat._exhibition {}

@media print, screen and (min-width: 640px) {
.c-post-list { padding: 7rem; }

.c-post-date { font-size: 1.6rem;}
.c-post-cat { font-size: 1.4rem;}

}





/* layout
--------------------------------------------------------------*/

/* c-grid */
.c-grid { display: grid; gap: 2rem; }
.c-grid._grid-s1-1 { grid-template-columns: 1fr 1fr; }
.c-grid._grid-s1-2 { grid-template-columns: 1fr 2fr; }
.c-grid._grid-s1-3 { grid-template-columns: 1fr 3fr; }

@media print, screen and (min-width: 640px) {
.c-grid { gap: 3rem; }
.c-grid._grid-p1-1 { grid-template-columns: 1fr 1fr; }
.c-grid._grid-p1-2 { grid-template-columns: 1fr 2fr; }
.c-grid._grid-p1-3 { grid-template-columns: 1fr 3fr; }
.c-grid._grid-p2-1 { grid-template-columns: 2fr 1fr; }
.c-grid._grid-p2-3 { grid-template-columns: 2fr 3fr; }
.c-grid._grid-p3-1 { grid-template-columns: 3fr 1fr; }
.c-grid._grid-p3-2 { grid-template-columns: 3fr 2fr; }
.c-grid._grid-p1-1-1 { grid-template-columns: 1fr 1fr 1fr; }
.c-grid._grid-p1-1-1-1 { grid-template-columns: 1fr 1fr 1fr 1fr; }
.c-grid._rev > *:first-child { order: 2; }
.c-grid._rev > *:last-child { order: 1; }
.c-grid._rev._grid-p1-2 { grid-template-columns: 2fr 1fr; }
.c-grid._rev._grid-p1-3 { grid-template-columns: 3fr 1fr; }
.c-grid._rev._grid-p2-3 { grid-template-columns: 3fr 2fr; }
.c-grid._rev._grid-p2-1 { grid-template-columns: 1fr 2fr; }
.c-grid._rev._grid-p3-1 { grid-template-columns: 1fr 3fr; }
.c-grid._rev._grid-p3-2 { grid-template-columns: 2fr 3fr; }
}


/* mgbox */
.c-mgbox {}
.c-mgbox > *:not(:first-child) { margin-top: 1rem; }

@media print, screen and (min-width: 640px) {
.c-mgbox._mgp1 > *:not(:first-child) { margin-top: 1rem; }
.c-mgbox._mgp2 > *:not(:first-child) { margin-top: 2rem; }
.c-mgbox._mgp3 > *:not(:first-child) { margin-top: 3rem; }
.c-mgbox._mgp4 > *:not(:first-child) { margin-top: 4rem; }
}





/* form group
--------------------------------------------------------------*/

/* required - utility */
.u-req { color: var(--cl-error01); margin-left: 0.5em; }

/* c-formthanks */
.c-formthanks { }
.c-formthanks-title { text-align: center; }
/*.c-formthanks-title::before { content: ""; display: block; margin: auto; width: 2em; height: 2em; mask: url(/assets/images/common/ico_mail.svg) no-repeat center center / contain; background-color: var(--cl-wh); opacity: 0.3; }*/
.c-formthanks-txt { font-style: 1.2em; margin-top: 2em; }
.c-formthanks-ex { font-size: 0.8em; margin-top: 1em; }
.c-formthanks-notice { border: var(--cl-border) 1px solid; padding: 1em; margin-top: 1em; }
.c-formthanks-btn { margin: 3em auto; display: flex; justify-content: center; }

@media print, screen and (min-width: 640px) {
.c-formthanks { }
.c-formthanks-txt { text-align: center; margin-top: 4em; }
.c-formthanks-ex { text-align: center; }
.c-formthanks-notice { padding: 3em; text-align: center; margin: 3em auto 0; width: fit-content; }
.c-formthanks-btn { margin: 4em auto; }
}



.c-note {  margin-top: 2rem; padding: 2rem; background-color: var(--cl-bg-gr);}
.c-note dt { margin-bottom: 1rem; padding-bottom: 1rem; border-bottom: var(--cl-txt) 1px solid; font-weight: var(--ff-base-bold); }
.c-note dd {  }
@media print, screen and (min-width: 640px) {

.c-note { width: max-content; display: flex; align-items: center; gap: 3rem; margin-top: 3rem; padding: 2rem 3rem; }
.c-note > * { height: 7rem; display: flex; align-items: center; }
.c-note dt { margin-bottom: 0; padding-bottom: 0; padding-right: 3rem; border-bottom: none; border-right: var(--cl-txt) 1px solid; }

}



/* policy
--------------------------------------------------------------*/

.c-policybox {}
.c-policybox + .c-policybox { margin-top: 4rem;}
.c-policybox-title { margin-bottom: 0.5rem; font-size: 1.8rem; font-weight: var(--ff-base-bold);}
.c-policybox-txt {}

@media print, screen and (min-width: 640px) {
.c-policybox + .c-policybox { margin-top: 5rem;}
.c-policybox-title { margin-bottom: 1rem; font-size: 2.4rem; }

}

/* page-404
--------------------------------------------------------------*/
.notfound {}
.notfound-txt { font-style: 1.2em; }
.notfound-btn { margin: 3em auto 0; }

@media print, screen and (min-width: 640px) {
.notfound-txt { text-align: center; }
.notfound-btn { margin: 6rem auto 0; }
}





/*----------------------------------------------------------------------------------------------------------------------------

page unique

----------------------------------------------------------------------------------------------------------------------------*/

/* home
----------------------------------------------------------------------------------------------------------------------------*/


.page-home { }
.page-home .c-secttitle-main { font-size: 4rem; line-height: 1.4; }
.page-home .main { margin-top: 0; }

@media print, screen and (min-width: 640px) {
.page-home .c-secttitle { margin-bottom: 5rem;}
.page-home .c-secttitle-main { font-size: 8rem; }

}



.floating-wrap { opacity: 0; visibility: hidden; position: fixed; bottom: 0; left: 0; z-index: 100; transform: translateY(1rem); transition: 0.3s;}
.floating-item { display: grid; grid-template-columns: 16rem max-content; }
.floating-item::after { content: ""; display: block; width: 6rem; height: 6rem; background-color: var(--cl-key); clip-path: polygon(0 0, 0% 100%, 100% 100%);}
.floating-item span { display: grid; align-items: center; justify-content: flex-end; height: 6rem; padding-right: 1rem; font-size: 1.8rem; font-weight: var(--ff-base-bold); background-color: var(--cl-key); color: var(--cl-wh);}
.floating-wrap._scrolled { opacity: 1; visibility: visible;  transform: translateY(0);}

@media print, screen and (min-width: 640px) {
.floating-wrap { top: 24rem; right: 0; left: auto; bottom: auto; transform: translate(1rem,0); }
.floating-item { display: flex; flex-direction: row-reverse; writing-mode: vertical-rl;  }
.floating-item::after { width: 7.5rem; height: 7.5rem; clip-path: polygon(100% 0, 0% 100%, 100% 100%); transition: 0.3s;}
.floating-item span { width: 7.5rem; height: max-content; padding: 1rem 0 3rem 0; letter-spacing: 0.4rem; transition: 0.3s; }
.floating-item:hover { opacity: 1; }
.floating-item:hover span { opacity: 1; background-color: #107B4E; }
.floating-item:hover::after { background-color: #107B4E; }



}


.kv { position: relative; }
.kv .u-inner { max-width: 145rem;}
.kv-inner { height: 60rem; background: url(/cms/wp-content/themes/marimbist/assets/images/home/kv_sp.png) no-repeat center center / cover;}
.kv-title { position: absolute; bottom: 16rem; left: 2rem; color: var(--cl-wh); font-weight: var(--ff-base-bold); font-size: 3rem; text-shadow: 0 0 2rem rgba(0, 0, 0, 0.5);}
.kv .pickup { margin: -4rem -5.56% 0 0; box-shadow: 0.5rem 0.5rem 4rem rgba(49, 56, 65, 0.1);}
.kv .pickup .c-card { background-color: var(--cl-wh); }
.kv .pickup .c-grid-title span { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}
.kv-scroll { display: none; position: absolute; bottom: 15rem; left: 4rem; writing-mode: sideways-lr; color: var(--cl-wh);}
.kv-scroll::before { content: ""; display: block; width: 1.4rem; height: 6.2rem; background: url(/cms/wp-content/themes/marimbist/assets/images/home/kv_ar.svg) no-repeat center center / contain;  }

@media print, screen and (min-width: 640px) {
.kv-inner { height: 90rem; background-image: url(/cms/wp-content/themes/marimbist/assets/images/home/kv_pc.png) ;}
.kv-title { position: static; padding-top: 45rem; font-size: 5rem; text-align: center; line-height: 1.4;}
.kv .pickup { max-width: 64rem; margin: -10rem 0 0 auto; }
.kv .pickup .c-card { display: grid; grid-template-columns: 1fr 43.39%; gap: 0.5rem 4.75%; padding: 2.4rem;}
.kv .pickup .c-grid-status { margin-top: 0;}
.kv .pickup .c-grid-title span { -webkit-line-clamp: 4; }
.kv-scroll { display: flex; align-items: center; gap: 1rem; }


}



.page-home .info .u-inner { max-width: 145rem;}
.page-home .info .info-title {  overflow: hidden; font-size: 8rem; text-align: center; line-height: 1;}
.page-home .info .info-logo { width: 10rem; margin: 3rem auto;}
.page-home .info .info-txt { font-weight: var(--ff-base-bold); font-size: 1.8rem; text-align: center; line-height: 2;}
.page-home .info .info-picbox { }
.page-home .info .info-picbox .u-inner { display: grid; grid-template-columns: 45.67% 25.97% 21.79%; gap: 1rem; }
.page-home .info .info-pic02 { transform: translate(0,2rem);}

@media print, screen and (min-width: 640px) {
.page-home .info .info-title { font-size: 15rem; }
.page-home .info .info-logo { width: 31rem; margin: 10rem auto;}
.page-home .info .info-txt { font-size: 4rem;}
.page-home .info .info-picbox { padding-top: 16rem;}
.page-home .info .info-picbox .u-inner { display: grid; grid-template-columns: 4.5fr 2.5fr 2.1fr; gap: 9rem; }
.page-home .info .info-pic02 { transform: translate(0,9rem);}
.page-home .info .info-pic03 { transform: translate(0,4rem);}

}


.info-title .char { display: inline-block; opacity: 0; transform: translateY(1em); transition: opacity 0.5s ease, transform 0.5s ease; }
.info-title.is-inview .char { opacity: 1; transform: translateY(0); }
.info-txt .line { display: block; clip-path: inset(0 100% 0 0); opacity: 0; transition: clip-path 1s ease, opacity 1s ease; }
.info-txt.is-inview .line { clip-path: inset(0 0 0 0); opacity: 1; }
.info-logo { opacity: 0; transform: scale(0.95); transition: opacity 1s ease, transform 1s ease; }
.info-logo.is-inview { opacity: 1; transform: scale(1); }




.page-home .profile .u-inner { max-width: 145rem;}
.page-home .profile .c-linetitle { margin-bottom: 1rem; font-size: 3.2rem;}
.page-home .profile-box { }
.page-home .profile-box-name { display: flex; align-items: center; gap: 1rem; margin-top: 1.5rem; font-size: 2.4rem; font-weight: var(--ff-base-bold); }
.page-home .profile-box-name span { font-size: 1.6rem; }
.page-home .profile-box p + p { margin-top: 1rem; }

@media print, screen and (min-width: 640px) {
.page-home .profile .c-linetitle { margin-bottom: 3rem; font-size: 5rem;}
.page-home .profile-box { display: grid; grid-template-columns: 34.14% 1fr; gap: 5.52%;}
.page-home .profile-box-name { gap: 3rem; margin-top: 0; font-size: 4rem; }
.page-home .profile-box-name span { font-size: 2.4rem; }
.page-home .profile-box p { line-height: 1.6; }
.page-home .profile-box p + p { margin-top: 3rem; }
.page-home .profile-box .profile-box-name + p { margin-top: 1rem; }

}

.page-home .news {}
.page-home .news .u-linkbtn { margin-top: 4rem; border: none;}
.page-home .news .c-grid-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }

@media print, screen and (min-width: 640px) {
.page-home .news .u-linkbtn { margin: 8rem auto 0; }

}



.page-home .business { padding-bottom: 0;}
.page-home .business-info {}
.page-home .business-info .u-linkbtn { margin-top: 4rem; }
.page-home .business-wrap { padding: 4rem 0 22rem; background: no-repeat center center / cover; color: var(--cl-wh);}
.page-home .business-wrap._forcompany { margin-top: 4rem; background-image: url(/cms/wp-content/themes/marimbist/assets/images/home/business_bg_forcompany_sp.png); }
.page-home .business-wrap._forprivate { background-image: url(/cms/wp-content/themes/marimbist/assets/images/home/business_bg_forprivate_sp.png); }
.page-home .business-title { margin-bottom: 1rem; font-size: 2.4rem; font-weight: var(--ff-base-bold); line-height: 1.4;}
.page-home .business-wrap .u-linkbtn { margin-top: 2rem; border: none; }

@media print, screen and (min-width: 640px) {
.page-home .business-info > .u-inner { display: grid; grid-template-rows: max-content 1fr; grid-template-columns: minmax(33rem,30%)  1fr; gap: 3rem 9.09%;}
.page-home .business-info .u-linkbtn { margin-top: 0; grid-column: 2/3; }
.page-home .business-info .c-secttitle { transform: translate(0,-1.8rem); margin-bottom: 0; grid-row: 1/3; }
.page-home .business-wrap { padding: 13rem 0;}
.page-home .business-wrap._forcompany { margin-top: 10rem; background-image: url(/cms/wp-content/themes/marimbist/assets/images/home/business_bg_forcompany_pc.png); }
.page-home .business-wrap._forprivate { background-image: url(/cms/wp-content/themes/marimbist/assets/images/home/business_bg_forprivate_pc.png); }
.page-home .business-title { margin-bottom: 2rem; font-size: 5rem; }
.page-home .business-title { max-width: 68rem; transform: translate(0, -1.6rem); grid-row: 1/3; margin-bottom: 0;}
.page-home .business-title + p { max-width: 68rem; }
.page-home .business-wrap .u-linkbtn { margin-top: 6rem; }

}



.page-home .discography { color: var(--cl-wh); background-image: url(/cms/wp-content/themes/marimbist/assets/images/home/discography_bg.png); text-align: center;}
.page-home .discography .u-linkbtn { border: none;}
@media print, screen and (min-width: 640px) {

}


.page-home .bottom { background-color: var(--cl-wh) !important;}


.page-home .column { margin-top: 8rem; padding: 4rem 2rem; background-color: var(--cl-wh); box-shadow: 0.5rem 0.5rem 4rem rgba(49, 56, 65, 0.1);}
.page-home .column .u-linkbtn { margin: 4rem auto 0;}
.page-home .column .c-grid-title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden;}

@media print, screen and (min-width: 640px) {
.page-home .column { margin-top: 16rem; padding: 7rem; }
.page-home .column .u-linkbtn { margin-top: 6rem;}

}




/* post
----------------------------------------------------------------------------------------------------------------------------*/

/* index */
.c-postcat { padding-bottom: 2rem;}
.c-postcat-title {}
.c-postcat-list { margin-top: 0.5rem; display: flex; flex-wrap: wrap; gap: 1rem;}
.c-postcat-item { display: flex; align-items: center; justify-content: center; min-width: 9rem; height: 4rem; border: var(--cl-border) 2px solid; border-radius: 5rem; font-weight: var(--ff-base-bold); font-size: 1.2rem;}
.c-postcat-item.is-active { background-color: var(--cl-key); color: var(--cl-wh); border-color: var(--cl-key); }

@media print, screen and (min-width: 640px) {
.c-postcat { padding-bottom: 6rem;}
.c-postcat-title { font-size: 1.8rem;}
.c-postcat-list { margin-top: 1rem; }
.c-postcat-item { min-width: 10rem; padding: 0 1.5rem; font-size: 1.4rem;}
}



.c-grid + .navigation:has(.page-numbers) { margin-top: 4rem; }
.screen-reader-text { border: 0; clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute; width: 1px; word-wrap: normal !important; }
.navigation .nav-links { display: flex; flex-wrap: wrap; justify-content: center; gap: 2rem 3.6rem; font-size: 1.4rem; }
.navigation .page-numbers { display: grid; place-content: center; text-align: center; opacity: 0.4; font-weight: var(--ff-base-bold); line-height: 1;}
.navigation .page-numbers.current { opacity: 1; }
.navigation .page-numbers .c-pagination-icon { width: 0.5em; }
.navigation .page-numbers.prev .c-pagination-icon { transform: rotate(180deg); }
.navigation .page-numbers.prev,
.navigation .page-numbers.next { width: 100%; display: flex; gap: 0.5em; align-items: center; opacity: 1;  }
@media print, screen and (min-width: 640px) {
.c-grid + .navigation:has(.page-numbers) { margin-top: 8rem; }
.navigation .nav-links { font-size: 1.8rem; }
.navigation a.page-numbers:hover { opacity: 1; }
.navigation .page-numbers.prev,
.navigation .page-numbers.next { width: auto;  }
}




/* single */

.post-detail { padding: 2rem; background-color: var(--cl-wh);}
.post-detail .u-linkbtn { margin-top: 4rem;}
.post-detail-title { margin-top: 0.5rem; font-size: 2.4rem; font-weight: var(--ff-base-bold); line-height: 1.4;}
.post-detail-txtwrap { margin-top: 2rem; padding-top: 2rem; border-top: var(--cl-border) 1px solid;}
.post-detail-txtwrap > * {  }
.post-detail-txtwrap a { display: inline-block; color: var(--cl-key); text-decoration: underline; }
.post-detail-txtwrap > * + * { margin-top: 2rem; }
.post-detail-thumbnail { margin-top: 2rem; aspect-ratio: 16/9;}
.post-detail-thumbnail img { width: 100%; height: 100%; object-fit: contain;}
@media print, screen and (min-width: 640px) {
.post-detail { padding: 7rem;}
.post-detail .u-linkbtn { margin: 7rem auto 0;}
.post-detail-title { margin-top: 0.5rem; font-size: 4rem; font-weight: var(--ff-base-bold); line-height: 1.4;}
.post-detail-txtwrap { margin-top: 3rem; padding-top: 3rem;}
.post-detail-txtwrap > * + * { margin-top: 4rem; }
.post-detail-thumbnail { margin-top: 4rem;}

}




/* business
----------------------------------------------------------------------------------------------------------------------------*/

.page-business {}
.page-business .cta { background-image: url(/cms/wp-content/themes/marimbist/assets/images/business/common/cta_bg.png);}
.business-lead-title { text-align: center;}
.business-lead-catch { margin: 1.5rem 0; text-align: center;}
@media print, screen and (min-width: 640px) {
.business-lead-catch { margin: 1.5rem 0 6rem;}
.business-lead-catch + p { text-align: center;}

}



/* index */
.page-business._index .c-pagetitle { height: 64rem;}
.page-business._index .c-pagetitle-pic { height: 64rem;}
.page-business._index .c-pagetitle-box { top: 5rem; transform: translate(-50%,0); text-align: center;}
.page-business._index .c-pagetitle-en + p { margin: 5rem 0 2rem; font-size: 2.4rem; font-weight: var(--ff-base-bold);}
.page-business._index .c-pagetitle-en + p + p { line-height: 1.8;}
@media print, screen and (min-width: 640px) {
.page-business._index .c-pagetitle { height: 116rem;}
.page-business._index .c-pagetitle-pic { height: 116rem;}
.page-business._index .c-pagetitle-box { top: 11.4rem; }
.page-business._index .c-pagetitle-en + p { margin: 8rem 0 4rem; font-size: 4rem; }
.page-business._index .c-pagetitle-en + p + p { font-size: 2.4rem; line-height: 2;}
}

.business-type-box {}
.business-type-box + .business-type-box { margin-top: 5rem;}
.business-type-pic { margin-inline: -5.56%;}
.business-type-txtbox { position: relative; z-index: 1; margin-top: -6rem; padding: 2rem; background-color: var(--cl-wh);}
.business-type-title { margin-bottom: 1rem; font-size: 2.4rem; font-weight: var(--ff-base-bold);}
.business-type-box .u-linkbtn { margin-top: 2rem;}
@media print, screen and (min-width: 640px) {
.business-type-box + .business-type-box { margin-top: 10rem;}
.business-type-pic { margin: 0 calc(50% - 50vw) 0 22.73%;}
.business-type-txtbox { max-width: 76rem; margin-top: -30rem; padding: 5rem; background-color: var(--cl-wh);}
.business-type-title { margin-bottom: 2rem; font-size: 5rem; line-height: 1.4;}
.business-type-box .u-linkbtn { margin-top: 4rem;}
.business-type-box._rev { }
.business-type-box._rev .business-type-pic { margin: 0 22.73% 0 calc(50% - 50vw);}
.business-type-box._rev .business-type-txtbox { margin-right: 0; margin-left: auto;}
}



.business-lesson { }
.business-lesson-txtbox { }
.business-lesson-txtbox .u-linkbtn { margin-top: 4rem; }
.business-lesson-pic { margin-top: 4rem;}
@media print, screen and (min-width: 640px) {
.business-lesson { display: flex; justify-content: space-between; margin: 0 calc(50% - 50vw) 0 0; }
.business-lesson-txtbox { width: 45.93%; }
.business-lesson-pic { width: 47.7%; margin-top: 0; }

}


.business-flow {}
.business-flow-item { position: relative; display: grid; grid-template-columns: 31.04% 1fr; gap: 0 1.6rem; align-items: center; padding: 0 0 3rem;}
.business-flow-item + .business-flow-item { border-top: var(--cl-border) 1px solid; padding: 3rem 0;}
.business-flow-item + .business-flow-item::before { position: absolute; top: -1px; left: 0; right: 0; margin: 0 auto; content: ""; display: block; width: 2.7rem; height: 2.5rem; background: url(/cms/wp-content/themes/marimbist/assets/images/business/idx/flow_ar_sp.svg) no-repeat center / contain;}
.business-flow-item:last-child { padding-bottom: 0;}
.business-flow-pic { grid-row: 1/3;}
.business-flow-title { margin-bottom: 0.6rem; font-size: 1.8rem; font-weight: var(--ff-base-bold);}
.business-flow-title span { display: block; font-size: 1.6rem; color: var(--cl-key);}
.business-flow-title + p { font-size: 1.2rem; }
@media print, screen and (min-width: 640px) {
.business-flow { display: flex;}
.business-flow-item { width: 100%; display: block; padding: 3rem 2rem 3rem 0; text-align: center;}
.business-flow-item + .business-flow-item { border-top: none; border-left: var(--cl-border) 1px solid; padding: 3rem 2rem;}
.business-flow-item + .business-flow-item::before { background-image: url(/cms/wp-content/themes/marimbist/assets/images/business/idx/flow_ar_pc.svg); top: 50%; left: -2px; right: auto; margin: auto; transform: translate(0,-50%);}
.business-flow-item:last-child { padding-right: 0;}
.business-flow-pic { width: 10.4rem; margin: 0 auto;}
.business-flow-title { margin-top: 2rem; font-size: 2.4rem; }
.business-flow-title span { display: block; font-size: 1.8rem; line-height: 1;}
.business-flow-title + p { font-size: 1.4rem; text-align: left; }

}



._forcompany {}
._forcompany .business-flow-item + .business-flow-item::before {  background-image: url(/cms/wp-content/themes/marimbist/assets/images/business/forcompany/flow_ar_sp.svg);}
.business-comcept-item { padding: 2rem; background-color: var(--cl-bg-gr);}
.business-comcept-title { margin-bottom: 1rem;}
.business-forte-item { padding: 2rem; background-color: var(--cl-wh);}
.business-forte-title { margin-bottom: 1rem; text-align: center;}
.business-forte-title span { display: block; color: var(--cl-key); font-size: 2.4rem; }
.business-merit-item { padding: 2rem; background-color: var(--cl-bg-gr); }
.business-merit-pic { width: 8rem; margin: 0 auto; }
.business-merit-title { margin: 1rem 0; text-align: center; }

@media print, screen and (min-width: 640px) {
._forcompany .business-flow-item + .business-flow-item::before { background-image: url(/cms/wp-content/themes/marimbist/assets/images/business/forcompany/flow_ar_pc.svg);}
.business-comcept-item { padding: 4rem; }
.business-comcept-title { margin-bottom: 1.5rem; text-align: center;}
.business-comcept-title + p { font-size: 1.4rem;}
.business-forte-item { padding: 4rem; background-color: var(--cl-wh);}
.business-forte-title { display: flex; align-items: center; gap: 1rem; text-align: left;}
.business-forte-title span { display: inline-block; font-size: 4rem; }
.business-forte-title + p { font-size: 1.4rem;}
.business-merit-item { display: grid; grid-template-rows: max-content 1fr; grid-template-columns: 8rem 1fr; gap: 0 3rem; padding: 4rem; }
.business-merit-pic { grid-row: 1/3; }
.business-merit-title { margin: 0 0 1rem; text-align: left; }
.business-merit-title + p { font-size: 1.4rem;}

}





._forprivate {}
._forprivate .txt-note { margin-top: 0.5rem; font-size: 1.4rem;}
._forprivate .business-forte-title { margin: 1rem 0;}
.point-box { display: grid; grid-template-columns: 6rem 1fr; gap: 1.6rem; align-items: center;}
.point-box + .point-box { margin-top: 2rem;}
.point-box-num { display: flex; align-items: center; justify-content: center; background-color: var(--cl-bg-gr); border-radius: 5rem; width: 6rem; height: 6rem; font-size: 2.4rem; line-height: 1; color: var(--cl-key);}
.point-box-title { display: block; margin-bottom: 0.5rem;}
.repertory-list {}
.repertory-list + .txt-note { margin-top: 3rem;}
.repertory-list + .repertory-list { margin-top: 3rem;}
.repertory-list dt { width: 100%; display: grid; align-items: center; justify-content: center; height: 6rem; background-color: var(--cl-wh); color: var(--cl-key); text-align: center; clip-path: polygon(94% 0, 100% 50%, 94% 100%, 0 100%, 0 0);}
.repertory-list dd { margin-top: 1rem;}
.faq-box {}
.faq-box + .faq-box { margin-top: 4rem;}
.faq-box-title { display: grid; grid-template-columns: 5rem 1fr; gap: 1.6rem; align-items: center;}
.faq-box-title::before { content: "Q"; display: flex; align-items: center; justify-content: center; width: 5rem; height: 5rem; border-radius: 5rem; font-size: 2.4rem; background-color: var(--cl-key); color: var(--cl-wh); font-family: var(--ff01f); font-weight: 600;}
.faq-box-txt { display: grid; grid-template-columns: 5rem 1fr; gap: 1.6rem; margin-top: 1.5rem;}
.faq-box-txt::before { content: "A"; display: flex; align-items: center; justify-content: center; width: 5rem; height: 5rem; border-radius: 5rem; font-size: 2.4rem; background-color: var(--cl-bg-gr); color: var(--cl-txt); font-family: var(--ff01f); font-weight: 600;}
@media print, screen and (min-width: 640px) {
._forprivate .txt-note { margin-top: 1rem; font-size: 1.6rem;}
._forprivate .business-forte-title { display: block; margin: 1rem 0; text-align: center;}
._forprivate .business-forte-title span { display: block; font-size: 2.4rem; }
.point-box { grid-template-columns: 10rem 1fr; gap: 4rem; }
.point-box + .point-box { margin-top: 3rem;}
.point-box-num { border-radius: 10rem; width: 10rem; height: 10rem; font-size: 4rem; }
.point-box-title { margin-bottom: 1rem;}
.repertory-list { display: grid; grid-template-columns: 32.73% 1fr; gap: 3.64%;}
.repertory-list + .txt-note { margin-top: 1.5rem;}
.repertory-list dt { height: 10rem; clip-path: polygon(90% 0, 100% 50%, 90% 100%, 0 100%, 0 0);}
.repertory-list dd { margin-top: 0; }
.repertory-list dd ul { display: grid; grid-template-columns: repeat(2,1fr); gap: 0.3rem;}
.faq-box {}
.faq-box + .faq-box { margin-top: 6rem;}
.faq-box-title,
.faq-box-txt { grid-template-columns: 10rem 1fr; gap: 4rem; }
.faq-box-title::before,
.faq-box-txt::before { width: 10rem; height: 10rem; border-radius: 10rem; font-size: 4rem;}
.faq-box-txt { margin-top: 3rem; align-items: center;}

}








/* discography
----------------------------------------------------------------------------------------------------------------------------*/

.page-discography {}
.achievements-box {}
.achievements-logo { width: 16rem; margin: 0 auto;}
.achievements-logo + p { margin: 2rem 0 4rem;}
.achievements-list { margin-top: 4rem;}
.achievements-item { position: relative; display: block; aspect-ratio: 9/12; cursor: pointer; border-radius: 1rem; overflow: hidden;}
.achievements-item::before { position: absolute; top: 1rem; right: 1rem; content: ""; display: block; width: 3rem; height: 3rem; background: url(/cms/wp-content/themes/marimbist/assets/images/discography/ico_pray.svg) no-repeat center center / contain; pointer-events: none; opacity: 0.7; z-index: 10;}
.achievements-item img { width: 100%; height: 100%; object-fit: cover; transition: 0.3s; }

@media screen and (min-width: 640px) {
.achievements-logo { width: 24.4rem; margin: 0;}
.achievements-logo + p { margin: 5rem 0 4rem;}
.achievements-list { margin-top: 8rem;}
.achievements-item:hover { opacity: 1; }
.achievements-item:hover img { transform: scale(1.1,1.1); }
.achievements-item::before { top: 2rem; right: 2rem; width: 4rem; height: 4rem;}

}



.sns-item { background-color: var(--cl-wh);}
.sns-item span { display: grid; grid-template-columns: max-content max-content; justify-content: center; gap: 1rem; align-items: center; padding: 1.5rem 2rem; border-top: var(--cl-txt) 1px solid; font-size: 1.8rem; font-weight: var(--ff-base-bold);}
.sns-item span::after { content: ""; display: block; width: 0.8em; height: 0.8em; mask: url(/assets/images/common/ico_blank.svg) no-repeat center center / contain; background-color: var(--cl-txt); }
.sns-item::before { content: ""; display: block; width: 5rem; height: 5rem; mask: no-repeat center center / contain; background-color: var(--cl-txt); margin: 1.5rem auto; }
.sns-item._x::before { mask-image: url(/cms/wp-content/themes/marimbist/assets/images/common/sns_x.svg);}
.sns-item._insta::before { mask-image: url(/cms/wp-content/themes/marimbist/assets/images/common/sns_insta.svg);}

@media screen and (min-width: 640px) {
.sns-item::before { margin: 4rem auto; }

}



.release-info {}
.release-info > * + * { margin-top: 0.5rem;}
.release-info-date { display: grid; align-items: center; width: max-content; height: 2.4rem; padding: 0 1rem; background-color: var(--cl-txt); color: var(--cl-wh);}
.release-info-name {}
.release-info + p { margin-top: 1.5rem;}
.release-pic { width: 18rem; margin: 4rem auto 0;}
.release-btn { margin-top: 3rem;}

@media screen and (min-width: 640px) {
.release-wrap { display: grid; grid-template-columns: 29.17% 1fr; gap: 8.33%;}
.release-boxright { grid-column: 2/3;}
.release-info-date { font-size: 1.4rem;}
.release-info + p { margin-top: 3.5rem;}
.release-boxleft { grid-row: 1/2; grid-column: 1/2; }
.release-pic { width: 28rem; margin: 0 auto;}
.release-btn { margin-top: 4rem;}
}

.track-list { padding: 2rem; background-color: var(--cl-bg-gr);}
.track-item { display: grid; grid-template-columns: max-content 1fr; align-items: center; gap: 1.2rem; padding: 1.5rem 0;}
.track-item + .track-item { border-top: var(--cl-border) 1px solid; }
.track-box:first-child .track-item:first-child { padding-top: 0;}
.track-box:last-child .track-item:first-child {  border-top: var(--cl-border) 1px solid;}
.track-box:last-child .track-item:last-child { padding-bottom: 0;}
.play-btn::before { display: block; grid-row: 1/2; grid-column: 1/2; content: ""; display: block; width: 2em; height: 2em; mask: url(/cms/wp-content/themes/marimbist/assets/images/discography/ico_pray.svg) no-repeat center center / contain; background-color: var(--cl-txt); transition: 0.3s;}
.play-btn.is-playing::before { mask-image: url(/cms/wp-content/themes/marimbist/assets/images/discography/ico_stop.svg) ;}
.track-item span { grid-column: 2/3; display: block; font-weight: var(--ff-base-bold);}

@media screen and (min-width: 640px) {
.track-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 4rem; padding: 8rem; }
.track-box:last-child .track-item:first-child { padding-top: 0; border-top: none;}
.track-box:first-child .track-item:last-child { padding-bottom: 0;}

}


.swiper { width: 100%; padding-bottom: 3rem !important; }
.swiper-slide { height: 200px; display: grid; place-items: center; background: #eee; border-radius: 12px; font: 600 18px/1.2 system-ui, sans-serif; }
.swiper-pagination { display: flex; align-items: center; gap: 3rem; justify-content: center; bottom: 0 !important; left: 0;}
.swiper-pagination-bullet { width: 1rem !important; height: 1rem !important; background-color: var(--cl-border) !important; opacity: 1 !important; margin: 0 !important;}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet-active { background-color: var(--cl-key) !important;}

@media screen and (min-width: 640px) {
.swiper { padding-bottom: 6rem !important; }
.swiper-pagination { gap: 4rem;}
.swiper-pagination-bullet { width: 2rem !important; height: 2rem !important;}
}




/* form
----------------------------------------------------------------------------------------------------------------------------*/

.form-wrap { background-color: var(--cl-wh); padding: 4rem 2rem;}
@media screen and (min-width: 640px) {
.form-wrap { padding: 7rem;}

}
.page-form .c-grtb-item a { text-decoration: underline;}

.page-form .c-grtb-item {}
.page-form .c-grtb-item:last-child { grid-template-columns: 1fr; text-align: center; padding-bottom: 0; border-bottom: none;}
.page-form .c-grtb-item dt > p { font-weight: var(--ff-base-bold);}
.page-form .add-wrap > p { display: grid; grid-template-columns: max-content 1fr; grid-template-rows: max-content max-content max-content; gap: 0.5rem 1rem; align-items: center;}
.page-form .add-wrap br:not(.u-only-pc) { display: none; }
.page-form .add-wrap > p > .add-txt { grid-column: 1/3; grid-row: 2/3; font-size: 1.2rem; }
.page-form .add-wrap > p > .wpcf7-form-control-wrap:has(.add-addr01) { grid-column: 1/3; grid-row: 3/4;  }

@media print, screen and (min-width: 640px) {
.page-form .add-wrap > p { grid-template-columns: max-content 18rem 1fr; grid-template-rows: max-content 1fr; gap: 1rem; align-items: center;}
.page-form .add-wrap > p > .add-txt { grid-column: 3 / 4; grid-row: 1 / 2; font-size: 1.2rem; }
.page-form .add-wrap > p > .wpcf7-form-control-wrap:has(.add-addr01) { grid-column: 1/4; grid-row: 2/3;  }

}



.form-submit { display: grid; justify-content: baseline; }
.form-submit > * { cursor: pointer; margin: 0 auto 0; position: relative; }
.form-submit .wpcf7-submit { font-size: 1.4rem; color: var(--cl-wh); font-weight: var(--ff-base-bold); background-color: transparent; position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.form-submit:has(.wpcf7-submit.clicked) { pointer-events: none; opacity: 0.5; }
.form-submit .wpcf7-submit.clicked { pointer-events: none; }

@media print, screen and (min-width: 640px) {
.form-submit { margin-top: 6rem; }
.form-submit .wpcf7-submit { font-size: 1.6rem; color: var(--cl-key);  }
.form-submit:hover .wpcf7-submit {  color: var(--cl-wh);  }
}


.page-contact._result {}
.page-contact._result .result-title { font-size: 2.4rem; font-weight: var(--ff-base-bold); text-align: center;}
.page-contact._result .u-linkbtn { margin: 4rem auto 0;}
@media print, screen and (min-width: 640px) {
.page-contact._result .result-title { font-size: 5rem; }
.page-contact._result .result-title + p { text-align: center; }
.page-contact._result .u-linkbtn { margin: 7rem auto 0;}

}





/* contact
----------------------------------------------------------------------------------------------------------------------------*/
/* lead */
.page-contact {}
.contact-leadbox { margin-bottom: 2rem;}
.contact-ex01 { display: block; margin-top: 0.5rem; color: var(--cl-error01);}
.c-grtb-item:first-of-type { border-top: none; }
.c-grtb-item .address-box { margin-top: 2rem; }
@media print, screen and (min-width: 640px) {
.contact-leadbox { margin-bottom: 4rem;}

}




/* download
----------------------------------------------------------------------------------------------------------------------------*/

.download-lead {}
.page-download._index .form-wrap { display: grid; gap: 1.5rem; margin-top: 4rem;}
.page-download._index .form-wrap + .form-wrap { margin-top: 2rem;}

@media print, screen and (min-width: 640px) {
.page-download._index .form-wrap { grid-template-rows: max-content 1fr max-content; grid-template-columns: 35.6% 1fr; gap: 0 5rem; margin-top: 8rem;}
.page-download._index .form-wrap + .form-wrap { margin-top: 4rem;}
.page-download._index .download-pic { grid-row: 1/4; aspect-ratio: 16/9; }
.page-download._index .download-pic img { width: 100%; height: 100%; object-fit: contain; }
.page-download._index .download-title { }
.page-download._index .download-txt { grid-row: 2/3; margin-top: 1rem; }
.page-download._index .download-btn { margin-top: 4rem; grid-row: 3/4; }

}




.page-download._detail .download-file-txt { margin-top: 1rem;}
.page-download._detail .download-file-box { margin-top: 3rem; }
.page-download._detail .download-file-pic { aspect-ratio: 16/9; background-color: var(--cl-wh);}
.page-download._detail .download-file-pic img { width: 100%; height: 100%; object-fit: contain;}
.page-download._detail .download-point { padding: 2rem; background-color: var(--cl-wh);}
.page-download._detail .download-point-title { border-bottom: var(--cl-txt) 1px solid; margin-bottom: 1rem; padding-bottom: 1rem; font-weight: var(--ff-base-bold);}
.page-download._detail .download-point-item { display: grid; grid-template-columns: max-content 1fr; gap: 1.5rem;}
.page-download._detail .download-point-item + .download-point-item { margin-top: 1rem;}
.page-download._detail .download-point-item::before { content: ""; display: block; width: 1.2em; height: 1.2em; background: url(/cms/wp-content/themes/marimbist/assets/images/download/ico_check.svg) no-repeat center center / contain; transform: translate(0, 0.5rem);}
.page-download._detail .form-wrap { margin-top: 5rem;}


@media print, screen and (min-width: 640px) {
.page-download._detail .download-file-box { margin-top: 6rem; }
.page-download._detail .download-point { padding: 4rem;}
.page-download._detail .download-point-item + .download-point-item { margin-top: 1.5rem;}
.page-download._detail .download-point-item::before { transform: translate(0, 0.5rem);}
.page-download._detail .form-wrap { margin-top: 10rem;}

}



/*----------------------------------------------------------------------------------------------------------------------------

wordpress setting

----------------------------------------------------------------------------------------------------------------------------*/


/* contact form 7 */
.wpcf7-spinner { pointer-events: none; position: absolute !important; top: 50%; left: 0; right: 0; margin: 0 auto !important; transform: translate(0,-50%);}
.wpcf7-form-control.wpcf7-radio { display: grid; gap: 1rem;}
.wpcf7-not-valid-tip { margin-top: 0.5rem; color: var(--cl-error01) !important; font-size: 1.4rem !important; }
.wpcf7-list-item { margin: 0 !important; }
/*
.wpcf7 form .wpcf7-response-output { padding: 3rem !important; text-align: center !important;}
.wpcf7 form.invalid .wpcf7-response-output { color: var(--cl-error) !important; border-color: var(--cl-error) !important;}
*/
@media screen and (min-width: 640px) {
.wpcf7-form-control.wpcf7-radio { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 2rem;}

}



