
/*====================================================
//// id main_text
====================================================*/
#main_text h1 {
	border-bottom: dotted 6px;
	margin-bottom: .3em;
	padding-bottom: .3em;
}
#main_text .txtBox p::first-letter {
	margin-left: 1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#main_text .innerBox {
		padding-top: 0;
	}
	#main_text .itemBox {
		grid-gap: 60px;
	}
	#main_text .item {
		align-items: flex-end;
		grid-gap: 0 1em;
		grid-template-columns: 1fr 16%;
	}
	#main_text .item .item_head p {
		font-size: 2.2rem;
		width: calc(100% + 15vw);
	}
	#main_text .item .item_head h1 {
		font-size: 5.5vw;
	}
	#main_text .item .imgBox {
		grid-column: 2;
		grid-row: 1;
		padding-bottom: .5em;
	}
	#main_text .item .imgBox img {
		max-height: 130px;
	}
	#main_text .item .txtBox {
		grid-column: 1 / 3;
	}
}

@media screen and (max-width:500px) {
	#main_text .item .item_head p {
		font-size: 4.5vw;
	}
	#main_text .item .item_head h1 {
		font-size: 6vw;
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#main_text .itemBox {
		grid-gap: 120px;
	}
	#main_text .item {
		grid-gap: 0 .5em;
		grid-template-rows: auto 1fr;
	}
	#main_text .item:nth-child(1) {
		grid-template-columns: 33% 1fr;
	}
	#main_text .item:nth-child(2) {
		grid-template-columns: 1fr 26%;
	}
	#main_text .item .item_head {
		grid-row: 1;
	}
	#main_text .item .item_head p {
		font-size: 3.6rem;
	}
	#main_text .item .item_head h1 {
		font-size: 5.4rem;
	}
	#main_text .item .txtBox {
		font-size: 2.3rem;
		grid-row: 2;
	}
	#main_text .item .imgBox {
		align-items: flex-end;
		grid-row: 1 / 3;
	}
	#main_text .item:nth-child(odd) .imgBox {
		grid-column: 1;
	}
	#main_text .item:nth-child(odd) .imgBox figure {
		width: 80%;
	}
	#main_text .item:nth-child(even) .imgBox {
		grid-column: 2;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	#main_text .item .item_head p {
		font-size: 3.2vw;
	}
	#main_text .item .item_head h1 {
		font-size: 5.4vw;
	}
	#main_text .item .txtBox {
		font-size: 2.1rem;
	}
}

@media screen and (min-width:1040px) {
	#main_text .item .item_head p {
		font-size: 3.9rem;
	}
	#main_text .item .item_head h1 {
		font-size: 5.7rem;
	}
	#main_text .item .txtBox {
		font-size: 2.6rem;
	}
}

/*====================================================
//// id detail
====================================================*/
#detail .itemBox {
	border-radius: 50px;
	position: relative;
}
#detail .itemBox::before,
#detail .itemBox::after {
	background: url('../img/cmn/a_deco.svg') no-repeat top center;
	background-size: 100%;
	content: '';
	display: block;
	padding-top: 13.64%;
	position: absolute;
		left: -.15%;
	width: 100.35%;
	height: 0;
	z-index: -1;
}
#detail .itemBox::before {
	top: -2px;
}
#detail .itemBox::after {
	bottom: -2px;
	transform: rotate(180deg);
}
#detail .itemBox .imgBox {
	margin: auto;
	width: 70%;
}
#detail .itemBox .imgBox figure {
	border-radius: 30px;
	margin: auto;
	max-width: 580px;
	overflow: hidden;
}
#detail .itemBox h2 {
	border-radius: 1em;
	margin: 1.5em 0 .3em;
	padding: .2em .5em;
}
#detail .itemBox li {
	padding-left: 1.4em;
}
#detail .itemBox ol li::before {
	display: none;
}
#detail .itemBox li .no {
	position: absolute;
		left: 0;
}
#detail .process .process-sub {
	grid-gap: 36px;
	grid-template-columns: auto auto;
}
#detail .process .arrow {
	background: var(--mainColor);
	border-radius: 100%;
	display: block;
	margin: auto;
	position: relative;
	width: 1.7em;
	height: 1.7em;
}
#detail .process .arrow::after {
	border: solid transparent;
	border-width: .66em .47em 0 .47em;
	border-top-color: #fff;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		top: 3px;
		left: 0;
		right: 0;
		bottom: 0;
	width: 0;
	height: 0;
}
#detail .process .subBox {
	padding-top: 3em;
	position: relative;
}
#detail .process .subBox > .arrow {
	position: absolute;
		top: .5em;
		left: 0;
		right: 0;
}
#detail .process .subBox li {
	margin: 0;
	padding: 0 0 2.7em 1.2em;
}
#detail .process .subBox li .arrow {
	position: absolute;
		bottom: .5em;
		left: 0;
		right: 0;
}
#detail .process .subBox dt {
	border-radius: 1em;
	margin: 0 0 .5em;
	padding: .2em .5em;
}
#detail .process .last_item {
	border-radius: 1.5em;
	margin: .5em 0 .5em;
	min-width: 80%;
	padding: .3em .5em;
}
#detail .process .text {
	border-radius: 30px;
	margin: 1.2em auto 0;
	max-width: 800px;
	padding: 1em 2em;
}
#detail .process .attentionMark {
	margin: 1.2em auto 0;
	max-width: 800px;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#detail .innerBox {
		padding-top: 0;
	}
	#detail .itemBox {
		padding: 1.5em 1em;
	}
	#detail .itemBox h2 {
		font-size: 1.3em;
	}
	#detail .process .process-sub {
    grid-gap: 1em;
	}
	#detail .process .last_item {
		font-size: 1.1em;
		width: 100%;
	}
	#detail .process .text {
		font-size: 1.1em;
	}
	#detail .process .attentionMark {
		font-size: .9em;
	}
}

@media screen and (max-width:500px) {
	#detail .itemBox {
		font-size: .85em;
		margin-left: -1.5vw;
		width: calc(100% + 3vw);
	}
	#detail .process .subBox dt {
	}
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#detail .itemBox {
		font-size: 2.1rem;
		padding: 60px 40px;
	}
	#detail .itemBox h2 {
		font-size: 3.3rem;
	}
	#detail .process .text {
		font-size: 1.85rem;
	}
	#detail .process .attentionMark {
		font-size: 1.4rem;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
	#detail .itemBox {
		font-size: 1.8rem;
		padding: 50px 30px;
	}
	#detail .itemBox h2 {
		font-size: 3.0rem;
	}
	#detail .process .arrow {
		transform: scale(.9);
	}
	#detail .process .process-sub {
    grid-gap: 1em;
	}
	#detail .process .subBox li .arrow {
		bottom: .3em;
	}
	#detail .process .text {
		font-size: 1.7rem;
	}
}

@media screen and (min-width:1040px) {
	#detail .itemBox {
		padding: 80px 60px;
	}
}

/*====================================================
//// id case_study
====================================================*/
#case_study h3 {
	margin-bottom: .8em;
	padding-left: 1.5em;
	position: relative;
}
#case_study h3 .no {
	position: absolute;
		top: 0;
		left: 0;
}
#case_study .mainBox table {
	border-collapse: separate;
	border-spacing: 3px;
}
#case_study .mainBox table tr:nth-child(odd) th,
#case_study .mainBox table tr:nth-child(odd) td {
	background: #fff;
}
#case_study .mainBox table tr:nth-child(even) th,
#case_study .mainBox table tr:nth-child(even) td {
	background: var(--l_yellow);
}
#case_study .mainBox dl {
	grid-gap: .5em 0;
}
#case_study .mainBox dd ul {
	grid-gap: .5em .8em;
}
#case_study .mainBox dd li a {
	border-radius: .5em;
	padding: .2em .5em;
}
#case_study .detailBox {
	grid-gap: 40px;
}
#case_study .detailBox .detail_item {
	border-radius: 30px;
	padding: 50px 55px 35px;
}
#case_study .detailBox dt {
	position: relative;
}
#case_study .detailBox dt .arrow {
	background: var(--yellow);
	border-radius: 100%;
	display: block;
	margin: auto;
	position: absolute;
		top: -40px;
		right: -40px;
	transition: .2s ease-in-out;
	width: 30px;
	height: 30px;
}
#case_study .detailBox dt .arrow::after {
	border: solid transparent;
	border-width: 12px 8px 0;
	border-top-color: #fff;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		top: 3px;
		left: 0;
		right: 0;
		bottom: 0;
	width: 0;
	height: 0;
}
#case_study .detailBox .open dt .arrow {
	transform: rotate(180deg);
}
#case_study .detailBox h4 {
	border-radius: 1.5em;
	padding: .4em .5em;
}
#case_study .detail_contents {
	padding: 2em 0;
	position: relative;
}
#case_study .detail_contents:not(.detail_contents:last-child)::after {
	background: var(--l_gray);
	border-radius: 5px;
	content: '';
	display: block;
	margin: auto;
	position: absolute;
		left: 0;
		right: 0;
		bottom: -3px;
	width: 96%;
	height: 7px;
}
#case_study .detailBox h5.no_head {
	padding-left: 1.5em;
	position: relative;
}
#case_study .detailBox h5.no_head .no {
	position: absolute;
		top: 0;
		left: 0;
}
#case_study .detailBox .text {
	color: var(--d_gray);
}
#case_study .detailBox .text p::first-letter {
	margin-left: 1em;
}
/* ////////// mobile ////////// */
@media screen and (max-width: 769px) {
	#case_study .itemBox {
		grid-gap: 60px;
	}
	#case_study h3 {
		font-size: 1.25em;
	}
	#case_study .mainBox table {
		font-size: .9em;
	}
	#case_study .mainBox table th {
		padding: .3em .5em;
		width: 7.5em;
	}
	#case_study .mainBox table td {
		padding: .3em .5em;
	}
	#case_study .mainBox dd ul {
		font-size: .9em;
	}
	#case_study .detailBox .detail_item {
		padding: 3em 1em 1em;
	}
	#case_study .detailBox dt .arrow {
		right: 0;
	}
	#case_study .detailBox h4 {
		font-size: 1.05em;
	}
	#case_study .detailBox h5 {
		font-size: 1.1em;
	}
}

@media screen and (max-width:500px) {
}

/* ////////// PC ////////// */
@media print, screen and (min-width: 769px) {
	#case_study .itemBox {
		grid-gap: 80px;
	}
	#case_study h2 {
		font-size: 5.7rem;
	}
	#case_study h3 {
		font-size: 3.1rem;
	}
	#case_study .mainBox table th {
		font-size: 2.1rem;
		padding: .3em 1em;
		width: 180px;
	}
	#case_study .mainBox table td {
		font-size: 1.8rem;
		padding: .4em 1em;
	}
	#case_study .mainBox dl {
		font-size: 2.1rem;
	}
	#case_study .mainBox dt {
		padding: .3em 1em;
		width: 180px;
	}
	#case_study .mainBox dd {
		padding: .3em .5em;
	}

	#case_study .detailBox dt:hover {
		filter: brightness(1.1);
	}
	#case_study .detail_contents:last-child {
		padding-bottom: 0;
	}
	#case_study .detailBox h4 {
		font-size: 2.1rem;
	}
	#case_study .detailBox h5 {
		font-size: 1.9rem;
	}
}

/* ////////// tablet ////////// */
@media screen and (min-width:769px) and (max-width:960px) {
}

@media screen and (min-width:1040px) {
}
