/*
Theme Name: Twenty Twenty-Five Child
Template: twentytwentyfive
*/
html{scroll-behavior: smooth; font-synthesis: none;}
body, dl, dt, dd, ul, ol, li, dl, dt, dd, p, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, blockquote {margin:0;padding:0;font-style:normal;text-align:left;}
h1,h2,h3,h4,h5,h6{font-size:100%; font-weight:normal;}
ul,dl,ol{text-indent:0;}li{list-style:none;}
table{border-collapse:collapse; border-spacing:0; font-size: inherit; width:100%;}th,td{text-align:left; vertical-align:top;}caption{text-align:left;}
strong, b{font-weight: bold;}

:root{
	--text-body	: min(4.5vw, 18px);

	--fs-xs		: 75%;
	--fs-sm		: 87%;

  	--fs-lg		: 20px;
  	--fs-xl		: 22px;
  	--fs-2xl	: 24px;
  	--fs-3xl	: 46px;

	/* Text */
  	--text-lv1: var(--fs-2xl);
  	--text-lv2: var(--fs-xl);
  	--text-lv3: var(--fs-lg);

  	--text-sm: var(--fs-sm);
  	--text-xs: var(--fs-xs);

  	--text-button: var(--fs-lg);

  	/* Heading */
  	--heading-lv1: var(--fs-3xl);
  	--heading-lv2: var(--fs-2xl);
  	--heading-lv3: var(--fs-xl);
  	--heading-lv4: var(--fs-lg);

    /*  */
    --bg-Base          :#F7F7F6;
    --bg-surface       :#ECECEA;
    --bg-deep          :#2F3640;
    --bg-footer        :#1C2028;
    --text-primary     :#1B1B1B;
    --text-secondary   :#5E5E5E;
    --text-meta        :#8C939B;
    --text-on-deep     :#E8EAED;
    --metal-dark       :#44484D;
    --metal-light      :#D8DDE1;
    --before-color     :#6E747B;
    --after-bg         :#E8F0F5;
    --after-border     :#C8D8E0;
    --metal-mid        :#8C939B;
    --brand-red        :#C8281E;
    --cta-red          :#B51F17;

    --cta-red-hover     : color-mix(in srgb, var(--cta-red) 95%, #2b2b2b 45%);
    --cta-red-hover2    : color-mix(in srgb, var(--cta-red) 5%, rgb(2555, 255, 255) 100%);

    /*  */
    --mincho            : "Zen Old Mincho", serif;
    --gothic            : "Barlow Condensed", sans-serif;
    --science-gothic    : "Science Gothic", sans-serif;
    /* --gothic            : "Manrope", sans-serif;
    --science-gothic    : "Fira Code", monospace; */
}

@media (max-width:990px){
    :root{
        --fs-lg		: 18px;
        --fs-xl		: 20px;
        --fs-2xl	: 24px;
        --fs-3xl	: 30px;
    }
}


html{
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    scroll-padding-top: 60px;
}
body{
    font-size: var(--text-body);
    line-height: 1.8;
    font-family: unset;
}
body,
.wp-block-table table.has-fixed-layout :is(th, td){
    word-break: auto-phrase;
}
*, *::before, *::after{
    box-sizing: border-box;
}


input,
textarea{font-size: var(--text-body);}

.mincho{ font-family: var(--mincho);}
.gothic{ font-family: var(--gothic);}
.science-gothic{ font-family: var(--science-gothic);}

.fs-xs{font-size: var(--text-xs);}
.fs-sm{font-size: var(--text-sm);}

.fs-lv1{font-size: var(--text-lv1);}
.fs-lv2{font-size: var(--text-lv2);}
.fs-lv3{font-size: var(--text-lv3);}

.fc-1{color: var(--brand-red);}

.center{text-align: center;}
.right{text-align: right;}

.wbr-textwrap{
	word-break: keep-all;
	overflow-wrap: anywhere;
}


.text-block-bg1{
    background: color-mix(in srgb, var(--cta-red) 15%, #ffffff 95%);
    border: 1px solid rgba(0,0,0,.1);
    color: var(--cta-red);
    border-radius: 10px;
    text-align: center;
    padding: 1em;
    font-weight: 700;
}


.indent{
    text-indent: -1em;
    padding-left: 1em;
}


.section_wrapper{
	margin-bottom: min(18vw, 9em);
}
.section_inner{
	margin-bottom: min(11vw, 5em);
}
.section_inner:last-child{
	margin-bottom: 0;
}
.section_narrow{
	margin-bottom: min(8vw, 3em);
}
.section_narrow:last-child{
	margin-bottom: 0;
}

.pagesection-content-wrap > *{
    padding-top: min(12vw, 6em);
    padding-bottom: min(12vw, 6em);
    margin: 0;
}
.pagesection-content-wrap > *:first-child{
    padding-top:0;
}
.pagesection-content-wrap > *:nth-child(even){
    background: var(--bg-Base);
}



.wp-block-buttons{
    justify-content: center;
}
.wp-block-button,
.submit-box{
    display: block;
    width: 100%;
}
:root :where(.wp-element-button, .wp-block-button__link),
.wp-block-button,
.submit-box .wpcf7-form-control{
    max-width: 460px;
    width: 100%;
}
:root :where(.wp-element-button, .wp-block-button__link),
.submit-box .wpcf7-form-control{
    background: var(--cta-red);
    border: 1px solid var(--cta-red);
    color: #fff;
    border-radius: 0;
    position: relative;
    padding-right: 2.8rem;
    padding-left: 1.6rem;
    padding-top: 1rem;
    padding-bottom: 1.2rem;
    font-weight: 600;
    cursor: pointer;
    transition: background .3s, border .3s, color .3s;
}
:root :where(.wp-element-button, .wp-block-button__link)::after{
    content: "";
    position: absolute;
    right: .7rem;
    top: calc(50% - 1.2em / 2);
    display: flex;
    align-items: center;
    width: 1.2em;
    height: 1.2em;
    background-color: #fff;
    -webkit-mask: url(img/arrow-right-solid-full.svg);
    mask: url(img/arrow-right-solid-full.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
}
.lineup-listwrap .wp-block-button .wp-block-button__link::after{
    background-color: var(--text-primary);
}
:root .btn-color1 :where(.wp-element-button, .wp-block-button__link)::after,
:root .btn-color1-b :where(.wp-element-button, .wp-block-button__link)::after{
    background-color: var(--cta-red);
}

:root .btn-color1 :where(.wp-element-button, .wp-block-button__link){
    background: unset;
    border: 1px solid var(--cta-red);
    color: var(--cta-red);
}

:root .btn-color1-b :where(.wp-element-button, .wp-block-button__link){
    background: #fff;
    border: 1px solid var(--cta-red);
    color: var(--cta-red);
}

:root :where(.wp-element-button, .wp-block-button__link):hover {
    background: var(--cta-red-hover);
    border-color: var(--cta-red-hover);
}
:root .btn-color1 :where(.wp-element-button, .wp-block-button__link):hover,
:root .btn-color1-b :where(.wp-element-button, .wp-block-button__link):hover{
    background: var(--cta-red-hover2);
    border-color: var(--cta-red-hover);
    color: var(--cta-red-hover);
}


.wp-block-buttons.news-backbtn{
    justify-content: flex-start;
}
.wp-block-buttons.news-backbtn .wp-block-button__link{
    background: var(--text-meta);
    border-color: var(--text-meta);
}
.wp-block-buttons.news-backbtn .wp-block-button__link::after{
    transform: rotate(180deg);
    right: unset;
    left: 1.2rem;
}
.wp-block-buttons.news-backbtn .wp-block-button__link:hover{
    background: var(--metal-dark);
    border-color: var(--metal-dark);
}


.has-global-padding{
    padding-right: 0;
    padding-left: 0;
}

.wp-block-group .pagebox,
.foot-inner.pagebox {
    width: 100%;
    max-width: 1080px;
    padding-right: min(5.3vw, 25px);
    padding-left: min(5.3vw, 25px);
    margin-right: auto;
    margin-left: auto;
}
.foot-inner.pagebox {
    max-width: 1350px;
}
.is-layout-constrained > :where(:not(.alignleft):not(.alignright)/* :not(.alignfull) */){
    max-width: 100%;
    width: unset;
}
.has-global-padding > .alignfull{
    margin-right: unset;
    margin-left: unset;
}

.full-section{
    max-width: unset;
}

.content-narrow{
    width: min(920px, 100%);
    margin-right: auto;
    margin-left: auto;
}



figure.style table :is(th, td),
.form-table :is(th, td){
    padding: 20px 25px;
    border: 1px solid #a3a3a3;
}
figure.style thead{border: none;}
figure.style table th,
.form-table th{
    background: #eee;
}
figure.style.th-lv1 table th,
.form-table.th-lv1 th{
    width: 10em;
}
figure.style.th-lv2 table th,
.form-table.th-lv2 th{
    width: 8.5em;
}

figure.style.center table :is(th, td){
    text-align: center;
    vertical-align: middle;
}

@media (max-width:1200px){
    figure.style.scroll{
        overflow-x: scroll;
    }
    figure.style.scroll::before{
        content: "← 左右にスクロールできます →";
        display: inline-block;
        margin-bottom: 1rem;
        font-weight: bold;
        font-size: 80%;
    }
    figure.style.scroll table{
        width: 1200px;
    }
}
@media (max-width:990px){
    figure.style:not(.hold) table,
    figure.style:not(.hold) table :is(tbody, tr, th, td),
    .form-table:not(.hold),
    .form-table:not(.hold) :is(tbody, tr, th, td){
        display: block;
    }
    figure.style:not(.hold) table :is(th, td),
    .form-table :is(th, td){
        padding-left: 17px;
        padding-left: 17px;
    }
    figure.style:not(.hold) table tr,
    .form-table tr{
        margin-bottom: 1em;
    }
    figure.style:not(.hold) table tr:last-child,
    .form-table tr:last-child{
        margin-bottom: 0;
    }
    figure.style.th-lv2 table th,
    .form-table.th-lv2 th{
        width: auto;
    }
    figure.style:not(.hold) table th,
    .form-table th{
        border-bottom: none;
    }
    figure.style:not(.hold).th-lv1 table th,
    .form-table.th-lv1 th{
        width: 100%;
    }
}


.single-movie{
    background: #000;
    padding: 10px;
}
.single-movie video{
    display: block;
    width: min(100%, 940px);
    margin-inline: auto;
}



.child-fixed > *{
    flex: 1;
}
@media (max-width:740px){
    body .is-layout-flex.sp-1{
        flex-direction: column;
    }
}


.image-text{
    gap: 2em 2em;
}
.image-text-boximg{
    width: 100%;
    max-width: 400px;
}
.image-text-boxtxt{
    flex: 1;
}

@media (min-width:991px){
    .image-text-boximg.img-lg{
        max-width: min(37vw, 480px);
    }
}
@media (max-width:990px){
    .image-text{
        flex-direction: column;
        align-items: center;
    }
    .image-text-boxtxt{
        width: 100%;
    }
}


.image-text2{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3em 2em;
}
.image-text2-block{
    width: 100%;
    margin: 0;
}
.image-text2-block .wp-block-image{
    text-align: center;
}
.image-text2-text{
    margin-top: .5rem;
    text-align: center;
    font-size: var(--text-lx);
    line-height: 1.4;
}

.image-text2.ch2{
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.image-text2.ch4{
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

@media (max-width:990px){
    .image-text2{
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}

@media (max-width:1080px){
    .image-text2.ch4{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:680px){
    .image-text2.ch2,
    .image-text2.ch4{
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}


@media (max-width:990px){
    .sp-1column{
        flex-direction: column;
        align-items: center;
        row-gap: min(11vw, 5em);
    }
}


.product-title{
    display: flex;
    margin-bottom: 1rem;
    font-size: var(--heading-lv2);
    font-family: var(--mincho);
    padding: .6em;
    background: linear-gradient(to right, #ffe0dd 30%, #fdcdca 90%);
    border-bottom: 1px solid rgba(0, 0, 0, .08);
    gap: 1em;
    align-items: center;
}
.product-title > *{
    flex: 1;
    font-weight: 800;
    margin: 0;
}
.product-title > figure{
    flex: unset;
    width: min(100%, 200px);
}
@media (max-width:640px){
    .product-title{
        flex-direction: column;
        padding-bottom: 1em;
    }
}



header .current-menu-ancestor,
header .wp-block-navigation > .current-menu-item:not(.style1),

html.has-modal-open body header.wp-block-template-part .current-menu-ancestor > a,
html.has-modal-open body header.wp-block-template-part .current-menu-item > a,

header .wp-block-navigation-submenu > .current-menu-item:not(.style1),
header .is-responsive.wp-block-navigation > .current-menu-item > a,

.wp-block-navigation__container .current-menu-ancestor a:hover{
    background: color-mix(in srgb, var(--brand-red) 8%, rgb(255, 255, 255) 100%) !important;
}
@media (min-width:1401px){
    header .wp-block-navigation-submenu > .current-menu-item:not(.style1),
    header .current-menu-ancestor .wp-block-navigation-submenu a:hover{
        background:rgba(255, 255, 255, .6) !important;
    }
}
@media (max-width:1400px){
    header .wp-block-navigation > .current-menu-item:not(.style1){
        background: none !important;
    }
}

footer .wp-block-navigation > .current-menu-item > a,
footer .wp-block-navigation-submenu > .current-menu-item > a,
footer .footnav > .current-menu-ancestor > a{
    background: rgba(255, 255, 255, 0.45);
}

header .wp-block-navigation > .current-menu-item.style1 a.wp-block-navigation-item__content{
    background: color-mix(in srgb, var(--brand-red) 90%, rgb(255, 255, 255) 70%) !important;
}



.wp-block-navigation .page-group,
.wp-block-navigation__submenu-container .page-group{
    border-bottom: none !important;
    margin-left: 1.2em;
    width: calc(100% - 1.2em) !important;
}
.wp-block-navigation .page-group + li:not(.page-group) {
    margin-top: .5rem;
}
.wp-block-navigation .page-group > a{
    font-size: 96%;
}

.wp-block-navigation li:has(+ .page-group):not(.page-group) {
    /* 親指定 */
    border: none !important;
}



/* header */
header.wp-block-template-part{
    display:flex;
    justify-content: space-between;
    background: #fff;
    padding:7px max(1.5vw, 15px);
    position: sticky;
    top: 0;
    z-index: 90;
}
header .wp-block-site-logo{
    display: flex;
    align-items: center;
}
.wp-block-site-title{
    margin:0;
}

.wp-block-navigation__container{
    gap: 0;
}
.wp-block-navigation__container .wp-block-navigation-submenu,
.wp-block-navigation__container a{
    transition: background .3s, border .3s, color .3s;
}
.wp-block-navigation__container a{
    padding: .23em .8em;
}
.wp-block-navigation__container button{
    margin-right: .8em;
}
.wp-block-navigation__container .style1 a.wp-block-navigation-item__content{
    background: var(--cta-red);
    color: #fff;
    display: flex;
    align-items: center;
    gap: .8em;
    padding: .23em 1em;
    margin: 0 .8em;
}
.wp-block-navigation__container .wp-block-navigation-item:last-child a.wp-block-navigation-item__content{
    margin-right: 0;
}
.wp-block-navigation__container .style1.nav-icon1 a.wp-block-navigation-item__content{
    padding-right: 2.7em;
    position: relative;
}
.wp-block-navigation__container .style1.nav-icon1 a.wp-block-navigation-item__content::after{
    content: "";
    position: absolute;
    right: .8rem;
    top: calc(50% - 1.2em / 2);
    display: flex;
    align-items: center;
    width: 1.2em;
    height: 1.2em;
    background-color: #fff;
    -webkit-mask: url(img/arrow-right-solid-full.svg);
    mask: url(img/arrow-right-solid-full.svg);
    -webkit-mask-size: contain;
    mask-size: contain;
}

.wp-block-navigation__container a:hover,
header .wp-block-navigation__container .open-on-hover-click:hover{
    text-decoration: none;
    background: #e3edce;
    color: #26320c;
}
footer .wp-block-navigation__container .current-menu-ancestor a:hover,
footer .wp-block-navigation__container a:hover{
    background: #575757 !important;
}
.wp-block-navigation__container .style1 a.wp-block-navigation-item__content:hover{
    background: var(--cta-red-hover);
}


@media (max-width:1530px) and (min-width: 1401px) {
    header.wp-block-template-part{padding-inline:10px;}
    .wp-block-navigation ul{font-size: 92.5%;}
}

/* nav-on-off */
@media (min-width: 1401px) {
    header .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display:none
    }

    header .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{
        font-size: 85%;
        min-width: 340px;
        padding: 10px;
        background: #b8da73;
        display: flex;
        flex-wrap: wrap;
        flex-direction: row;
    }
    header .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li{
        border-bottom: 1px solid rgba(0,0,0,.3);
        color: #26320c;
        width: 100%;
    }
    header .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li.page-group{
        width: calc(50% - 1.2em) !important;
        border-top: 1px solid rgba(0,0,0,.3) !important;
    }
    header .wp-block-navigation .page-group + li:not(.page-group) {
        border-top: 1px solid rgba(0,0,0,.3) !important;
    }
    header .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container li:last-child{
        border-bottom: none;
    }
    header .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container a{
        padding: .8em;
        font-weight: bold;
        width: 100%;
        height: 100%;
        align-items: center;
        line-height: 1.4;
    }
    header .wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container .wp-block-navigation-item__label{
        width: 100%;
    }
}
@media (max-width:1400px) {
    header.wp-block-template-part{
        padding-right: max(2.7vw, 15px);
        padding-left: max(2.7vw, 15px);
    }
    
    header .wp-block-navigation__container{
        gap: 0 !important;
    }
    header .wp-block-navigation__container li{
        border-bottom: 1px solid #ddd;
    }
    header .wp-block-navigation__container .wp-block-navigation__submenu-container li{
        border-bottom: unset;
    }
    header .wp-block-navigation__container .wp-block-navigation-item__content{
        padding: 1.5em !important;
        font-weight: bold;
    }
    :root header .wp-block-navigation__container .wp-block-navigation__submenu-container.wp-block-navigation-submenu{
        padding-top: 0 !important;
        padding-bottom: var(--wp--style--block-gap,2em);
        background: #e3edce !important;
    }
    header .wp-block-navigation__container .wp-block-navigation-submenu .wp-block-navigation-item.wp-block-navigation-link{
        font-weight: normal;
        font-size: 88%;
        border-bottom: 1px solid rgba(0, 0, 0, .3) !important;
    }
    header .wp-block-navigation__container .wp-block-navigation-submenu .wp-block-navigation-item.wp-block-navigation-link > a{
        padding: 1em 1.5em !important;
    }
    header .wp-block-navigation__container .wp-block-navigation-submenu .wp-block-navigation-item.wp-block-navigation-link:first-child{
        margin-top: 0;
    }
    header .wp-block-navigation__container .wp-block-navigation__submenu-container.wp-block-navigation-submenu,
    header .wp-block-navigation__container .wp-block-navigation-item__content{
        width: 100% !important;
    }
}
@media (max-width:1400px) and (min-width: 600px) {
    header .wp-block-navigation__responsive-container-open:not(.always-shown) {
        display:flex
    }
    header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
        display: none;
    }
}



/* footer */
footer {
    padding-top: 5rem;
    margin-top: 0;
    /* margin-top: 8rem; */
    background: var(--bg-footer);
    color: #fff;
}

.foot-inner{
    justify-content: space-between;
    align-items: flex-start;
    gap: 3em;
}
@media (max-width:990px){
    .foot-inner{
        flex-direction: column-reverse;
    }
}

.foot-address{
    padding-right: 0;
    padding-left: 0;
    text-wrap: nowrap;
}
.foot-address-name{
    font-weight: bold;
    margin-top: 2em;
}
@media (max-width:990px){
    .foot-address{
        display: flex;
        flex-direction: column;
        align-items: center;
        width: 100%;
    }
    .foot-address > *{
        width: auto !important;
        text-align: center;
    }
}

footer .footnav ul.footnav{
    align-items: flex-start;
    gap: 2em;
    width: min(62vw, 700px);
}
@media (max-width:990px){
    footer .footnav ul.footnav{
        width: 100%;
    }
}
footer .footnav li.wp-block-navigation-item{
    display: block;
    width: calc((100% - 2em * 2) / 3);
}
footer .footnav .wp-block-navigation-submenu li.wp-block-navigation-item{
    width: 100%;
}
footer .footnav li.wp-block-navigation-item a{
    font-weight: bold;
    border-bottom: 1px solid #333;
    padding: 1rem .5rem;
    line-height: 1.2;
}
footer .wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content{
    font-weight: normal;
    border: none;
    padding: .7rem .5rem;
    color: #fff;
}
footer .footnav button.wp-block-navigation__submenu-icon{
    display: none;
}
footer .footnav ul.wp-block-navigation__submenu-container.wp-block-navigation-submenu{
    height: auto;
    width: auto;
    background: unset;
    border: none;
    opacity: 1;
    position: static;
    visibility:unset;
    margin-top: .5rem;
    font-size: var(--text-sm);
}
footer .footnav ul.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container{
    min-width: unset;
}

@media (max-width:680px){
    footer .footnav li.wp-block-navigation-item{
        width: calc((100% - 2em) / 2);
    }
}
@media (max-width:599px){
    footer .wp-block-navigation__responsive-container-open,
    footer .wp-block-navigation__responsive-container-close{
        display: none;
    }
    footer .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open){
        display: block;
        position: static;
    }
}
@media (max-width:440px){
    footer .footnav ul.footnav{
        gap: 1.5em;
    }
    footer .footnav li.wp-block-navigation-item{
        width: 100%;
    }
}

.foot-map-link a{
    display: inline-block;
    color: #fff;
    border: 1px solid var(--brand-red);
    width: 10em;
    padding: 1em;
    line-height: 1.1;
    font-weight: bold;
    text-align: center;
    text-decoration: none;
    transition: background .3s, border .3s, color .3s;
}
.foot-map-link a:hover{
    background: var(--cta-red-hover2);
    border-color: var(--cta-red-hover);
    color: var(--cta-red-hover);
}

footer .copyright{
    font-size: 12px;
    text-align: center;
    color: var(--text-secondary);
    padding: 5rem 0 2rem;
}



main.wp-block-group{
    margin-top: 0;
}



.panquzu{
    margin: -3rem 0 min(5vw, 4rem) !important;
    border-bottom: 1px solid var(--after-border);
    padding-bottom: 1rem;
    font-size: 74%;
}
@media (max-width:990px){
    .panquzu{
        margin-top: -2.3vw !important;
    }
}
.panquzu nav{
    width: 100%;
    max-width: 1350px;
    padding-right: min(5.3vw, 25px);
    padding-left: min(5.3vw, 25px);
}

.page-title-wrapper{
    margin: 0 0 min(5vw, 4rem);
    font-size: min(7.4vw, 220%);
    background: var(--bg-Base);
    border-top: 1px solid rgba(0,0,0,.04);
    border-bottom: 1px solid rgba(0,0,0,.04);
    padding-top: 1.2em;
    padding-bottom: 1.2em;
}
.page-title-wrapper .wp-block-post-title{
    letter-spacing: .04em;
    max-width: 100%;
    text-align: center;
    font-weight: bold;
    font-family: var(--mincho);
}



.heading{line-height: 1.4; gap: 0;}
.heading.style1{
    margin-bottom: min(7vw, 4rem);
    font-size: var(--heading-lv1);
}
.heading.style1 > :first-child{
    color: var(--brand-red);
    position: relative;
    padding-left: 2.4rem;
    font-size: 49%;
    font-family: var(--gothic);
}
.heading.style1 > :first-child::before{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translate(0, -50%);
    background: var(--brand-red);
    width: 1.65rem;
    height: 1px;
}
.heading.style1 > :last-child{
    font-weight: bold;
    font-family: var(--mincho);
    line-height: 1.4;
    margin-top: .8rem;
}

.heading-style1-type1 .heading.style1{
    display: flex;
    flex-direction: column;
}
.heading-style1-type1 .heading.style1 > :first-child{
    padding-left: 0;
    text-align: center;
}
.heading-style1-type1 .heading.style1 > :first-child::before{
    display: none;
}
.heading-style1-type1 .heading.style1 > :last-child{
    text-align: center;
}

.heading-before-none .heading.style1 > :first-child{
    padding-left: 0;
}
.heading-before-none .heading.style1 > :first-child::before{
    display: none;
}


.heading.style2{
    margin-bottom: 2rem;
    font-size: var(--heading-lv2);
    font-family: var(--mincho);
    padding: .9em .6em;
    background:linear-gradient(to right,
		#ffe8e5 30%,
		#ffd9d7 90%);
    border-bottom: 1px solid rgba(0,0,0,.08);
}
.heading.style2 > *{
    font-weight: 800;
}


.heading.style3{
    margin-bottom: 1.5rem;
    font-size: var(--heading-lv3);
    border-left: 3px solid var(--brand-red);
    font-family: var(--mincho);
    padding-left: .6em;
}
.heading.style3 > *{
    font-weight: 700;
}


.section-subtitle{
    font-size: var(--heading-lv2);
    color: var(--before-color);
    font-family: var(--mincho);
    font-weight: 700;
    line-height: 1.4;
}


header .wp-block-navigation__container .style1 a.wp-block-navigation-item__content::after{
    display: none;
}
header .wp-block-navigation__container .style1 .wp-block-navigation-item__label{
    display: flex;
    width: 100%;
    gap: 1em;
    justify-content: space-between;
    align-items: center;
}
header .wp-block-navigation__container .style1 a.wp-block-navigation-item__content i{
    font-size: 85%;
    display: flex;
    align-items: center;
}

@media (max-width:1400px){
    header .is-responsive .wp-block-navigation__container,
    header .is-responsive .wp-block-navigation-item{
        width: 100%;
    }
    header .wp-block-navigation__container .style1 .wp-block-navigation-item__content{
        width: 100%;
        max-width: 300px;
    }
}




.card-block-style{
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}
.card-block-style.center{
    justify-content: center;
}

.card-block-style .card-block-inner{
    background: #fff;
    border: 1px solid var(--before-color);
    padding: 1.5rem;
    margin-top: 0;
    margin-right: 0 !important;
    margin-left: 0 !important;
}
.card-block-style.ch2 .card-block-inner{
    width: calc((100% - 1em) / 2);
}
.card-block-style.ch3 .card-block-inner{
    width: calc((100% - 1em * 2) / 3);
}
.card-block-style .card-block-inner .title-warp{
    border-bottom: 1px solid var(--metal-light);
    padding-bottom: 1.2rem;
    margin-bottom: 1.2rem;
    font-size: var(--heading-lv3);
    line-height: 1.4;
}
.card-block-style .card-block-inner .title-warp .icon{
    width: 55px;
}
.card-block-style .card-block-inner .title-warp .title{
    flex: 1;
    font-weight: 600;
}

@media (max-width:1100px){
    .card-block-style.ch3 .card-block-inner{
        width: calc((100% - 1em) / 2);
    }
    .card-block-style .card-block-inner .title-warp .icon{
        width: 45px;
    }
}
@media (max-width:700px){
    .card-block-style.ch2 .card-block-inner,
    .card-block-style.ch3 .card-block-inner{
        width: 100%;
    }
}


.card-block-style2{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1em;
}
.card-block-style2 .card-block-inner{
    border: 1px solid var(--before-color);
    padding: 1.5rem;
    margin: 0;
}
.card-block-style2 .title{
    font-weight: 600;
    font-size: var(--heading-lv4);
}

@media (max-width:1100px){
    .card-block-style2{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:700px){
    .card-block-style2{
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}



.history-block{
    display: flex;
    align-items: flex-start;
    gap: .5em 2.5em;
    margin: 0;
    padding: 1em 1em;
    border-top: 1px solid #777;
    border-bottom: 1px solid #777;
}
.history-block + .history-block{
    border-top: none;
}
.history-block .text1{
    display: flex;
    justify-content: space-between;
    width: 8em;
    font-weight: bold;
}
.history-block .text1 :is(.year1, .year2){
    margin: 0 !important;
}
.history-block .text2{
    flex: 1;
    width: 100%;
}
.history-block :is(.images, .wide-image){
    margin: 0;
    text-align: center;
}
.history-block :is(.images, .wide-image) img{
    margin: 1rem 0 .5rem;
}
.history-block :is(.images, .wide-image) p{
    margin-top: 0;
    text-align: center;
    font-size: var(--text-xs);
}
@media (max-width:940px){
    .history-block{
        flex-direction: column;
    }
}
@media (max-width:740px){
    .history-block .images{
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


.step-block{
    border: 1px solid var(--after-border);
    background: #fff;
    padding: min(7vw, 2.3em);
}
.step-title-wrap{
    display: flex;
    gap: .7rem 1rem;
    font-size: var(--text-lv2);
    line-height: 1.2;
}
.step-title-step{
    font-family: var(--gothic);
    font-weight: 600;
    color: var(--brand-red);
    width: 3em;
}
.step-title-text{
    flex: 1;
    font-weight: 600;
}
@media (max-width:540px){
    .step-title-wrap{
        flex-direction: column;
        align-items: flex-start;
    }
    .step-title-text {
        width: 100%;
    }
}



.cta-block{
    background: #ebf3da;
    padding: min(13vw, 100px) 0;
    margin-top: 0;
}
.cta-block-title{
    text-align: center;
    font-weight: bold;
    font-family: var(--mincho);
    font-size: var(--heading-lv1);
    line-height: 1.4;
}
.cta-block-subtitle{
    text-align: center;
    margin-top: 1rem;
    font-size: var(--heading-lv2);
    line-height: 1.4;
}
.cta-block-comment{
    margin-top: 2rem;
}
.cta-block-buttons{
    display: flex;
    justify-content: center;
}
.cta-block-buttons .cta-block-button-inner{
    max-width: 1350px;
    width: 100%;
    margin: 0;
}
.cta-block-button-text{
    font-weight: bold;
    text-align: center;
    font-size: var(--text-sm);
}

@media (max-width:1060px){
    .cta-block-buttons{
        flex-direction: column;
        row-gap: 3em;
    }
    .cta-block-buttons:has(.cta-block-button-text:empty) {
        row-gap: .5em;
    }
}



.data-numbers-wrap{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1em;
}
.data-numbers{
    background: var(--bg-Base);
    border: 1px solid rgba(0,0,0,.1);
    padding: min(6vw, 2em);
    margin: 0;
}
.data-number-text{
    color: var(--brand-red);
    display: flex;
    align-items: baseline;
    justify-content: center;
    font-size: min(18vw, 400%);
    line-height: 1;
    font-weight: bold;
    margin-bottom: 2rem;
    gap: .4rem;
}
.data-number-text .text2{
    font-size: 60%;
}
.data-number-text > *{
    margin: 0 !important;
}

@media (max-width:1200px){
    .data-numbers-wrap{
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
    .data-numbers{
        width: 100%;
    }
}
@media (max-width:1200px) and (min-width:861px){
    .data-numbers{
        display: flex;
        gap: 3em;
    }
    .data-number-text{
        margin-bottom: 0;
        width: 4em;
    }
    .data-number-comment{
        flex:1;
        margin: 0;
    }
}



.list-style1{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    flex-wrap: wrap;
    gap: .5rem;
}
.list-style1 li{
    margin: 0;
    border: 1px solid var(--after-border);
    background: #fff;
    padding: 1rem 1.5rem;
}
@media (max-width:990px){
    .list-style1{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:700px){
    .list-style1{
        grid-template-columns: repeat(1, minmax(0, 1fr));
    }
}


.maker-list-text{
    font-size: 92%;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: .5rem;
    margin: 0;
}
.maker-list-text li{
    margin: 0;
    background: var(--bg-surface);
    border-radius: 4px;
    padding: .8rem 1.5rem .9rem;
}
@media (max-width:1300px){
    .maker-list-text{
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}
@media (max-width:990px){
    .maker-list-text{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}
@media (max-width:620px){
    .maker-list-text{
        grid-template-columns: repeat(1, minmax(0, 1fr));
        font-size: 88%;
    }
    .maker-list-text li{
        padding-inline: 1rem;
    }
}



.abrasive-types{
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 1em;
}
.abrasive-type-block{
    background: var(--bg-Base);
    border: 1px solid rgba(0,0,0,.1);
    padding: 1em .5em;
    margin: 0;
    width: 100%;
}
.abrasive-types .text1{
    margin: 0;
    font-weight: 700;
    font-size: var(--text-lv1);
    text-align: center;
}
.abrasive-types .text2{
    margin: 0;
    text-align: center;
    font-size: var(--fs-sm);
    color: var(--text-secondary);
}

@media (max-width:1120px){
    .abrasive-types{
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}


.txt-404-1{
    margin: 0;
    text-align: center;
	line-height: 1;
	font-size: 520%;
    font-weight: 800;
	letter-spacing: .2em;
	text-indent: .1em;
	color: var(--color-primary);
}
.txt-404-2{
    margin: 0;
    text-align: center;
	line-height: 1;
	font-size: 170%;
	font-weight: bold;
	letter-spacing: .5em;
	margin-top: .4em;
	color: var(--color-primary);
}
.txt-404-3{
    margin: 0;
    text-align: center;
    line-height: 1.4;
	font-size: 130%;
	font-weight: bold;
	margin-top: 20px;
	margin-bottom: 30px;
	color: var(--color-primary);
}
.txt-404-comment{
    text-align: center;
}



.page-nav.pagebox{
    margin: 0;
    margin-bottom: min(7vw, 4rem);
}
.page-nav .nav-title{
    display: none;
}
.innerpage-nav ul{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0;
    gap: .5em;
    line-height: 1.2;
}
.innerpage-nav li{
    margin: 0;
}
.innerpage-nav a{
    min-width: 5em;
    text-align: center;
    text-decoration: none;
    display: inline-block;
    padding: .7rem 1rem;
    background: #f1f1f1;
    border-radius: 4px;
    transition: background .3s;
}
.innerpage-nav a:hover{
    background: #e3edce;
}

@media (max-width:990px){
    .page-nav .nav-title{
        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 1.4em 1rem;
        background: #f1f1f1;
        cursor: pointer;
        gap: 1em;
    }
    .title-title{
        flex: 1;
    }
    .title-icon{
        width: 24px;
        height: 24px;
        overflow: hidden;
    }
    .title-icon svg{
        display: flex;
        align-items: center;
        justify-content: center;
        transition: margin .3s;
    }
    .innerpage-nav{
        display: grid;
        grid-template-rows: 0fr;
        transition: .4s;
    }
    .innerpage-block{
        overflow: hidden;
    }
    .innerpage-nav ul{
        flex-direction: column;
        gap: 0;
    }
    .innerpage-nav a{
        display: block;
        text-align: left;
        border-bottom: 1px solid var(--after-border);
        background: none;
        padding-block: 1.4rem;
        position: relative;
    }
    .innerpage-nav a::after{
        content: "";
        position: absolute;
        right: .8rem;
        top: calc(50% - 1.2em / 2);
        display: flex;
        align-items: center;
        width: 1.2em;
        height: 1.2em;
        background-color: #7f929e;
        -webkit-mask: url(img/arrow-right-solid-full.svg);
        mask: url(img/arrow-right-solid-full.svg);
        -webkit-mask-size: contain;
        mask-size: contain;
    }


    .is-open .innerpage-nav{
        grid-template-rows: 1fr;
    }
    .is-open .title-icon svg:first-child{
        margin-top: -24px;
    }
}