
/*====================================================
////id |  message
====================================================*/
.message-deco > div {
    width: 100%;
    height: 100%;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .message-text {
        font-size: min(4vw, 1.8rem);
    }
    .message-deco {
        height: min(50vw, 300px);
        margin-top: min(6vw, 40px);
        position: relative;
    }
    .message-deco > div {
        background-position: center center !important;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .message-text {
        font-size: min(2.2vw, 2.2rem);
    }
    .message-deco {
        mix-blend-mode: darken;
        overflow: hidden;
        left: min(75%, calc(50vw + 380px));
        bottom: calc(min(25vw, 300px) * -1);
        width: min(25%, 400px);
        height: min(30vw, 400px);
    }
}

@media (hover: hover) {}

/*====================================================
////id |  business
====================================================*/
.business-main_text-head {
    display: inline-block;
    padding: .2em 1.5em;
    position: relative;
}
.business-main_text-head::before,
.business-main_text-head::after {
    background: var(--l_yellow);
    clip-path: polygon(0 0, 100% 0, 0 100%);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: 1em;
    height: 1em;
}
.business-main_text-head::before {
    top: 0;
    left: 0;
}
.business-main_text-head::after {
    right: 0;
    bottom: 0;
    transform: rotate(180deg);
}
.business-main_text-head > span::before,
.business-main_text-head > span::after {
    border: solid var(--d_gray);
    border-width: 1px 0 0 1px;
    box-sizing: border-box;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
    width: calc(1em - 2px);
    height: calc(1em - 2px);
    z-index: 10;
}
.business-main_text-head > span::before {
    top: 3px;
    left: 3px;
}
.business-main_text-head > span::after {
    right: 3px;
    bottom: 3px;
    transform: rotate(180deg);
}
.business-item-wrapper {
    display: grid;
        grid-gap: min(1.5vw, 12px);
    margin: min(7vw, 50px) auto;
}
.business-item {
    border: solid 1px var(--d_gray);
    border-radius: 5px;
    display: grid;
        grid-gap: 0;
        grid-template-rows: subgrid;
        grid-row: span 2;
}
.business-item dt {
    display: flex;
        align-items: center;
        justify-content: center;
    font-size: 1.25em;
    line-height: 1.4;
    min-height: 4em;
    padding: .8em .3em .8em;
    position: relative;
}
.business-item dt::after {
    border-bottom: solid 3px var(--l_gray);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        left: 0;
        right: 0;
        bottom: 0;
    width: 2.5em;
    height: 0;
}
.business-item dd {
    display: flex;
        justify-content: center;
    padding: 1em min(3vw, 2em) 1.5em;
}
.business-detail-item > span {
    background: #FFFCE4;
    display: inline-block;
    margin: .1em .15em;
    padding: 0em .5em;
}
.text_dash {
    display: inline-block;
    margin-left: .5em;
    position: relative;
    vertical-align: middle;
    width: 3.5em;
    height: 1em;
}
.text_dash::before {
    border-top: solid 1px var(--d_gray);
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
    width: 100%;
    height: 0px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
    .business-main_text ,
    .business-close_text {
        font-size: min(4vw, 1.8rem);
    }

    .business-main_text-head {
        font-size: min(4.6vw, 2.4rem);
        padding: .6em .8em;
    }
    .business-close_text-head {
        font-size: min(4.8vw, 2.4rem);
    }
    .business-item-wrapper {
        font-size: .95em;
    }
    .text_dash {
        width: 2em;
    }
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
    .business-main_text ,
    .business-close_text {
        font-size: 1.8rem;
    }
    .business-main_text-head ,
    .business-close_text-head {
        font-size: min(3vw, 2.4rem);
    }
    .business-item-wrapper {
        grid-template-columns: 1fr 1fr;
    }
}

@media print, screen and (min-width: 1200px) {
    .business-detail-item {
        display: flex;
            flex-wrap: wrap;
            gap: .4em;
        margin: .5em 0;
    }
}

@media (hover: hover) {}

/*====================================================
////id |  company
====================================================*/
.company-item dt {
    min-width: 150px;
}
.company-item dd .squareMark {
    margin-top: .5em;
}
.company-item dd .btn_wrap {
    justify-content: flex-start;
    margin: .5em 0 .3em;
}

/* ////////// mobile ////////// */
@media screen and (max-width: 960px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 960px) {
    .company-inner {
        display: grid;
            align-items: flex-start;
            grid-template-columns: 200px 1fr;
            grid-template-rows: 1fr auto;
            grid-gap: 0 min(5vw, 80px);
    }
    .company-head {
        text-align: left;
    }
    .company-item-wrapper {
        margin: 0 0 0 auto;
        max-width: 800px;
    }

}

@media (hover: hover) {}

/*====================================================
////id .modalBox
====================================================*/
.modalBox {
	opacity: 0;
	padding: 50px 0 0;
	position: fixed;
		top: 0;
		left: 0;
	pointer-events: none;
	transition: .6s ease-in-out;
	width: 100%;
	height: 100%;
	z-index: 20000;
}
.modalBox .maskBox {
	background: rgba(0, 0, 0, .4);
	position: absolute;
		top: 0;
		left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}
.modalBox #modal_content {
    margin: auto;
    width: 90%;
        max-width: 1200px;

}
.modalBox .box-inner {
    border: solid 1px #707070;
    border-radius: 5px;
	padding: min(8vw, 56px) min(5vw, 88px);
	position: relative;
	/* width: 100%;
	height: 100%; */
    max-height: calc(100vh - 120px);

	overflow-x: hidden;
	overflow-y: scroll;
	-ms-overflow-style: none;    /* IE, Edge 対応 */
	scrollbar-width: none;       /* Firefox 対応 */
}
.modalBox .box-inner::-webkit-scrollbar {  /* Chrome, Safari 対応 */
	display:none;
}
.modalBox .modal-text {
    display: flex;
        justify-content: center;
}
.modalBox .closeBtn {
	cursor: pointer !important;
	font-size: 1.0rem;
	letter-spacing: 0;
	position: absolute;
		bottom: 100%;
		right: 0;
	width: 50px;
	height: 50px;
	z-index: 10;
}
.modalBox.open .closeBtn {
  pointer-events: auto;
}
.modalBox .closeBtn::before,
.modalBox .closeBtn::after {
    border-top: solid 3px #fff;
    content: '';
    display: block;
    margin: auto;
    position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
    width: 38px;
    height: 0;
}
.modalBox .closeBtn::before {
    transform: rotate(-45deg);
}
.modalBox .closeBtn::after {
    transform: rotate(45deg);
}

.modalBox .btnBox {
	margin: auto;
	width: 90%;
}

.modalBox.open {
	opacity: 1;
	pointer-events: auto;
}
