@charset "utf-8";


/* underlink
----------------------------------------------- */

.underlink {
	display: inline-block;
	position: relative;
	z-index: 1;
}
.underlink:after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -7px;
	height: 1px;
	background-color: #222;
	z-index: 1;
	opacity: 0;
}


/* button
----------------------------------------------- */

.button {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	text-decoration: none;
	line-height: 1;
	outline: none;
	border: 2px solid #222;
	background-color: #222;
	box-sizing: border-box;
	cursor: pointer;
	overflow: hidden;
	z-index: 1;
	-webkit-appearance: none;
}
.button:before,
.button:after {
	display: block;
	content: "";
	position: absolute;
	z-index: 1;
}
.button:before {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	opacity: 0;
}
.button:after {
	top: 50%;
	right: 20px;
	margin: -6px 0 0;
	width: 12px;
	height: 12px;
	background-image: url(../img/common/button_arrow.svg);
	background-position: -12px 0;
	background-repeat: no-repeat;
	background-size: 48px 24px;
}
.button__label {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0 40px 0 25px;
	height: 62px;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 20px;
	z-index: 2;
}

/* search */

.button--search:after {
	margin: -8px 0 0;
	width: 16px;
	height: 16px;
	background-image: url(../img/common/ic_search.svg);
	background-position: -16px 0;
	background-repeat: no-repeat;
	background-size: 32px 16px;
}

/* reset */

.button--reset:before {
	opacity: 1;
}
.button--reset:after {
	margin: -8px 0 0;
	width: 16px;
	height: 16px;
	background-image: url(../img/common/ic_reset.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 32px 16px;
}
.button--reset .button__label {
	color: #222;
}

/* icon */

.button[target="_blank"]:after,
.button[href$=".pdf"]:after {
	width: 16px;
	height: 16px;
	background-position: -16px 0;
	background-repeat: no-repeat;
	background-size: 48px 16px;
}
.button[target="_blank"]:after {
	background-image: url(../img/common/anchor_icon_blank.svg);
}
.button[href$=".pdf"]:after {
	background-image: url(../img/common/anchor_icon_pdf.svg);
}


/* linebutton
----------------------------------------------- */

.linebutton {
	display: block;
	position: relative;
	border-bottom: 2px solid #ececec;
	z-index: 1;
}
.linebutton:before,
.linebutton:after {
	display: block;
	content: "";
	position: absolute;
	z-index: 1;
}
.linebutton:before {
	left: 0;
	right: 0;
	bottom: -2px;
	height: 2px;
	background-color: #222;
	opacity: 0;
}
.linebutton:after {
	top: 50%;
	right: 0;
	margin: -6px 0 0;
	width: 12px;
	height: 12px;
	background-image: url(../img/common/button_arrow.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 48px 24px;
}
.linebutton__label {
	display: flex;
	align-items: center;
	position: relative;
	margin: 0 50px 0 0;
	height: 65px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 22px;
	z-index: 2;
}

/* icon */

.linebutton[target="_blank"]:after,
.linebutton[href$=".pdf"]:after {
	margin: -7px 0 0;
	width: 16px;
	height: 16px;
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 48px 16px;
}
.linebutton[target="_blank"]:after {
	background-image: url(../img/common/anchor_icon_blank.svg);
}
.linebutton[href$=".pdf"]:after {
	background-image: url(../img/common/anchor_icon_pdf.svg);
}


/* morebutton
----------------------------------------------- */

.morebutton {
	display: block;
	position: relative;
	width: 100%;
	outline: none;
	border: 2px solid #222;
	background-color: #222;
	box-sizing: border-box;
	cursor: pointer;
	overflow: hidden;
	z-index: 1;
	-webkit-appearance: none;
}
.morebutton:before {
	display: block;
	content: "";
	position: absolute;
	z-index: 1;
}
.morebutton:before {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	opacity: 0;
}
.morebutton__label {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 45px;
	color: #fff;
	font-family: 'Heebo', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 20px;
	z-index: 2;
}


/* pagebutton
----------------------------------------------- */

.pagebutton {
	display: block;
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	text-align: center;
	line-height: 1;
	outline: none;
	border: none;
	background-color: transparent;
	box-sizing: border-box;
	cursor: pointer;
	overflow: hidden;
	z-index: 1;
	-webkit-appearance: none;
}
.pagebutton__label {
	display: inline-block;
	font-size: 15px;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	vertical-align: middle;
	line-height: 25px;
}
.pagebutton__label:before,
.pagebutton__label:after {
	display: inline-block;
	content: "";
	margin: 0 10px 3px;
	width: 12px;
	height: 12px;
	vertical-align: middle;
	background-image: url(../img/common/button_arrow.svg);
	background-repeat: no-repeat;
	background-size: 48px 24px;
	z-index: 1;
	visibility: hidden;
}
.pagebutton__label:before {
	background-position: 0 -12px;
}
.pagebutton__label:after {
	background-position: 0 0;
}
.pagebutton--prev .pagebutton__label:before,
.pagebutton--next .pagebutton__label:after {
	visibility: visible;
}


/* closebutton
----------------------------------------------- */

.closebutton {
	width: 42px;
	text-align: center;
	cursor: pointer;
}
.closebutton__icon {
	margin: auto;
	width: 34px;
}
.closebutton__icon img {
	width: 100%;
	height: auto;
}
.closebutton__label {
	font-family: 'Heebo', sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
}


/* menu
----------------------------------------------- */

.menu {
	cursor: pointer;
}
.menu__icon {
	display: block;
	position: relative;
	margin: auto;
	width: 50px;
	height: 30px;
	z-index: 1;
}
.menu__icon:before,
.menu__icon:after,
.menu__bar {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: -1px 0 0;
	height: 2px;
	background-color: #222;
	z-index: 1;
}
.menu__icon:before {
	transform: rotate(35deg);
}
.menu__icon:after {
	transform: rotate(-35deg);
}
.menu__bar {
	transform: scaleX(0);
}
.menu__label {
	display: block;
	margin: 10px 0 0;
	font-family: 'Heebo', sans-serif;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 1;
}


/* title
----------------------------------------------- */

.title {
	position: relative;
	padding: 35px 0 0;
	z-index: 1;
}
.title:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 70px;
	height: 3px;
	background-color: #ff0000;
	z-index: 2;
}
.title__label {
	font-family: 'Heebo', YakuHanJP, 'Noto Sans JP', "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 60px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 60px;
}
.title__summary {
	margin: 10px 0 0;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 27px;
}

/* white */

.title--white {
	color: #fff;
}

/* small */

.title--small {
	padding: 30px 0 0;
}
.title--small .title__label {
	font-family: YakuHanJP, 'Noto Sans JP', "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 40px;
	line-height: 69px;
}


/* subtitle
----------------------------------------------- */

.subtitle {
	position: relative;
	margin: 100px 0 0;
	z-index: 1;
}
.subtitle:before,
.subtitle:after {
	display: block;
	content: "";
	position: absolute;
	z-index: 1;
}
.subtitle:before {
	left: 50%;
	margin: 0 0 0 -50vw;
	width: 100vw;
	height: 1px;
	background-color: #ececec;
}
.subtitle:after {
	top: 0;
	left: 0;
	width: 70px;
	height: 3px;
	background-color: #ff0000;
}
.subtitle__label {
	display: block;
	padding: 40px 0 0;
	font-family: 'Heebo', YakuHanJP, 'Noto Sans JP', "游ゴシック", "Yu Gothic", sans-serif;
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 69px;
}


/* searchmenu
----------------------------------------------- */

.searchmenu {
}
.searchmenu__label {
	padding: 0 0 14px;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.075em;
	border-bottom: 3px solid #ececec;
}
.searchmenu__label--noborder {
	padding: 0;
	border: none;
}

/* tag */

.searchmenu__tag {
	font-size: 0;
	margin: 0 0 0 -5px;
	padding: 15px 0 0;
	font-size: 0;
}
.searchmenu__tag li {
	display: inline-block;
	margin: 10px 0 0 5px;
	vertical-align: middle;
}
.searchmenu__tag input[type="checkbox"] {
	display: none;
	-webkit-appearance: none;
}
.searchmenu__tag label {
	display: inline-block;
	padding: 0 13px;
	height: 25px;
	color: #999;
	font-size: 15px;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 22px;
	border: 1px solid #ececec;
	border-radius: 25px;
	background-color: #ececec;
	box-sizing: border-box;
	cursor: pointer;
	transition-property: color, border-color, background-color;
	transition-duration: 0.2s;
}
.searchmenu__tag input[type="checkbox"]:checked + label {
	color: #fff;
	border-color: #222;
	background-color: #222;
}

/* checkbox */

.searchmenu__checkbox {
	margin: 0 0 0 -50px;
	font-size: 0;
}
.searchmenu__checkbox li {
	display: inline-block;
	margin: 25px 0 0 50px;
	vertical-align: middle;
}
.searchmenu__checkbox input[type="checkbox"] {
	display: none;
}
.searchmenu__checkbox label {
	position: relative;
	padding: 0 0 0 23px;
	font-size: 15px;
	letter-spacing: 0.075em;
	line-height: 25px;
	cursor: pointer;
	z-index: 1;
}
.searchmenu__checkbox label:before,
.searchmenu__checkbox label:after {
	display: block;
	content: "";
	position: absolute;
	z-index: 1;
}
.searchmenu__checkbox label:before {
	top: 3px;
	left: 0;
	width: 15px;
	height: 15px;
	border: 1px solid #e2e2e2;
}
.searchmenu__checkbox label:after {
	top: 7px;
	left: 4px;
	width: 10px;
	height: 10px;
	background-image: url(../img/common/ic_checked.svg);
	background-repeat: no-repeat;
	background-size: 10px;
	opacity: 0;
	transform: translateY(-5px);
	transition-property: opacity, transform;
	transition-duration: 0.2s;
}
.searchmenu__checkbox input[type="checkbox"]:checked + label:after {
	opacity: 1;
	transform: translateY(0);
	transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
}

/* vertical */

.searchmenu__checkbox--vertical {
	margin: 0;
}
.searchmenu__checkbox--vertical li {
	display: block;
	margin: 15px 0 0 0;
}


/* pagecover
----------------------------------------------- */

.pagecover {
	position: relative;
	z-index: 1;
}
.pagecover__outer {
	position: relative;
	margin: 0 50px;
	z-index: 2;
}
.pagecover__inner {
	display: flex;
	align-items: center;
	margin: auto;
	max-width: 1170px;
	height: 400px;
	color: #fff;
}
.pagecover__header {
	padding: 0 0 35px;
}
.pagecover__label {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.pagecover__title {
	margin: 18px 0 0;
	font-size: 56px;
	font-weight: 700;
	letter-spacing: 0.05em;
}
.pagecover__title small {
	display: inline-block;
	padding: 8px 0 0;
	font-size: 42px;
	vertical-align: top;
}
.pagecover__image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}

/* large */

.pagecover--large .pagecover__inner {
	height: 576px;
}


/* pagetitle
----------------------------------------------- */

.pagetitle {
	display: flex;
	align-items: center;
	height: 230px;
}
.pagetitle__text {
	margin: -17px 0 0;
	font-size: 56px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 66px;
}


/* pagesubject
----------------------------------------------- */

.pagesubject {
	padding: 80px 0 80px;
}
.pagesubject__categorylabel {
	margin: 0 0 15px;
}
.pagesubject__label {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.pagesubject__subject {
}
.pagesubject__copy {
	margin: 15px 0 0;
	font-size: 19px;
	font-weight: 700;
	line-height: 29px;
}
.pagesubject__tag {
	margin: 20px 0 0;
}

/* large */

.pagesubject--large {
	position: relative;
	top: -100px;
	padding: 60px 0 0;
	z-index: 1;
}
.pagesubject--large:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: -65px;
	right: -65px;
	bottom: 0;
	background-image: url("../img/common/background.png");
	z-index: -1;
}


/* documentsubject
----------------------------------------------- */

.documentsubject {
	padding: 80px 0 0px;
}
.documentsubject__title {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.05em;
	line-height: 34px;
}


/* subject
----------------------------------------------- */

.subject {
	font-size: 40px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 60px;
}

/* large */

.subject--large {
	font-size: 50px;
	letter-spacing: 0.05em;
}


/* textline
----------------------------------------------- */

.textline {
	font-size: 16px;
	letter-spacing: 0.07em;
	line-height: 38px;
}


/* categorylabel
----------------------------------------------- */

.categorylabel {
	width: 110px;
	height: 26px;
	font-size: 12px;
	text-align: center;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 24px;
	border: 1px solid #222;
	box-sizing: border-box;
}


/* tag
----------------------------------------------- */

.tag {
}
.tag__lists {
	margin: 0 0 0 -10px;
	font-size: 0;
}
.tag__list {
	display: inline-block;
	margin: 10px 0 0 10px;
	vertical-align: top;
}
.tag__list a,
.tag__list span {
	display: block;
	padding: 0 10px;
	min-width: 60px;
	height: 27px;
	color: #fff;
	font-size: 15px;
	text-align: center;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 24px;
	border: 1px solid #222;
	border-radius: 27px;
	background-color: #222;
	box-sizing: border-box;
}

/* compact */

.tag--compact {
}
.tag--compact .tag__list a,
.tag--compact .tag__list span {
	font-size: 12px;
	height: 24px;
	line-height: 21px;
	border-radius: 24px;
}


/* share
----------------------------------------------- */

.share {
}
.share__inner {
	display: flex;
	align-items: center;
}
.share__label {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 1;
}
.share__buttons {
	font-size: 0;
}
.share__button {
	display: inline-block;
	margin: 0 0 0 10px;
	vertical-align: middle;
}


/* linker
----------------------------------------------- */

.linker {
	background: linear-gradient(#222, #222) 0 100% / 0 1px no-repeat;
}

/* icon */

.linker[target="_blank"]:after,
.linker[href$=".pdf"]:after {
	display: inline-block;
	content: "";
	margin: 0 0 3px 6px;
	width: 16px;
	height: 16px;
	vertical-align: middle;
	background-repeat: no-repeat;
	background-size: 48px 16px;
}
.linker[target="_blank"]:after {
	background-image: url(../img/common/anchor_icon_blank.svg);
}
.linker[href$=".pdf"]:after {
	background-image: url(../img/common/anchor_icon_pdf.svg);
}


/* archive
----------------------------------------------- */

.archive {
}
.archive__title {
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.archive__label {
	position: relative;
	margin: 20px 0 0;
	padding: 0 25px;
	height: 65px;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 60px;
	border: 2px solid #222;
	background-color: #fff;
	box-sizing: border-box;
	cursor: pointer;
	z-index: 2;
}
.archive__label:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 22px;
	margin: -3px 0 0;
	width: 12px;
	height: 6px;
	background-image: url(../img/common/archive_arrow.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 12px 24px;
	z-index: 1;
	transition-property: transform;
	transition-duration: 0.25s;
}
.archive__lists {
	font-size: 0;
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
.archive__list {
}
.archive__list:first-child {
	padding-top: 25px;
}
.archive__list:last-child {
	padding-bottom: 25px;
}
.archive__list a {
	display: block;
	padding: 17px 25px;
}
.archive__list span {
	display: inline-block;
	position: relative;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.075em;
	z-index: 1;
}

/* open */

.js-accordion-open.archive__label:after {
	transform: scaleY(-1);
}


/* news
----------------------------------------------- */

.news {
}
.news__list {
	padding: 40px 0 36px;
	border-top: 1px solid #ececec;
}
.news__list:last-child {
	border-bottom: 1px solid #ececec;
}
.news__header {
	display: flex;
	align-items: center;
}
.news__date {
	margin: 0 45px 0 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.025em;
}
.news__subject {
	margin: 23px 0 0;
	font-size: 15px;
	letter-spacing: 0.075em;
	line-height: 24px;
}


/* pageinfo
----------------------------------------------- */

.pageinfo {
	margin: -40px 0 20px;
	text-align: right;
}
.pageinfo--bottom {
	margin-top: 100px;
}
.pageinfo__date,
.pageinfo__pdf .linker {
	font-size: 15px;
	letter-spacing: 0.075em;
}
.pageinfo__date {
	margin: 0 0 15px;
}
.pageinfo__pdf {
	margin: 0 0 15px;
}
.pageinfo__share .share {
	display: inline-block;
}


/* pageback
----------------------------------------------- */

.pageback {
	margin: 50px auto 0;
	width: 330px;
}


/* table
----------------------------------------------- */

.table {
	border-bottom: 1px solid #ececec;
}
.table__tr {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid #ececec;
}
.table__th,
.table__td {
	padding: 26px 0;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 32px;
}
.table__th {
	width: 145px;
	font-weight: 700;
	white-space: nowrap;
}
.table__td {
	width: calc(100% - 175px);
}
.table__dl {
}
.table__dl dt,
.table__dl dd {
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 32px;
}

/* rowspan */

.table__tr--rowspan {
	margin: 0 0 0 175px;
}

/* horizon */

.table__dl--horizon {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin: -15px 0 0;
}
.table__dl--horizon dt,
.table__dl--horizon dd {
	padding: 15px 0 0;
}
.table__dl--horizon dt {
	width: 200px;
}
.table__dl--horizon dd {
	width: calc(100% - 240px);
}

/* wide */

.table--wide .table__th {
	width: 250px;
}
.table--wide .table__td {
	width: calc(100% - 280px);
}

.table__dl--wide dt {
	width: 250px;
}
.table__dl--wide dd {
	width: calc(100% - 290px);
}

/* vertical */

.table__dl--vertical {
	margin: -15px 0 0;
}
.table__dl--vertical dt {
	padding: 15px 0 0;
	font-weight: 700;
}

/* history */

.table--history .table__th {
	width: 115px;
}
.table--history .table__td {
	width: calc(100% - 145px);
}
.table--history .table__tr--rowspan {
	margin: 0 0 0 145px;
}


/* articlepanel
----------------------------------------------- */

.articlepanel {
	height: 100%;
}
.articlepanel a {
	display: flex;
	flex-direction: column;
	position: relative;
	padding: 0 0 35px;
	height: calc(100% - 35px);
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
	z-index: 1;
}
.articlepanel__image {
	position: relative;
	height: 240px;
	font-size: 0;
	text-align: center;
	z-index: 1;
}
.articlepanel__image img {
	position: absolute;
	top: 50%;
	left: 50%;
	max-width: calc(100% - 70px);
	max-height: calc(100% - 38px);
	width: auto;
	height: auto;
	box-shadow: 0 0 10px rgba(0,0,0,0.1);
	z-index: 1;
	transform: translate(-50%,-47%);
}
.articlepanel__contents {
	position: absolute;
	top: 0;
	right: 0;
	padding: 0 10px;
	height: 29px;
	color: #fff;
	font-size: 13px;
	white-space: nowrap;
	letter-spacing: 0.075em;
	line-height: 28px;
	background-color: #888;
	z-index: 1;
}
.articlepanel__subject {
	margin: 30px 35px 0;
	padding: 0 0 20px;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 28px;
}
.articlepanel__title {
	margin: 20px 35px 0;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 28px;
}
.articlepanel__copy {
	margin: 0 35px;
	color: #c3c3c3;
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 24px;
}
.articlepanel__summary {
	margin: 5px 35px 0;
	padding: 0 0 35px;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 28px;
}
.articlepanel__tag,
.articlepanel__button {
	margin: auto 35px 0;
}


/* page
----------------------------------------------- */

.page {
	display: flex;
	justify-content: center;
	align-items: center;
}
.page__list {
}
.page__list a {
	display: flex;
	align-items: center;
	padding: 0 6px;
	height: 30px;
	font-size: 15px;
	font-weight: 700;
}
.page__arrow {
}
.page__arrow a {
	display: block;
	position: relative;
	width: 40px;
	height: 30px;
	font-size: 0;
	z-index: 1;
}
.page__arrow a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -6px 0 0 -6px;
	width: 12px;
	height: 12px;
	background-image: url(../img/common/button_arrow.svg);
	background-repeat: no-repeat;
	background-size: 48px 24px;
	z-index: 1;
}
.page__arrow--prev a:after {
	background-position: 0 -12px;
}
.page__arrow--next a:after {
	background-position: 0 0;
}

/* current */

.page__list--current a {
	color: #ff0000;
	pointer-events: none;
}

/* hidden */

.page__arrow--hidden {
	pointer-events: none;
	visibility: hidden;
}


/* noindent
----------------------------------------------- */

.noindent {
	display: flex;
}
.noindent__no {
	width: 2em;
}
.noindent__main {
	width: calc(100% - 2em);
}


/* member
----------------------------------------------- */

.member {
	display: flex;
	flex-wrap: wrap;
	margin: -45px 0 0 -45px;
	justify-content:center;
}
.member__list {
	margin: 45px 0 0 45px;
	width: calc(33.33% - 45px);
}
.member__list a {
	display: block;
	position: relative;
	padding: 0 0 25px;
	border-bottom: 2px solid #ececec;
	z-index: 1;
}
.member__list a:after {
	display: block;
	content: "";
	position: absolute;
	right: 0;
	bottom: 25px;
	width: 12px;
	height: 12px;
	background-image: url(../img/common/button_arrow.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 48px 24px;
	z-index: 1;
}
.member__image {
	margin: 0;
	font-size: 0;
}
.member__image img {
	width: 100%;
	height: auto;
}
.member__name {
	margin: 30px 0 0;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.member__post {
	margin: 20px 0 0;
	font-size: 16px;
	letter-spacing: 0.075em;
}

/* table */

.member + .table {
	margin-top: 120px;
}


/* memberdetail
----------------------------------------------- */

.memberdetail {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 6;
}
.memberdetail__mask {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.5);
	z-index: 1;
}
.memberdetail__outer {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
	overflow-y: auto;
	z-index: 1;
}
.memberdetail__inner {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
}
.memberdetail__contents {
	position: relative;
	width: 570px;
	background-color: #fff;
	z-index: 1;
}
.memberdetail__content {
}
.memberdetail__image {
	margin: 0;
	font-size: 0;
}
.memberdetail__image img {
	width: 100%;
	height: auto;
}
.memberdetail__prof {
	padding: 45px 0 40px;
}
.memberdetail__name {
	margin: 0 45px;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.memberdetail__post {
	margin: 15px 45px 0;
	font-size: 14px;
	letter-spacing: 0.075em;
}
.memberdetail__text {
	margin: 20px 45px 0;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 32px;
}
.memberdetail__close {
	position: absolute;
	top: 0;
	right: -50px;
	width: 50px;
	height: 50px;
	overflow: hidden;
	z-index: 1;
}
.memberdetail__close span {
	display: block;
	width: 50px;
	height: 50px;
	background-color: #222;
	cursor: pointer;
}
.memberdetail__close span:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -11px 0 0 -11px;
	width: 22px;
	height: 22px;
	background-image: url(../img/common/memberdetail_close.svg);
	background-repeat: no-repeat;
	background-size: 22px;
	z-index: 1;
}


/* points
----------------------------------------------- */

.points {
	margin: 45px 0 0;
	counter-reset: points;
}
.points__list {
	position: relative;
	padding: 38px 0 44px;
	border-top: 2px solid #ececec;
	z-index: 1;
}
.points__list:last-child {
	padding-bottom: 0;
}
.points__list:before {
	display: block;
	content: "0" counter(points);
	position: absolute;
	top: 40px;
	left: 0;
	font-family: 'Heebo', sans-serif;
	font-size: 46px;
	font-weight: 700;
	letter-spacing: 0.075em;
	z-index: 1;
	counter-increment: points;
}
.points h3 {
	margin: 0 90px 0 0;
	padding: 0 0 10px 90px;
	font-size: 26px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 42px;
}
.points p {
	margin: 15px 90px 0;
	padding: 0;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 28px;
}
.points ul {
	display: block;
	margin: 0;
	padding: 0;
}
.points li {
	display: block;
	position: relative;
	margin: 15px 90px 0;
	padding: 0 0 0 30px;
	width: auto;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 28px;
	z-index: 1;
}
.points li:after {
	display: block;
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 16px;
	height: 16px;
	background-image: url(../img/common/points_checkmark.svg);
	background-repeat: no-repeat;
	background-size: 16px;
	z-index: 1;
}


/* numerical
----------------------------------------------- */

.numerical {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 0 0 0 -45px;
	padding: 0 0 15px;
}
.numerical__list {
	margin: 45px 0 0 45px;
	padding: 50px 0;
	width: calc(33.33% - 45px);
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
.numerical__label {
	margin: 0 25px;
	font-size: 17px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
}
.numerical__number {
	margin: 15px 25px 0;
	font-family: 'Heebo', sans-serif;
	font-size: 56px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
}
.numerical__number small {
	display: inline-block;
	margin: 0 0 0 -3px;
	padding: 0 0 9px;
	font-size: 20px;
	vertical-align: bottom;
	letter-spacing: 0.075em;
}
.numerical__summary {
	margin: 20px 50px 0;
	padding: 20px 0 0;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 28px;
	border-top: 2px solid #ececec;
}

/*company__numerical
----------------------------------------------- */
.company__numerical {
	display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 0 0 0 -45px;
    padding: 0 0 15px;
}
.company__numerical__list {
	display: flex;
    flex-direction: column;
    justify-content: space-between;
    box-shadow: none;
	margin: 45px 0 0 45px;
    margin-bottom: 3em;
	width: calc(25% - 45px);
    padding: 25px 0;
	position: relative;
	background-color: #fff;
}
.company__numerical__list::before {
	content: "";
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    box-shadow: 0 0 15px rgb(0 0 0 / 10%);
}
.company__numerical__label {
	margin: 0 25px; /* 2023-05-11追記 */
	font-size: 20px;
    margin-bottom: 20px;
    font-weight: 700;
    text-align: center;
    text-indent: 0.075em;
    letter-spacing: 0.075em;
}
.company__numerical__number {
	margin: 15px 25px 0;
    font-family: 'Heebo', sans-serif;
    font-size: 40px;
    font-weight: 700;
    text-align: center;
    text-indent: 0.075em;
    letter-spacing: 0.075em;
}
.company__numerical__caption {
	position: absolute;
    width: 100%;
    height: 16px;
    left: 0;
    bottom: -36px;
    font-size: 14px;
    text-align: right;
}
.company__numerical__number small {
	display: inline-block;
    margin: 0 0 0 -3px;
    padding-bottom:4px;
    font-size: 20px;
    vertical-align: bottom;
    letter-spacing: 0.075em;
}

@media only screen and (min-width:642px) {
	.company__numerical__list {
		width:calc(50% - 45px);
	}
} 

@media only screen and (max-width:641px) {
	.company__numerical__list {
		width:auto;
	}
	.company__numerical {
		display: block;
	}
}

@media only screen and (min-width:999px) {
	.company__numerical__list {
		width: calc(25% - 45px);
	}
}
/* meter
----------------------------------------------- */

.meter {
	display: flex;
	justify-content: center;
	align-items: center;
}
.meter__page {
	position: relative;
	margin: 0 10px;
	font-family: 'Heebo', sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 1;
	cursor: pointer;
	z-index: 1;
}
.meter__page:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	margin: -6px 0 0;
	width: 12px;
	height: 12px;
	background-image: url(../img/common/button_arrow.svg);
	background-position: 0 0;
	background-repeat: no-repeat;
	background-size: 48px 24px;
	z-index: 1;
}
.meter__page--current:after {
	left: -20px;
	background-position: 0 -12px;
}
.meter__page--total:after {
	right: -20px;
	background-position: 0 0;
}
.meter__progress {
	width: 100px;
	height: 3px;
	background-color: #ececec;
}
.meter__bar {
	width: 100%;
	height: 3px;
	background-color: #222;
	transform: scaleX(0);
	transform-origin: left;
}


/* lineup
----------------------------------------------- */

.lineup {
}
.lineup__items {
}
.lineup__item {
	display: flex;
	justify-content: space-between;
	margin: 50px 0 0;
}
.lineup__column:first-child {
	position: relative;
	width: 51.28%;
	z-index: 1;
}
.lineup__column:last-child {
	width: 44.01%;
}
.lineup__image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: 0;
	font-size: 0;
	z-index: 1;
}
.lineup__name {
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.lineup__copy {
	margin: 35px 0 0;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 30px;
}
.lineup__summary {
	margin: 25px 0 0;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 32px;
}
.lineup__button {
	margin: 20px 0 0;
	width: 330px;
}
.lineup__meter {
	margin: 30px 0 0;
}


/* casestudies
----------------------------------------------- */

.casestudies {
}
.casestudies__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -22.5px; /* 20241111_変更 */
}
.casestudies__list {
	margin: 45px 22.5px 15px; /* 20241111_変更 */
	width: calc(33.33% - 45px);
}
.casestudies__list a,
.casestudies__inner {
	display: flex;
	flex-direction: column;
	padding: 0 0 35px;
	height: calc(100% - 35px);
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
.casestudies__image {
	margin: 0;
	height: 240px;
	font-size: 0;
}
.casestudies__subject {
	margin: 25px 35px 0;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 27px;
}
.casestudies__client {
	margin: 10px 35px 0;
	color: #b5b5b5;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 24px;
}
.casestudies__summary {
	margin: 20px 35px 0;
	padding: 0 0 25px;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 28px;
}
.casestudies__morebutton {
	margin: auto auto 0;
	width: 200px;
}
.casestudies__button {
	margin: 50px auto 0;
	width: 330px;
}
.casestudies__meter {
	margin: 20px 0 0; /* 20241111追加 */
}

/* col2 */

.casestudies--col2 .casestudies__list {
	width: calc(50% - 45px);
}
.casestudies--col2 .casestudies__image {
	height: 300px;
}


/* insight
----------------------------------------------- */

.insight {
}
.insight__lists {
	margin: 40px -50vw 0;
}
.insight__list {
	margin: 15px 20px;
	width: 1170px;
	min-height: 370px;
}
.insight__list a {
	display: flex;
	justify-content: space-between;
	height: 100%;
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
}
.insight__column:first-child {
	position: relative;
	width: 47.8%;
	z-index: 1;
}
.insight__column:last-child {
	padding: 45px 55px 50px;
	width: 52.2%;
}
.insight__image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.insight__clamp {
	display: -webkit-box;
	width: 100%;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 6;
	overflow: hidden;
}
.insight__subject {
	display: inline;
	font-size: 30px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 45px;
}
.insight__copy {
	display: inline;
	font-size: 18px;
	font-weight: 700;
	line-height: 28px;
}
.insight__summary {
	display: inline;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 34px;
}
.insight__subject:after,
.insight__copy:after,
.insight__summary:after {
	content: "\A";
	white-space: pre;
}
.insight__copy:before{
	content: "";
	white-space: pre;
	font-size: 2em;
}
.insight__summary:before {
	content: "";
	white-space: pre;
	font-size: 3em;
}
.insight__tag {
	padding-top: 10px;
}
.insight__meter {
	margin: 20px 0 0;
}

.company__insight__wrapper {
	display: flex;
    justify-content: space-between;
    height: 100%;
    background-color: #fff;
    box-shadow: 0 0 15px rgb(0 0 0 / 10%);
}

@media only screen and (max-width:999px) {
	.company__insight__wrapper {
		display: block;
	}
}
/* specialist
----------------------------------------------- */

.specialist {
	padding: 0 0 10px;
}
.specialist__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 45px -15px 0;
}
.specialist__list {
	margin: 0 15px;
	width: calc(25% - 30px);
}
.specialist__list a {
	display: block;
}
.specialist__image {
	margin: 0;
	font-size: 0;
}
.specialist__image img {
	width: 100%;
	height: auto;
}
.specialist__name {
	margin: 30px 0 0;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.specialist__profession {
	margin: 15px 0 0;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 20px;
}
.specialist__meter {
	margin: 40px 0 0;
}


/* related
----------------------------------------------- */

.related {
}
.related__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -22.5px;
}
.related__list {
	margin: 45px 22.5px 15px;
	width: calc(33.33% - 45px);
}
.related__meter {
	margin: 20px 0 0;
}
.related__button {
	margin: 50px auto 0;
	width: 330px;
}


/* panel
----------------------------------------------- */

.panel {
	height: 100%;
}
.panel a {
	display: block;
	position: relative;
	padding: 50px 0 115px;
	height: calc(100% - 155px);
	background-color: #fff;
	box-shadow: 0 0 15px rgba(0,0,0,0.1);
	z-index: 1;
}
.panel__header {
	display: flex;
	flex-direction: column;
}
.panel__title {
	order: 2;
}
.panel__icon {
	margin: -25px auto 0;
	width: 120px;
}
.panel__icon img {
	width: 100%;
	height: auto;
}
.panel__subject {
	margin: 5px 30px 0;
	font-size: 19px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 24px;
}
.panel__label {
	margin: 5px 30px 0;
	color: #b5b5b5;
	font-size: 15px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 20px;
}
.panel__summary {
	margin: 25px 30px 0;
	font-size: 14px;
	letter-spacing: 0.075em;
	line-height: 28px;
}
.panel__morebutton {
	position: absolute;
	left: 50%;
	bottom: 50px;
	margin: 0 0 0 -100px;
	width: 200px;
	z-index: 1;
}


/* capabilities
----------------------------------------------- */

.capabilities {
	padding: 40px 0 0;
}
.capabilities__summary {
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 31px;
}
.capabilities__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 25px 0 0 -45px;
}
.capabilities__list {
	margin: 45px 0 0 45px;
	width: calc(33.33% - 45px);
}


/* customerinfo
----------------------------------------------- */

.customerinfo {
	margin: 45px 0 0;
	padding: 50px 0;
	border: 3px solid #ececec;
	box-sizing: border-box;
}
.customerinfo__columns {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	margin: 0 50px;
	z-index: 1;
}
.customerinfo__column:first-child {
	width: 200px;
}
.customerinfo__column:last-child {
	width: calc(100% - 300px);
}
.customerinfo__column:last-child:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 250px;
	bottom: 0;
	width: 1px;
	background-color: #ececec;
	z-index: 1;
}
.customerinfo__logo {
	font-size: 0;
}
.customerinfo__logo img {
	width: 100%;
	height: auto;
}
.customerinfo__name {
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 29px;
}
.customerinfo__list {
}
.customerinfo__list dt {
	margin: 18px 0 0;
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 27px;
}
.customerinfo__list dd {
	margin: 5px 0 0;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 26px;
}


/* faq
----------------------------------------------- */

.faq {
	padding: 10px 0 0;
}
.faq__list {
	position: relative;
	margin: 50px 0 0;
	border-top: 3px solid #ececec;
	z-index: 1;
}
.faq__list:after {
	display: block;
	content: "";
	position: absolute;
	top: -3px;
	left: 0;
	width: 20px;
	height: 3px;
	background-color: #ff0000;
	z-index: 1;
}
.faq__list dl {
	margin: 0;
	padding: 10px 0 0;
}
.faq__list dt,
.faq__list dd {
	position: relative;
	margin: 25px 0 0;
	padding: 0 0 0 50px;
	font-size: 19px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 29px;
	z-index: 1;
}
.faq__list dt:before,
.faq__list dd:before {
	display: block;
	content: "Q";
	position: absolute;
	top: 2px;
	left: 0;
	font-family: 'Heebo', sans-serif;
	font-size: 30px;
	font-weight: 700;
	z-index: 1;
}
.faq__list dd:before {
	content: "A";
}
.faq__list dd small {
	display: block;
	margin: 15px 0 0;
	padding: 0;
	font-size: 16px;
	font-weight: 400;
	text-indent: 0;
	letter-spacing: 0.075em;
	line-height: 32px;
}


/* catalogbox
----------------------------------------------- */

.catalogbox {
	margin: 120px auto 0;
	padding: 60px 0;
	max-width: 820px;
	text-align: center;
	background-image: url(../img/common/background.png);
}
.catalogbox__title {
	font-size: 30px;
	font-weight: 700;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 1;
}
.catalogbox__text {
	margin: 40px 0 0;
	font-size: 16px;
	text-indent: 0.075em;
	letter-spacing: 0.075em;
	line-height: 34px;
}
.catalogbox__button {
	margin: 40px auto 0;
	width: 330px;
}


/* address
----------------------------------------------- */

.address {
	margin: 40px 0 0;
	padding: 40px 50px;
	border: 3px solid #ececec;
	box-sizing: border-box;
}
.address__title {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.075em;
	line-height: 1.6em;
}
.address__text,
.address__text {
	margin: 15px 0 0;
	font-size: 16px;
	letter-spacing: 0.075em;
	line-height: 1.8em;
}
.address__text img {
	width: auto;
	height: 16px;
	vertical-align: middle;
}
.address + .address {
	margin-top: 30px;
}


/* clientblock
----------------------------------------------- */

.clientblock {
	margin: 35px 0 0;
}
.clientblock__list {
	display: flex;
	flex-wrap: wrap;
	margin: -10px 0 0 -30px;
}
.clientblock__list li {
	margin: 10px 0 0 30px;
	width: calc(25% - 30px);
}
.clientblock__list img {
	width: 100%;
	height: auto;
}


/* profile
----------------------------------------------- */

.profile {
	margin-top: 20px;
	padding-bottom: 50px;
	background-image: url("../img/common/background.png");
}
.profile__columns {
	display: flex;
	justify-content: space-between;
	margin: 0 50px;
	padding-top: 50px;
}
.profile__column:first-child {
	width: 230px;
}
.profile__column:last-child {
	width: calc(100% - 265px);
}
.profile__image {
	margin: auto;
	width: 110px;
	height: 110px;
	border-radius: 50%;
	overflow: hidden;
}
.profile__image img {
	display: block;
	width: 100%;
	height: auto;
}
.profile__post {
	margin-top: 15px;
	font-size: 12px;
	letter-spacing: 0.075em;
	line-height: 24px;
}
.profile__name {
	margin-top: 5px;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.075em;
}
.profile__summary {
	font-size: 14px;
	line-height: 28px;
}


/* slick
----------------------------------------------- */

.slick-slide {
	outline: none;
}


/* pc
----------------------------------------------- */

@media print, screen and (min-width:1000px) {


	/* underlink
	----------------------------------------------- */

	.underlink:after {
		transition-property: opacity;
		transition-duration: 0.25s;
	}

	/* hover */

	.underlink:hover:after {
		opacity: 1;
	}


	/* button
	----------------------------------------------- */

	.button:before,
	.button:after,
	.button__label {
		transition-property: color, opacity;
		transition-duration: 0.5s;
	}

	/* hover */

	.button:hover:before,
	a:hover .button:before {
		opacity: 1;
	}
	.button:hover:after,
	a:hover .button:after {
		background-position: 0 0;
	}
	.button:hover .button__label,
	a:hover .button__label {
		color: #222;
	}

	.button--reset:hover:before {
		opacity: 0;
	}
	.button--reset:hover:after {
		background-position: -16px 0;
	}
	.button--reset:hover .button__label {
		color: #fff;
	}


	/* linebutton
	----------------------------------------------- */

	.linebutton:before {
		transition-property: opacity;
		transition-duration: 0.5s;
	}

	/* hover */

	.linebutton:hover:before {
		opacity: 1;
	}


	/* morebutton
	----------------------------------------------- */

	.morebutton:before,
	.morebutton__label {
		transition-property: color, opacity;
		transition-duration: 0.5s;
	}

	/* hover */

	.morebutton:hover:before,
	a:hover .morebutton:before {
		opacity: 1;
	}
	.morebutton:hover .morebutton__label,
	a:hover .morebutton__label {
		color: #222;
	}


	/* pagebutton
	----------------------------------------------- */

	/* hover */

	.pagebutton__label:hover:before {
		background-position: -24px -12px;
	}
	.pagebutton__label:hover:after {
		background-position: -24px 0;
	}


	/* closebutton
	----------------------------------------------- */

	.closebutton {
		transition-property: opacity;
		transition-duration: 0.5s;
	}
	.closebutton:hover {
		opacity: 0.3;
	}


	/* menu
	----------------------------------------------- */

	.menu__icon:before,
	.menu__icon:after {
		transition-property: transform;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
		will-change: transform;
	}

	/* hover */

	.menu:hover .menu__icon:before,
	.menu:hover .menu__icon:after {
		transform: rotate(0deg);
	}


	/* searchmenu
	----------------------------------------------- */

	/* hover */

	.searchmenu__tag label:hover {
		color: #222;
		border-color: #222;
	}


	/* tag
	----------------------------------------------- */

	.tag__list a {
		transition-property: color, background-color;
		transition-duration: 0.2s;
	}

	/* hover */

	.tag__list a:hover {
		color: #222;
		background-color: #fff;
	}


	/* share
	----------------------------------------------- */

	.share__button {
		transition-property: opacity;
		transition-duration: 0.2s;
	}

	/* hover */

	.share__button:hover {
		opacity: 0.6;
	}


	/* linker
	----------------------------------------------- */

	.linker:hover {
		background-size: 100% 1px;
	}
	.linker:hover[target="_blank"],
	.linker:hover[href$=".pdf"] {
		background-size: calc(100% - 24px) 1px;
	}


	/* category
	----------------------------------------------- */

	.category {
	}
	.category__lists {
		font-size: 0;
	}
	.category__list {
		margin: 32px 0 0;
	}
	.category__list:first-child {
		margin: 0;
	}
	.category__list a {
		display: block;
		position: relative;
		height: 42px;
		font-size: 15px;
		font-weight: 700;
		letter-spacing: 0.075em;
		border-bottom: 2px solid #ececec;
		z-index: 1;
	}
	.category__list a:before {
		display: block;
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		width: 12px;
		height: 12px;
		background-image: url(../img/common/button_arrow.svg);
		background-position: 0 0;
		background-repeat: no-repeat;
		background-size: 48px 24px;
		z-index: 1;
	}
	.category__list a:after {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2px;
		height: 2px;
		background-color: #222;
		z-index: 1;
		opacity: 0;
		transition-property: opacity;
		transition-duration: 0.5s;
	}

	/* hover */

	.category__list a:hover:after,
	.category__list--current a:after {
		opacity: 1;
	}
	.category__list a:hover:before {
		background-position: 0 0;
	}


	/* archive
	----------------------------------------------- */

	.archive__list span:after {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		right: 2px;
		bottom: -8px;
		height: 1px;
		background-color: #616161;
		z-index: 1;
		opacity: 0;
		transition-property: opacity;
		transition-duration: 0.25s;
	}

	/* hover */

	.archive__label:hover:after {
		background-position: 0 -12px;
	}
	.archive__list a:hover span:after {
		opacity: 1;
	}


	/* articlepanel
	----------------------------------------------- */

	.articlepanel a {
		transition-property: transform, box-shadow;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
		will-change: transform, box-shadow;
	}

	/* hover */

	.articlepanel a:hover {
		transform: translateY(-10px);
		box-shadow: 0 10px 20px rgba(0,0,0,0.2);
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}


	/* page
	----------------------------------------------- */

	/* hover */

	.page__list a:hover {
		color: #ff0000;
	}
	.page__arrow--prev a:hover:after {
		background-position: -24px -12px;
	}
	.page__arrow--next a:hover:after {
		background-position: -24px 0;
	}


	/* member
	----------------------------------------------- */

	.member__list a {
		transition-property: border-color;
		transition-duration: 0.5s;
	}

	/* hover */

	.member__list a:hover {
		border-color: #222;
	}


	/* memberdetail
	----------------------------------------------- */

	.memberdetail__close span:after {
		transition-property: opacity;
		transition-duration: 0.25s;
	}

	/* hover */

	.memberdetail__close span:hover:after {
		opacity: 0.6;
	}

	/* initial */

	.memberdetail {
		pointer-events: none;
		visibility: hidden;
	}
	.memberdetail__mask {
		opacity: 0;
	}
	.memberdetail__contents {
		opacity: 0;
		transform: scale(0.95);
	}
	.memberdetail__content {
		display: none;
	}
	.memberdetail__close span {
		transform: translateX(-100%);
	}

	/* current */

	.memberdetail__content--current {
		display: block;
	}

	/* ready */

	.js-memberdetail-ready {
		transition-property: visibility;
		transition-duration: 0s;
		transition-delay: 0.5s;
	}
	.js-memberdetail-ready .memberdetail__mask {
		transition-property: opacity;
		transition-duration: 0.25s;
	}
	.js-memberdetail-ready .memberdetail__contents {
		transition-property: opacity, transform;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
		will-change: opacity, transform;
	}
	.js-memberdetail-ready .memberdetail__close span {
		transition-property: transform;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
		will-change: transform;
	}

	/* open */

	.js-memberdetail-open {
		pointer-events: auto;
		visibility: visible;
		transition-delay: 0s;
	}
	.js-memberdetail-open .memberdetail__mask {
		opacity: 1;
	}
	.js-memberdetail-open .memberdetail__contents {
		opacity: 1;
		transform: scale(1);
	}
	.js-memberdetail-open .memberdetail__close span {
		transform: translateX(0);
		transition-duration: 0.65s;
	}


	/* meter
	----------------------------------------------- */

	/* hover */

	.meter__page--current:hover:after {
		background-position: -24px -12px;
	}
	.meter__page--total:hover:after {
		background-position: -24px 0;
	}


	/* casestudies
	----------------------------------------------- */

	.casestudies__list a {
		transition-property: transform, box-shadow;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
		will-change: transform, box-shadow;
	}

	/* hover */

	.casestudies__list a:hover {
		transform: translateY(-10px);
		box-shadow: 0 10px 20px rgba(0,0,0,0.2);
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}


	/* panel
	----------------------------------------------- */

	.panel a {
		transition-property: transform, box-shadow;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
		will-change: transform, box-shadow;
	}

	/* hover */

	.panel a:hover {
		transform: translateY(-10px);
		box-shadow: 0 10px 20px rgba(0,0,0,0.2);
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}


}


/* mobile
----------------------------------------------- */

@media only screen and (max-width:999px) {


	/* button
	----------------------------------------------- */

	.button__label {
		margin: 0 45px 0 20px;
		height: 46px;
		font-size: 14px;
		line-height: 19px;
	}


	/* linebutton
	----------------------------------------------- */

	.linebutton__label {
		margin: 0 50px 0 0;
		height: 60px;
		font-size: 14px;
		font-weight: 400;
		line-height: 20px;
	}


	/* pagebutton
	----------------------------------------------- */

	.pagebutton__label {
		font-size: 14px;
		line-height: 24px;
	}
	.pagebutton__label:before,
	.pagebutton__label:after {
		margin: 0 5px 3px;
	}


	/* menu
	----------------------------------------------- */

	.menu__icon {
		width: 25px;
		height: 18px;
	}
	.menu__icon:before,
	.menu__icon:after,
	.menu__bar {
		margin: -1px 0 0;
		height: 2px;
	}
	.menu__bar {
		transform: scaleX(1);
	}
	.menu__icon:before {
		transform: rotate(40deg);
		transform: rotate(0deg);
	}
	.menu__icon:after {
		transform: rotate(-40deg);
		transform: rotate(0deg);
	}
	.menu__label {
		margin: 5px 0 0;
		font-size: 10px;
		height: 10px;
		overflow: hidden;
	}

	/* ready */

	.menu--ready .menu__icon,
	.menu--ready .menu__icon:before,
	.menu--ready .menu__icon:after,
	.menu--ready .menu__bar,
	.menu--ready .menu__label {
		transition-property: margin, width, height, color, background-color, transform;
		transition-duration: 0.25s;
		transition-delay: 0s;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}
	.menu--ready .menu__label {
		transition-duration: 0.5s;
		transition-delay: 0.5s, 0.5s, 0.5s, 0s, 0.5s;
	}

	/* open */

	.menu--open .menu__icon {
		width: 20px;
		height: 20px;
	}
	.menu--open .menu__icon:before {
		transform: rotate(0deg) translateY(-9px);
	}
	.menu--open .menu__icon:after {
		transform: rotate(0deg) translateY(9px);
	}
	.menu--open .menu__bar {
		transform: scaleX(1);
	}
	.menu--open .menu__label {
		margin: 0;
		height: 0;
		transition-delay: 0s;
	}

	/* close */

	.menu--close .menu__icon:before {
		transform: rotate(40deg);
	}
	.menu--close .menu__icon:after {
		transform: rotate(-40deg);
	}
	.menu--close .menu__bar {
		transform: scaleX(0);
	}

	/* transparent */

	.body--transparent .menu__icon:before,
	.body--transparent .menu__icon:after,
	.body--transparent .menu__bar {
		background-color: #fff;
	}

	.header--open .menu__icon:before,
	.header--open .menu__icon:after,
	.header--open .menu__bar {
		background-color: #fff;
	}
	.header--open .menu__label {
		color: #fff;
	}


	/* title
	----------------------------------------------- */

	.title {
		padding: 20px 0 0;
	}
	.title__label {
		font-size: 40px;
		line-height: 40px;
	}
	.title__summary {
		margin: 10px 0 0;
		font-size: 16px;
		line-height: 26px;
	}

	/* small */

	.title--small {
		padding: 20px 0 0;
	}
	.title--small .title__label {
		font-size: 36px;
		line-height: 40px;
	}
	.title--small .title__summary {
		margin: 5px 0 0;
	}


	/* subtitle
	----------------------------------------------- */

	.subtitle {
		margin: 50px 0 0;
	}
	.subtitle__label {
		padding: 20px 0 0;
		font-size: 23px;
		line-height: 36px;
	}


	/* searchmenu
	----------------------------------------------- */

	.searchmenu__label {
		padding: 0 0 15px;
		font-size: 16px;
	}
	.searchmenu__label--noborder {
		padding: 0;
	}

	/* tag */

	.searchmenu__tag {
		margin: 0 0 0 -20px;
		padding: 10px 0 0;
	}
	.searchmenu__tag li {
		margin: 15px 0 0 20px;
	}
	.searchmenu__tag label {
		padding: 0 20px;
		height: 27px;
		font-size: 14px;
		line-height: 23px;
		border-radius: 27px;
	}

	/* checkbox */

	.searchmenu__checkbox {
		margin: 0;
		padding: 12px 0 0;
	}
	.searchmenu__checkbox li {
		display: block;
		margin: 18px 0 0;
	}
	.searchmenu__checkbox label {
		padding: 0 0 0 32px;
		font-size: 14px;
		line-height: 24px;
	}
	.searchmenu__checkbox label:before {
		top: 0;
		width: 20px;
		height: 20px;
	}
	.searchmenu__checkbox label:after {
		top: 4px;
		left: 4px;
		width: 14px;
		height: 14px;
		background-size: 14px;
	}


	/* pagecover
	----------------------------------------------- */

	.pagecover__outer {
		margin: 0 20px;
	}
	.pagecover__inner {
		max-width: initial;
		height: 250px;
	}
	.pagecover__header {
		padding: 0 0 30px;
	}
	.pagecover__title {
		margin: 12px 0 0;
		font-size: 36px;
	}
	.pagecover__title small {
		padding: 5px 0 0;
		font-size: 28px;
	}

	/* large */

	.pagecover--large .pagecover__inner {
		height: 250px;
	}


	/* pagetitle
	----------------------------------------------- */

	.pagetitle {
		min-height: 145px;
	}
	.pagetitle__text {
		margin: 0;
		font-size: 36px;
		line-height: 46px;
	}


	/* pagesubject
	----------------------------------------------- */

	.pagesubject {
		padding: 60px 0 60px;
	}
	.pagesubject__categorylabel {
		margin: 0 0 22px;
	}
	.pagesubject__copy {
		margin: 15px 0 0;
		font-size: 18px;
	}
	.pagesubject__tag {
		margin: 15px 0 0;
	}

	/* large */

	.pagesubject--large {
		top: 0;
		padding: 30px 0 50px;
	}
	.pagesubject--large:after {
		display: none;
	}


	/* documentsubject
	----------------------------------------------- */

	.documentsubject {
		padding: 60px 0 0;
	}
	.documentsubject__title {
		font-size: 30px;
		line-height: 48px;
	}


	/* subject
	----------------------------------------------- */

	.subject {
		font-size: 23px;
		letter-spacing: 0.055em;
		line-height: 37px;
	}

	/* large */

	.subject--large {
		font-size: 23px;
	}


	/* textline
	----------------------------------------------- */

	.textline {
		font-size: 14px;
		letter-spacing: 0.065em;
		line-height: 32px;
	}


	/* categorylabel
	----------------------------------------------- */

	.categorylabel {
		width: 102px;
	}


	/* tag
	----------------------------------------------- */

	.tag__lists {
		margin: 0 0 0 -10px;
	}
	.tag__list {
		margin: 10px 0 0 10px;
	}
	.tag__list a {
		padding: 0 10px;
		min-width: 50px;
		height: 25px;
		font-size: 12px;
		line-height: 23px;
		border-radius: 25px;
	}


	/* linker
	----------------------------------------------- */

	.linker {
		font-size: 14px;
	}


	/* category
	----------------------------------------------- */

	.category {
		margin: 0 -20px;
		border-bottom: 2px solid #f3f3f3;
	}
	.category__lists {
		display: flex;
		justify-content: space-between;
		padding: 0 20px;
		font-size: 0;
	}
	.category__list a {
		display: inline-block;
		position: relative;
		height: 37px;
		font-size: 15px;
		font-weight: 700;
		white-space: nowrap;
		letter-spacing: 0.075em;
		z-index: 1;
	}
	.category__list a:after {
		display: block;
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: -2px;
		height: 5px;
		background-color: #222;
		z-index: 1;
		transform: scaleX(0);
	}

	/* current */

	.category__list--current a:after {
		transform: scaleX(1);
	}


	/* archive
	----------------------------------------------- */

	.archive__title {
		font-size: 14px;
	}
	.archive__label {
		margin: 14px 0 0;
		padding: 0 25px;
		height: 42px;
		font-size: 14px;
		line-height: 39px;
		border-width: 1px;
	}
	.archive__label:after {
		right: 20px;
	}
	.archive__list:first-child {
		padding-top: 10px;
	}
	.archive__list:last-child {
		padding-bottom: 10px;
	}
	.archive__list span {
		font-size: 14px;
	}


	/* news
	----------------------------------------------- */

	.news__list {
		padding: 25px 0 20px;
	}
	.news__date {
		margin: 0 25px 0 0;
		font-size: 15px;
	}
	.news__subject {
		margin: 15px 0 0;
	}


	/* pageinfo
	----------------------------------------------- */

	.pageinfo {
		margin: -35px 0 20px;
	}
	.pageinfo--bottom {
		margin-top: 30px;
	}
	.pageinfo__date,
	.pageinfo__pdf .linker {
		font-size: 12px;
	}
	.pageinfo__date {
		margin: 0 0 20px;
	}
	.pageinfo__pdf {
		margin: 0 0 20px;
	}


	/* pageback
	----------------------------------------------- */

	.pageback {
		margin: 40px auto 0;
		width: 220px;
	}


	/* table
	----------------------------------------------- */

	.table {
		margin: 15px 0 0;
	}
	.table__tr {
		display: block;
		padding: 20px 0;
	}
	.table__th,
	.table__td {
		padding: 0;
	}
	.table__th,
	.table__td {
		width: auto;
	}

	/* rowspan */

	.table__tr--rowspan {
		margin: 0;
		padding-top: 0;
		border-top: none;
	}

	/* horizon */

	.table__dl--horizon {
		display: block;
		margin: 0;
	}
	.table__dl--horizon dt,
	.table__dl--horizon dd {
		padding: 0;
	}
	.table__dl--horizon dt {
		padding: 15px 0 0;
	}
	.table__dl--horizon dt,
	.table__dl--horizon dd {
		width: auto;
	}

	/* wide */

	.table--wide .table__th,
	.table--wide .table__td {
		width: auto;
	}

	.table__dl--wide dt,
	.table__dl--wide dd {
		width: auto;
	}

	/* vertical */

	.table__dl--vertical {
		margin: 0;
	}
	.table__dl--vertical dt {
		padding: 15px 0 0;
	}

	/* history */

	.table--history .table__th,
	.table--history .table__td {
		width: auto;
	}
	.table--history .table__tr--rowspan {
		margin: auto;
		width: auto;
	}


	/* articlepanel
	----------------------------------------------- */

	.articlepanel a {
		padding: 0 0 30px;
		height: calc(100% - 30px);
	}
	.articlepanel__image {
		height: 223px;
	}
	.articlepanel__contents {
		height: 27px;
		color: #fff;
		font-size: 12px;
		line-height: 26px;
	}
	.articlepanel__subject {
		margin: 25px 30px 0;
		padding: 0;
		line-height: 27px;
	}
	.articlepanel__title {
		margin: 20px 30px 0;
	}
	.articlepanel__copy {
		margin: 0 30px;
	}
	.articlepanel__summary {
		margin: 5px 30px 0;
		padding: 0 0 25px;
	}
	.articlepanel__tag,
	.articlepanel__button {
		margin: auto 30px 0;
	}


	/* page
	----------------------------------------------- */

	.page__list a {
		padding: 0 10px;
		height: 40px;
		font-size: 16px;
	}
	.page__arrow a {
		width: 35px;
		height: 40px;
	}


	/* member
	----------------------------------------------- */

	.member {
		display: block;
		margin: -40px 0 0;
	}
	.member__list {
		margin: 60px 0 0;
		width: auto;
	}
	.member__name {
		font-size: 18px;
	}
	.member__post {
		margin: 15px 0 0;
	}

	/* table */

	.member + .table {
		margin-top: 80px;
	}


	/* memberdetail
	----------------------------------------------- */

	.memberdetail__inner {
		display: block;
		margin: 0 0 0 50px;
		min-height: 100%;
		height: auto;
		background-color: #fff;
	}
	.memberdetail__contents {
		width: auto;
		height: 100%;
		background-color: transparent;
	}
	.memberdetail__prof {
		padding: 30px;
	}
	.memberdetail__name {
		margin: 0;
		font-size: 20px;
	}
	.memberdetail__post {
		margin: 15px 0 0;
	}
	.memberdetail__text {
		margin: 30px 0 0;
	}
	.memberdetail__close {
		position: fixed;
		top: 0;
		left: 0;
	}

	/* initial */

	.memberdetail {
		pointer-events: none;
		visibility: hidden;
	}
	.memberdetail__mask {
		opacity: 0;
	}
	.memberdetail__inner,
	.memberdetail__contents {
		transform: translateX(100%);
	}
	.memberdetail__contents {
		transform: translateX(50px);
	}
	.memberdetail__content {
		display: none;
	}
	.memberdetail__close {
		transform: translateY(-100%);
	}

	/* current */

	.memberdetail__content--current {
		display: block;
	}

	/* ready */

	.js-memberdetail-ready {
		transition-property: visibility;
		transition-duration: 0s;
		transition-delay: 0.5s;
	}
	.js-memberdetail-ready .memberdetail__mask {
		transition-property: opacity;
		transition-duration: 0.25s;
	}
	.js-memberdetail-ready .memberdetail__inner,
	.js-memberdetail-ready .memberdetail__contents {
		transition-property: transform;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
		will-change: transform;
	}
	.js-memberdetail-ready .memberdetail__contents {
		transition-duration: 0.85s;
	}
	.js-memberdetail-ready .memberdetail__close {
		transition-property: transform;
		transition-duration: 0.5s;
		transition-delay: 0s;
		transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
		will-change: transform;
	}

	/* open */

	.js-memberdetail-open {
		pointer-events: auto;
		visibility: visible;
		transition-delay: 0s;
	}
	.js-memberdetail-open .memberdetail__mask {
		opacity: 1;
	}
	.js-memberdetail-open .memberdetail__inner,
	.js-memberdetail-open .memberdetail__contents {
		transform: translateX(0);
	}
	.js-memberdetail-open .memberdetail__close {
		transform: translateY(0);
		transition-delay: 0.25s;
	}


	/* points
	----------------------------------------------- */

	.points {
		margin: 30px 0 0;
	}
	.points__list {
		padding: 20px 0 30px;
	}
	.points__list:last-child {
		padding-bottom: 0;
	}
	.points__list:before {
		position: static;
		font-size: 30px;
	}
	.points h3 {
		margin: 0;
		padding: 10px 0 0;
		font-size: 21px;
		line-height: 30px;
	}
	.points p {
		margin: 15px 0 0 5px;
		line-height: 32px;
	}
	.points li {
		margin: 15px 0 0 5px;
		padding: 0 0 0 30px;
		line-height: 32px;
	}
	.points li:after {
		top: 9px;
	}


	/* numerical
	----------------------------------------------- */

	.numerical {
		display: block;
		margin: 0;
		padding: 15px 0 30px;
	}
	.numerical__list {
		margin: 20px 0 0;
		padding: 50px 0 40px;
		width: auto;
	}


	/* meter
	----------------------------------------------- */

	.meter {
		justify-content: space-between;
		margin: 0 20px;
	}
	.meter__page {
		margin: 0;
		width: 40px;
	}
	.meter__page--current {
		text-align: right;
	}
	.meter__page--total {
		text-align: left;
	}
	.meter__page--current:after {
		left: 0;
	}
	.meter__page--total:after {
		right: 0;
	}
	.meter__progress {
		margin: 0 10px;
		width: calc(100% - 100px);
		background-color: #ececec;
	}


	/* lineup
	----------------------------------------------- */

	.lineup {
		padding: 0 0 35px;
	}
	.lineup__items {
		margin: 0 -10px;
	}
	.lineup__item {
		display: block;
		position: relative;
		margin: 35px 10px 0;
		z-index: 1;
	}
	.lineup__column:first-child,
	.lineup__column:last-child {
		width: auto;
	}
	.lineup__column:last-child {
		padding: 0 0 85px;
	}
	.lineup__image {
		position: static;
		height: 190px;
	}
	.lineup__name {
		margin: 30px 0 0;
		font-size: 23px;
		line-height: 43px;
	}
	.lineup__copy {
		margin: 0;
		font-size: 18px;
		line-height: 29px;
	}
	.lineup__summary {
		margin: 15px 0 0;
	}
	.lineup__button {
		position: absolute;
		left: 50%;
		bottom: 0;
		margin: 0 0 0 -110px;
		width: 220px;
	}


	/* casestudies
	----------------------------------------------- */

	.casestudies__lists {
		display: block;
		margin: -5px -40px 0;
	}
	.casestudies--col2 .casestudies__list, /* 20241111追加 */
	.casestudies__list {
		margin: 35px 10px 15px;
		width: auto;
	}
	.casestudies__list a,
	.casestudies__inner {
		height: calc(100% - 35px);
	}
	.casestudies__image {
		height: 196px;
	}
	.casestudies__image img {
		height: 196px;
	}
	.casestudies__subject {
		margin: 25px 30px 0;
	}
	.casestudies__client {
		margin: 10px 30px 0;
	}
	.casestudies__summary {
		margin: 20px 30px 0;
	}
	.casestudies__morebutton {
		margin: auto auto 0;
		max-width: 220px;
	}
	.casestudies__button {
		margin: 40px auto 0;
		width: 220px;
	}
	.casestudies__meter {
		margin: 15px 0 0;
	}

	/* col2 */

	.casestudies--col2 .casestudies__image {
		height: 196px;
	}


	/* insight
	----------------------------------------------- */

	.insight__lists {
		margin: 15px -40px 0;
	}
	.insight__list {
		margin: 15px 10px;
		max-width: initial;
	}
	.insight__list a {
		display: block;
	}
	.insight__column:first-child,
	.insight__column:last-child {
		width: auto;
	}
	.insight__column:last-child {
		padding: 25px 30px 30px;
	}
	.company__insight__column {
		padding:0px;
	}
	.insight__image {
		position: static;
		height: 196px;
	}
	.insight__subject {
		font-size: 20px;
		line-height: 30px;
	}
	.insight__summary {
	}
	.insight__copy {
		font-size: 16px;
		line-height: 26px;
	}
	.insight__tag {
	}
	.insight__meter {
		margin: 15px 0 0;
	}


	/* specialist
	----------------------------------------------- */

	.specialist {
		padding: 0 0 35px;
	}
	.specialist__lists {
		margin: 25px -10px 0;
	}
	.specialist__list {
		margin: 0 10px;
		width: calc(50% - 20px);
	}
	.specialist__name {
		margin: 20px 0 0;
	}
	.specialist__meter {
		margin: 30px 0 0;
	}


	/* related
	----------------------------------------------- */

	.related__lists {
		display: block;
		margin: 0 -10px;
		padding: 5px 0 0;
	}
	.related__list {
		margin: 15px 10px;
		width: auto;
	}
	.related__meter {
		margin: 20px 0 0;
	}
	.related__button {
		margin: 40px auto 0;
		width: 220px;
	}

	.related.js-spslider .related__lists,
	.related.js-related .related__lists {
		margin: 0 -40px;
	}


	/* panel
	----------------------------------------------- */

	.panel a {
		padding: 35px 0 100px;
		height: calc(100% - 135px);
	}
	.panel__header {
		display: block;
	}
	.panel__icon {
		margin: 10px auto 0;
		width: 90px;
	}
	.panel__subject {
		margin: 0 30px;
		font-size: 20px;
		line-height: 25px;
	}
	.panel__label {
		margin: 5px 30px 0;
		font-size: 14px;
		line-height: 19px;
	}
	.panel__summary {
		margin: 5px 30px 0;
		line-height: 29px;
	}
	.panel__morebutton {
		bottom: 35px;
		margin: 0 0 0 -110px;
		width: 220px;
	}


	/* capabilities
	----------------------------------------------- */

	.capabilities {
		padding: 0;
	}
	.capabilities__summary {
		line-height: 32px;
	}
	.capabilities__lists {
		margin: 0 -40px;
		padding: 25px 0 0;
	}
	.capabilities__list {
		margin: 15px 10px;
	}
	.capabilities__meter {
		margin: 15px 0 0;
	}


	/* customerinfo
	----------------------------------------------- */

	.customerinfo {
		margin: 30px 0 0;
		padding: 30px 0;
	}
	.customerinfo__columns {
		display: block;
		margin: 0 30px;
	}
	.customerinfo__column:first-child,
	.customerinfo__column:last-child {
		width: auto;
	}
	.customerinfo__column:last-child {
		margin: 30px 0 0;
		border-top: 1px solid #ececec;
	}
	.customerinfo__column:last-child:after {
		display: none;
	}
	.customerinfo__name {
		margin: 25px 0 0;
		font-size: 18px;
		line-height: 29px;
	}


	/* faq
	----------------------------------------------- */

	.faq {
		padding: 0;
	}
	.faq__list {
		margin: 35px 0 0;
	}
	.faq__list dl {
		padding: 5px 0 0;
	}
	.faq__list dt,
	.faq__list dd {
		margin: 20px 0 0;
		padding: 0 0 0 30px;
		font-size: 18px;
		line-height: 28px;
	}
	.faq__list dt:before,
	.faq__list dd:before {
		top: 1px;
		font-size: 23px;
	}
	.faq__list dd small {
		margin: 15px 0 0;
	}


	/* catalogbox
	----------------------------------------------- */

	.catalogbox {
		margin: 80px 0 0;
		padding: 50px 30px;
		max-width: initial;
	}
	.catalogbox__title {
		font-size: 18px;
	}
	.catalogbox__text {
		margin: 18px 0 0;
	}
	.catalogbox__button {
		margin: 32px auto 0;
		max-width: 220px;
		width: 100%;
	}


	/* address
	----------------------------------------------- */

	.address {
		margin: 30px 0 0;
		padding: 25px 30px;
	}
	.address__text,
	.address__text {
		font-size: 14px;
	}
	.address__text img {
		height: 14px;
	}
	.address + .address {
		margin-top: 20px;
	}


	/* clientblock
	----------------------------------------------- */

	.clientblock {
		margin: 20px 0 0;
	}
	.clientblock__list {
		margin: -10px 0 0 -10px;
	}
	.clientblock__list li {
		margin: 10px 0 0 10px;
		width: calc(50% - 10px);
	}


	/* profile
	----------------------------------------------- */

	.profile {
		padding-bottom: 0;
	}
	.profile__columns {
		display: block;
		margin: 0 25px;
		padding: 25px 0;
	}
	.profile__column:first-child,
	.profile__column:last-child {
		width: auto;
	}
	.profile__post {
		margin-top: 15px;
	}
	.profile__name {
		margin-top: 10px;
		font-size: 17px;
	}
	.profile__summary {
		margin-top: 15px;
		font-size: 16px;
		line-height: 32px;
	}


}


/* tablet
----------------------------------------------- */

@media screen and (min-width:1000px) and (max-width: 1169px) {


	/* insight
	----------------------------------------------- */

	.insight__lists {
		margin: 40px -70px 0;
	}
	.insight__list {
		margin: 15px 20px;
		max-width: initial;
	}

}


/* tablet
----------------------------------------------- */

@media screen and (min-width:641px) and (max-width: 1000px) {


	/* table
	----------------------------------------------- */

	.table__tr {
		display: flex;
	}
	.table__th,
	.table__td {
		padding: 20px 0;
	}
	.table__th {
		width: 145px;
	}
	.table__td {
		width: calc(100% - 175px);
	}

	/* rowspan */

	.table__tr--rowspan {
		margin: 0 0 0 175px;
		padding: 20px 0;
		border-top: 1px solid #ececec;
	}

	/* horizon */

	.table__dl--horizon {
		display: flex;
		margin: -15px 0 0;
	}
	.table__dl--horizon dt,
	.table__dl--horizon dd {
		padding: 15px 0 0;
	}
	.table__dl--horizon dt {
		width: 200px;
	}
	.table__dl--horizon dd {
		width: calc(100% - 240px);
	}

	/* wide */

	.table--wide .table__th {
		width: 200px;
	}
	.table--wide .table__td {
		width: calc(100% - 230px);
	}

	.table__dl--wide dt {
		width: 250px;
	}
	.table__dl--wide dd {
		width: calc(100% - 290px);
	}

	/* history */

	.table--history .table__th {
		width: 115px;
	}
	.table--history .table__td {
		width: calc(100% - 145px);
	}
	.table--history .table__tr--rowspan {
		margin: 0 0 0 145px;
	}


	/* memberdetail
	----------------------------------------------- */

	.memberdetail__close.sp {
		display: block;
	}


	/* articlepanel
	----------------------------------------------- */

	.articlepanel {
		height: 100%;
	}
	.articlepanel a {
		padding: 0 0 30px;
		height: calc(100% - 30px);
	}


	/* member
	----------------------------------------------- */

	.member {
		display: flex;
		margin-left: -20px;
	}
	.member__list {
		margin-left: 20px;
		width: calc(33.33% - 20px);
	}


	/* numerical
	----------------------------------------------- */

	.numerical {
		display: flex;
		margin: 0 0 0 -20px;
	}
	.numerical__list {
		margin: 20px 0 0 20px;
		width: calc(33.33% - 20px);
	}


	/* meter
	----------------------------------------------- */

	.meter {
		margin: auto;
		width: 210px;
	}


	/* lineup
	----------------------------------------------- */

	.lineup__meter {
		display: block;
	}


	/* casestudies
	----------------------------------------------- */

	.casestudies__lists {
		margin: 0 -10px;
	}
	.casestudies__meter {
		display: block;
	}


	/* insight
	----------------------------------------------- */

	.insight__lists {
		margin: 15px -10px 0;
	}


	/* specialist
	----------------------------------------------- */

	.specialist__list {
		width: calc(33.33% - 20px);
	}


	/* related
	----------------------------------------------- */

	.related__lists {
		margin: 0 -10px;
	}
	.related__meter {
		display: block;
	}


	/* related
	----------------------------------------------- */

	.related__lists {
		display: flex;
	}
	.related__list {
		width: calc(50% - 20px);
	}


	/* capabilities
	----------------------------------------------- */

	.capabilities__lists {
		margin: 0 -10px;
	}
	.capabilities__meter {
		display: block;
	}


	/* customerinfo
	----------------------------------------------- */

	.customerinfo__columns {
		display: flex;
	}
	.customerinfo__column:first-child {
		width: 200px;
	}
	.customerinfo__column:last-child:after {
		display: block;
	}
	.customerinfo__column:last-child {
		margin: 0;
		width: calc(100% - 300px);
		border-top: none;
	}


	/* catalogbox
	----------------------------------------------- */

	.catalogbox__text {
		text-align: center;
	}


	/* clientblock
	----------------------------------------------- */

	.clientblock__list li {
		width: calc(33.33% - 10px);
	}


}

