@charset "utf-8";


/* reset
----------------------------------------------- */

h1,h2,h3,h4,h5,p,ul,ol,li,dl,dt,dd,main,figure,figcaption {
	display: block;
	margin: 0;
	padding: 0;
	font-weight: normal;
	border: 0;
	outline: 0;
	line-height: 1;
	list-style: none;
}
a {
	margin: 0;
	padding: 0;
	outline: none;
}
img {
	vertical-align: top;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	-moz-user-drag: none;
	-ms-user-drag: none;
	user-drag: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
::selection {
	color: #fff;
	background: #000;
}


/* html
----------------------------------------------- */

html {
	margin: 0;
	padding: 0;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-print-color-adjust: exact;
}


/* body
----------------------------------------------- */

body {
	margin: 0;
	padding: 0;
	color: #000;
	font-family: 'Montserrat', sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	font-feature-settings: "palt";
	background-color: #fff;
}

/* disable */

.jsbody--disable {
	pointer-events: none;
}

/* a */

a {
	color: #000;
}


/* wrapper
----------------------------------------------- */

.wrapper {
	word-break: break-word;
}


/* loading
----------------------------------------------- */

.loading {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 5;
}
.loading__mask {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	z-index: 1;
}
.loading__icon {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	position: absolute;
	right: 40px;
	bottom: 40px;
	width: 11px;
	height: 11px;
	z-index: 1;
}
.loading__icon span {
	display: block;
	width: 5px;
	height: 5px;
	background-color: #000;
	opacity: 0;
	animation-name: loading;
	animation-duration: 0.4s;
	animation-iteration-count: infinite;
	animation-timing-function: linear;
}
.loading__icon span:nth-child(1) {
	animation-delay: -0.3s;
}
.loading__icon span:nth-child(2) {
	animation-delay: -0.2s;
}
.loading__icon span:nth-child(3) {
	animation-delay: -0.1s;
}
.loading__icon span:nth-child(4) {
	animation-delay: 0s;
}

/* start */

.js-loading-start .loading__mask {
	opacity: 0;
	transition-property: opacity;
	transition-duration: 0.5s;
}
.js-loading-start .loading__icon {
	opacity: 0;
	transition-property: opacity;
	transition-duration: 0.25s;
}

/* negative */

.js-negative .loading .loading__mask {
	background-color: #000;
}
.js-negative .loading .loading__icon span {
	background-color: #fff;
}


/* header
----------------------------------------------- */

.header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	background-color: #fff;
	z-index: 10;
	transition-property: background-color;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}
.header__inner {
	display: flex;
	align-items: center;
	margin: 0 40px;
	height: 100px;
}
.header__logo a {
	display: inline-block;
	position: relative;
	width: 196px;
	height: 41px;
	color: #000;
	font-size: 0;
	z-index: 1;
}
.header__logo svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	fill: currentColor;
	z-index: 1;
}


/* footer
----------------------------------------------- */

.footer {
	position: relative;
	color: #fff;
	background-color: #000;
	z-index: 1;
}
.footer a {
	color: #fff;
	text-decoration: none;
}
.footer__outer {
	margin: 0 40px;
}
.footer__inner {
	padding: 80px 0 35px;
	padding-bottom: 80px;
}
.footer__logo {
	text-align: center;
}
.footer__logo a {
	display: inline-block;
	position: relative;
	width: 196px;
	height: 41px;
	font-size: 0;
	z-index: 1;
}
.footer__logo svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	fill: #fff;
	z-index: 1;
}

.footer__siteinfo {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 75px 0 0;
}
.footer__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -20px 0 0;
	order: 2;
}
.footer__list {
	margin: 5px 0;
	font-size: 12px;
	letter-spacing: 0.04em;
}
.footer__list a {
	position: relative;
	padding: 0 20px;
	z-index: 1;
}
.footer__list a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin: -6px 0 0;
	width: 1px;
	height: 12px;
	background-color: #333;
	z-index: 1;
}
.footer__list:first-child a:after {
	display: none;
}
.footer__copyright {
	font-size: 12px;
}


/* sitelink
----------------------------------------------- */

.sitelink__inner {
	display: flex;
	justify-content: space-between;
	margin: auto;
	max-width: 1160px;
}
.sitelink__columns {
	display: flex;
	flex-wrap: wrap;
	padding: 12px 0 0;
	/*width: calc(100% - 200px);*/
	width: 100%;
}
.sitelink__column {
	width: 25%;
}
.sitelink__column_s {
	margin-right: 80px;
}
.sitelink__column_s:last-child {
	margin-right: 0;
}
.sitelink__label {
	margin: 38px 0 0;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.sitelink__lists {
	margin: 0 40px 0 0;
	padding: 10px 0 0;
}
.sitelink__list {
	margin: 5px 0 0;
	font-size: 12px;
	letter-spacing: 0.04em;
	line-height: 18px;
}
.sitelink__sublists {
	margin: 0 0 10px 12px;
}
.sitelink__sublist {
	margin: 5px 0 0;
	font-size: 12px;
	letter-spacing: 0.04em;
	line-height: 18px;
}

.sitelink__banners {
	padding: 30px 0 0;
	width: 200px;
}
.sitelink__banner {
	margin: 20px 0 0;
	background-color: #fff;
}
.sitelink__banner a {
	display: block;
}
.sitelink__banner img {
	width: 100%;
	height: auto;
}


/* pageup
----------------------------------------------- */

.pageup {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	cursor: pointer;
	z-index: 5;
}
.pageup:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background-color: #191919;
	z-index: 1;
}
.pageup__icon {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}

/* initial */

.js-pageup {
	position: fixed;
	top: auto;
	bottom: 20px;
	transform: rotate(0.09deg) scale(0);
}
.js-pageup .pageup__icon {
	opacity: 0;
	transform: translateY(10px);
}

/* ready */

.js-pageup-ready,
.js-pageup-ready .pageup__icon {
	transition-property: opacity, transform;
	transition-duration: 0.25s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}
.js-pageup-ready .pageup__icon {
	transition-duration: 0.25s;
}

/* start */

.js-pageup-start,
.js-pageup-start .pageup__icon {
	transform: rotate(0deg) scale(1) translateY(0);
	transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
.js-pageup-start .pageup__icon {
	opacity: 1;
	transition-delay: 0.25s;
}

/* fixed */

.js-pageup-fixed {
	position: absolute;
	top: 20px;
	bottom: auto;
}


/* conversion
----------------------------------------------- */

.conversion {
	position: relative;
	background-color: #000;
	overflow: hidden;
	z-index: 1;
}
.conversion__image {
	animation-name: breath;
	animation-duration: 4s;
	animation-iteration-count: infinite;
	display: block;
	font-size: 0;
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	z-index: 1;
	width: 100%;
}
.conversion__image img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}
.conversion__outer {
	position: relative;
	margin: 0 40px;
	z-index: 2;
}
.conversion__inner {
	display: flex;
	justify-content: space-between;
	margin: auto;
	padding: 80px 0;
	max-width: 1160px;
}
.conversion__title {
	color: #fff;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	letter-spacing: 0.04em;
}
.conversion__title em {
	display: block;
	margin: 0 0 20px;
	font-family: 'Montserrat', sans-serif;
	font-size: 32px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.04em;
}
.conversion__columns {
	display: flex;
	justify-content: space-between;
	max-width: 840px;
}
.conversion__column {
	margin: 0 0 0 60px;
	max-width:360px;
	width:50%;
}
.conversion__button a {
	display: block;
	position: relative;
	height: 80px;
	color: #000;
	text-decoration: none;
	background-color: #fff;
	z-index: 1;
}
.conversion__button a:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: right;
}
.conversion__label {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 18px;
	font-weight: 700;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	z-index: 2;
}
.conversion__icon {
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -6px 0 0;
	width: 8px;
	height: 13px;
	color: #000;
	z-index: 2;
}
.conversion__icon svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	z-index: 1;
	fill: currentColor;
}
.conversion__text {
	margin: 10px 0 0;
	color: #fff;
	font-size: 14px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0.08em;
	line-height: 21px;
}


/* entryhere
----------------------------------------------- */

.entryhere {
	position: relative;
	background-color: #000;
	overflow: hidden;
	z-index: 1;
}
.entryhere__image {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-image: url(../images/common/entryhere_bg_pc@2x.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
	animation-name: breath;
	animation-duration: 4s;
	animation-iteration-count: infinite;
}
.entryhere__outer {
	position: relative;
	margin: 0 40px;
	z-index: 2;
}
.entryhere__inner {
	margin: auto;
	padding: 60px 0;
	max-width: 1160px;
	color: #fff;
	text-align: center;
}
.entryhere__title {
	margin: -10px 0 0;
	font-size: 18px;
	font-weight: 500;
	letter-spacing: 0.04em;
}
.entryhere__title em {
	display: block;
	margin: 0 0 5px;
	font-family: 'Montserrat', sans-serif;
	font-size: 50px;
	font-weight: 700;
	font-style: normal;
	letter-spacing: 0.04em;
}
.entryhere__text {
	margin: 35px 0 0;
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 21px;
}
.entryhere__button {
	margin: 35px auto 0;
	width: 360px;
}
.entryhere__button a {
	display: block;
	position: relative;
	height: 80px;
	color: #000;
	text-decoration: none;
	background-color: #fff;
	z-index: 1;
}
.entryhere__button a:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: right;
}
.entryhere__label {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	font-size: 18px;
	font-weight: 700;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	z-index: 2;
}
.entryhere__icon {
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -6px 0 0;
	width: 13px;
	height: 13px;
	color: #000;
	z-index: 2;
}
.entryhere__icon svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	z-index: 1;
	fill: currentColor;
}


/* quickentry
----------------------------------------------- */

.quickentry {
	position: fixed;
	left: 0;
	bottom: 60px;
	z-index: 5;
}
.quickentry a {
	display: block;
	position: relative;
	width: 280px;
	height: 60px;
	color: #fff;
	background-color: #006fb0;
	z-index: 1;
}
.quickentry a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -6.5px 0 0;
	width: 13px;
	height: 13px;
	background-image: url(../images/common/ic_link_blank_white.svg);
	background-repeat: no-repeat;
	background-size: 13px 13px;
	z-index: 1;
}
.quickentry span {
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	left: 30px;
	right: 0;
	bottom: 1px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 0.04em;
	z-index: 1;
}
.quickentry em {
	display: block;
	margin: 0 10px -2px 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-style: normal;
}

/* initial */

.quickentry {
	transform: translateX(-100%);
}

/* ready */

.js-quickentry-ready {
	transition-property: transform;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
}

/* open */

.js-quickentry-open {
	transform: translate(0);
	transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
}


/* nav
----------------------------------------------- */

.nav {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
	z-index: 10;
}
.nav:after {
	display: block;
	content: "";
	position: absolute;
	top: 100px;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.7);
	z-index: 1;
}
.nav__lists {
	display: flex;
	position: absolute;
	top: 60px;
	right: 140px;
	z-index: 10;
}
.nav__label {
	position: relative;
	z-index: 1;
}
.nav__label:after,
.nav__list:first-child .nav__label:before {
	display: block;
	content: "";
	position: absolute;
	top: 2px;
	right: 0;
	width: 1px;
	height: 12px;
	background-color: #ccc;
	z-index: 1;
}
.nav__list:first-child .nav__label:before {
	left: 0;
	right: auto;
}
.nav__label a {
	display: block;
	position: relative;
	padding: 0 28px;
	height: 40px;
	font-size: 15px;
	font-weight: 700;
	text-indent: 0.08em;
	text-decoration: none;
	letter-spacing: 0.08em;
	z-index: 1;
}
.nav__label a:after {
	display: block;
	content: "";
	position: absolute;
	left: 2px;
	right: 2px;
	bottom: 0;
	height: 3px;
	background-color: #000;
	z-index: 1;
}
.nav__megamenu {
	position: fixed;
	top: 100px;
	left: 0;
	right: 0;
	z-index: 3;
}
.nav__sides {
	display: flex;
	position: absolute;
	top: 20px;
	right: 135px;
	pointer-events: auto;
	z-index: 10;
}
.nav__side {
	margin: 0 0 0 22px;
}
.nav__side a {
	display: inline-block;
	font-size: 12px;
	font-weight: 500;
	text-indent: 0.08em;
	text-decoration: none;
	letter-spacing: 0.08em;
}

.nav__contact {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #fff;
	pointer-events: auto;
	z-index: 10;
}
.nav__contact a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100px;
	height: 100px;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	text-decoration: none;
	background-color: #000;
}
.nav__contact svg {
	margin: 0 0 14px;
	width: 30px;
	height: 25px;
	fill: currentColor;
}


/* megamenu
----------------------------------------------- */

.megamenu {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.megamenu:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	z-index: 1;
}
.megamenu__outer {
	position: relative;
	margin: 0 40px;
	z-index: 2;
}
.megamenu__inner {
	display: flex;
	margin: auto;
	padding: 80px 0;
	max-width: 1160px;
}
.megamenu__title {
	width: 400px;
}
.megamenu__title a {
	display: inline-block;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-decoration: none;
}
.megamenu__title em {
	display: block;
	margin: -7px 0 7px;
	font-family: 'Montserrat', sans-serif;
	font-size: 40px;
	font-style: normal;
	letter-spacing: 0.04em;
}
.megamenu__title em:after {
	display: inline-block;
	content: "";
	margin: 0 0 7px 15px;
	width: 10px;
	height: 14px;
	background-image: url(../images/common/ic_arrow_black_right.svg);
	background-repeat: no-repeat;
	background-size: 10px 14px;
}
.megamenu__content {
	position: relative;
	width: calc(100% - 400px);
	z-index: 1;
}

.megamenu__lists {
	display: flex;
	flex-wrap: wrap;
	margin: -45px auto 0;
}
.megamenu__list {
	margin: 45px 0 0;
}
.megamenu__list a {
	display: inline-block;
	font-size: 14px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	text-decoration: none;
}
.megamenu__sublists {
	margin: 0 40px 0 14px;
	margin: 0 0 0 14px;
	padding: 15px 0 0;
}
.megamenu__sublist {
	margin: 15px 0 0;
}
.megamenu__sublist a {
	font-weight: 400;
	line-height: 20px;
}
.megamenu__no {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 160px;
	height: 24px;
	font-family: 'Montserrat', sans-serif;
	font-size: 12px;
	font-weight: 700;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	border: 1px solid #e5e5e5;
	box-sizing: border-box;
}
.megamenu__theme {
	width: calc(100% - 180px);
	font-size: 14px;
	font-weight: 400;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 20px;
}
.megamenu__dx {
	position: absolute;
	top: 0;
	right: 0;
	background-image: url(../images/common/dx_bg.png);
	z-index: 1;
}
.megamenu__dx:after {
	display: block;
	content: "";
	position: absolute;
	top: 7px;
	left: 7px;
	right: 7px;
	bottom: 7px;
	background-color: #fff;
	z-index: 1;
}
.megamenu__dx a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 160px;
	height: 80px;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	z-index: 2;
}

/* service */

.nav__list--service .megamenu__title {
	width: 400px;
}
.nav__list--service .megamenu__content {
	width: calc(100% - 400px);
}
.megamenu__lists--service {
	flex-wrap: nowrap;
	justify-content: flex-start;
	margin-left: 0;
}
.megamenu__lists--service .megamenu__list {
	width: auto;
}
.megamenu__lists--service .megamenu__list:not(:last-child) {
	margin-right: 10%;
}

/* casestudy */

.megamenu__lists--casestudy {
	display: block;
	margin: -45px 0 0;
}
.megamenu__lists--casestudy .megamenu__list {
	margin: 45px 0 0;
}
.megamenu__lists--casestudy .megamenu__list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 40px 0 0;
}

/* company */

.megamenu__lists--company {
	margin-right: 0;
	max-width: 100%;
}
.megamenu__lists--company .megamenu__list {
	width: 33.33%;
}
@media print, screen and (max-width:1200px) {
	.megamenu__content--company {
		width: 100%;
	}
}
@media print, screen and (max-width:1100px) {
	.megamenu__content--company {
		width: 100%;
	}
	.megamenu__content--company .megamenu__list a {
		font-size: 12px;
	}
}
/*
.megamenu__lists--company .megamenu__list:first-child {
	display: none;
}
*/

/* recruit */

.megamenu__lists--recruit {
	max-width: 650px;
}
.megamenu__lists--recruit .megamenu__list {
	width: 33.33%;
}


/* main
----------------------------------------------- */

.main {
	padding: 0 0 200px;
}


/* pagetitle
----------------------------------------------- */

.pagetitle {
	overflow: hidden;
}
.pagetitle__outer {
	margin: 0 40px;
}
.pagetitle__inner {
	margin: auto;
	padding: 220px 0 0;
	max-width: 1160px;
}
.pagetitle__inner--space {
	padding-top: 235px;
}
.servicePage .pagetitle__outer {
	margin: 0 40px 14px;
}
.servicePage .pagetitle__inner {
	padding: 206px 0 0;
}
.pagetitle__text {
	display: inline-block;
	position: relative;
	padding: 0 0 5px;
	font-size: 50px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 60px;
	overflow: hidden;
	z-index: 1;
}
.pagetitle__label {
	display: inline-block;
	position: relative;
	margin: 15px 0 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 700;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	overflow: hidden;
	z-index: 1;
}
.pagetitle__label a {
	text-decoration: none;
}
.pagetitle__info {
	display: flex;
	align-items: center;
	margin: 25px 0 0;
	font-size: 0;
}
.pagetitle__date {
	font-size: 14px;
	white-space: nowrap;
	letter-spacing: 0.04em;
}
.pagetitle__category {
	display: inline-block;
	margin: 0 0 0 18px;
	padding: 0 10px;
	min-width: 80px;
	color: #006fb0;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
}
.pagetitle__no {
	display: inline-block;
	position: relative;
	margin: 0 0 10px;
	font-family: 'Montserrat', sans-serif;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	z-index: 1;
}

/* initial */

.pagetitle__text span,
.pagetitle__label span,
.pagetitle__label a,
.pagetitle__no span {
	display: block;
	position: relative;
	color: #fff;
	z-index: 1;
}
.pagetitle__label a {
	display: inline-block;
	margin: 0 15px 10px 0;
}
.pagetitle__text:after,
.pagetitle__label:after,
.pagetitle__no:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	z-index: 1;
	transform: rotate(0.09deg) scaleX(0);
	transform-origin: left;
}

/* start */

.js-indicate-start.pagetitle .pagetitle__text:after,
.js-indicate-start.pagetitle .pagetitle__label:after,
.js-indicate-start.pagetitle .pagetitle__no:after {
	transform: rotate(0deg) scaleX(1);
	transition-property: transform;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
}

/* end */

.js-indicate-end.pagetitle .pagetitle__text:after,
.js-indicate-end.pagetitle .pagetitle__label:after,
.js-indicate-end.pagetitle .pagetitle__no:after {
	transform: rotate(0.09deg) scaleX(0);
	transform-origin: right;
	transition-duration: 0.5s;
}
.js-indicate-end.pagetitle .pagetitle__text span,
.js-indicate-end.pagetitle .pagetitle__label span,
.js-indicate-end.pagetitle .pagetitle__label a,
.js-indicate-end.pagetitle .pagetitle__no span {
	color: #000;
}


/* location
----------------------------------------------- */

.location {
	position: relative;
	margin: 40px 0 0;
	z-index: 2;
}
.location__outer {
	margin: 0 40px;
}
.location__inner {
	margin: auto;
	max-width: 1160px;
	font-size: 12px;
	text-align: right;
	letter-spacing: 0.08em;
}
.location__inner a {
	text-decoration: none;
}
.location__current {
	font-weight: 700;
	pointer-events: none;
}

/* footer */

.location--footer {
	display: none;
}


/* pageheader
----------------------------------------------- */

.pageheader {
	position: relative;
	margin: 80px 0 0;
	min-height: 480px;
	overflow: hidden;
	z-index: 1;
}
.pageheader__outer {
	margin: 0 40px;
}
.pageheader__inner {
	display: flex;
	justify-content: flex-end;
	position: relative;
	margin: auto;
	max-width: 1160px;
	z-index: 1;
}
.pageheader__image {
	position: absolute;
	top: 0;
	right: 0;
	left: 0;
	height: 480px;
	background-image: url(../images/company/dx_header_pc@2x.jpg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}
.pageheader__summary {
	margin: 320px 0 0;
	padding: 40px 0 35px;
	min-height: 85px;
	width: 580px;
	background-color: #fff;
}
.pageheader__text {
	margin: 0 50px;
	font-size: 16px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0.08em;
	line-height: 40px;
}
.pageheader__text--title {
	margin-bottom: 5px;
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 0.03em;
	line-height: 42px;
}
.pageheader__text--caption {
	margin-bottom: 10px;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 21px;
}
.pageheader__text small {
	font-size: 14px;
}

/* ready */

.js-indicate-ready.pageheader .pageheader__image {
	opacity: 0;
	transform: translateY(125px);
}
.js-indicate-ready.pageheader .pageheader__image:after {
	display: block;
	content: "";
	position: absolute;
	top: -5px;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	z-index: 1;
}

/* start */

.js-indicate-start.pageheader .pageheader__image {
	opacity: 1;
	transform: translateY(0);
	transition-property: opacity, transform;
	transition-duration: 0.85s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1), cubic-bezier(0.33, 1, 0.68, 1);
}
.js-indicate-start.pageheader .pageheader__image:after {
	transform: scaleX(0);
	transform-origin: right;
	transition-property: transform;
	transition-duration: 0.85s;
	transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
}


/* contents
----------------------------------------------- */

.contents {
	margin: 80px 0 0;
}
.contents__outer {
	margin: 0 40px;
}
.contents__inner {
	margin: auto;
	max-width: 1160px;
}


/* morelink
----------------------------------------------- */

.morelink {
}
.morelink a {
	display: block;
	position: relative;
	height: 60px;
	z-index: 1;
}
.morelink a:before,
.morelink a:after {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background-color: #000;
	z-index: 1;
}
.morelink a:after {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: auto;
	transform: scaleX(0);
	transform-origin: right;
}
.morelink__label {
	display: flex;
	align-items: center;
	position: absolute;
	top: 0;
	left: 20px;
	right: 0;
	bottom: 0;
	font-size: 16px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	z-index: 2;
}
.morelink__icon {
	position: absolute;
	top: 50%;
	margin: -6px 0 0;
	right: 10px;
	width: 8px;
	height: 13px;
	color: #000;
	z-index: 2;
}
.morelink__icon svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	z-index: 1;
	fill: currentColor;
}

.detail .morelink {
	max-width: 220px;
}
.detail .morelink_l {
	max-width: 480px;
	width: 480px;
}
.detail .morelink.center {
	margin: 20px auto 0;
}

/* white */

.morelink--white a:before,
.morelink--white a:after {
	background-color: #fff;
}
.morelink--white .morelink__label,
.morelink--white .morelink__icon {
	color: #fff;
}

/* blank */

.morelink--blank .morelink__icon {
	width: 13px;
	height: 13px;
}

/* pdf */

.morelink--pdf .morelink__icon {
	width: 24px;
	height: 13px;
}


/* button
----------------------------------------------- */

.button {
}
.button a,
.button button {
	display: block;
	position: relative;
	margin: auto;
	padding: 0;
	width: 100%;
	height: 60px;
	border: 1px solid #000;
	outline: none;
	border-radius: 0;
	background-color: #000;
	cursor: pointer;
	z-index: 1;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.button a:after,
.button button:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: right;
}
.button__label {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	z-index: 2;
}
.button__icon {
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -6px 0 0;
	width: 8px;
	height: 13px;
	color: #fff;
	z-index: 2;
}
.button__icon svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	z-index: 1;
	fill: currentColor;
}

.detail .button {
	margin: auto;
	max-width: 280px;
}

/* anchor */

.button--anchor .button__icon {
	right: 18px;
	margin: -4px 0 0;
	width: 13px;
	height: 8px;
}

/* blank */

.button--blank .button__icon {
	right: 17px;
	width: 13px;
	height: 13px;
}

/* pdf */

.button--pdf .button__icon {
	right: 12px;
	width: 24px;
	height: 13px;
}

/* pdf */

.button--download .button__icon {
	width: 14px;
	height: 14px;
}

/* white */

.button--white a {
	border-color: #d1d1d1;
	background-color: #fff;
}
.button--white a:after {
	background-color: #000;
}
.button--white .button__label {
	color: #000;
}
.button--white .button__icon {
	color: #000;
}

/* edit */

.button--edit a,
.button--edit button {
	border-color: #d1d1d1;
	background-color: #fff;
}
.button--edit a:after,
.button--edit button:after {
	background-color: #000;
}
.button--edit .button__label {
	color: #000;
}
.button--edit .button__icon {
	left: 20px;
	right: auto;
	color: #000;
}
.button--edit .button__icon svg {
	fill: currentColor;
}

/* entry */

.button--entry a {
	border-color: #006fb0;
	background-color: #006fb0;
}

/* blue */

.button--blue a,
.button--blue button {
	border: 1px solid #006fb0;
	background-color: #006fb0;
}

.button--blue.button--edit a,
.button--blue.button--edit button {
	border-color: #006fb0;
	background-color: #fff;
}
.button--blue.button--edit a:after,
.button--blue.button--edit button:after {
	background-color: #006fb0;
}
.button--blue.button--edit .button__label {
	color: #006fb0;
}
.button--blue.button--edit .button__icon {
	left: 20px;
	right: auto;
	color: #006fb0;
}
.button--blue.button--edit .button__icon svg {
	fill: currentColor;
}

/* blur */

.button--blur {
	pointer-events: none;
}
.button--blur a,
.button--blur button {
	border-color: #c5c5c5;
	background-color: #c5c5c5;
}
.button--blur .button__label,
.button--blur .button__icon {
	opacity: 0.6;
}


/* bluebutton
----------------------------------------------- */

.bluebutton {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 60px;
	color: #fff;
	text-decoration: none;
	background-color: #fff;
	z-index: 1;
}
.bluebutton:before,
.bluebutton:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.bluebutton:before {
	border: 1px solid #fff;
}
.bluebutton:after {
	background-color: #006fb0;
	box-sizing: border-box;
}
.bluebutton__label {
	display: block;
	position: relative;
	padding: 0 40px;
	font-weight: 700;
	font-size: 18px;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	line-height: 27px;
	z-index: 2;
}
.bluebutton__icon {
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -6px 0 0;
	width: 8px;
	height: 13px;
	color: #fff;
	z-index: 2;
}
.bluebutton__icon svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	z-index: 1;
	fill: currentColor;
}

/* small */

.bluebutton--small {
	height: 40px;
}
.bluebutton--small:before {
	border-color: #006fb0;
}
.bluebutton--small .bluebutton__label {
	padding: 0 25px;
	font-size: 14px;
	line-height: 27px;
}
.bluebutton--small .bluebutton__icon {
	right: 10px;
}


/* buttons
----------------------------------------------- */

.buttons {
	display: flex;
	margin: 40px 0 0;
}
.buttons .button {
	margin: 0 40px 0 0;
	width: 280px;
}
.buttons .button.button_l {
	margin: 0 auto;
	width: 480px;
}


/* textlink
----------------------------------------------- */

.detail p a,
.detail li a,
.detail dt a,
.detail dd a,
.detail th a,
.detail td a
{
	display: inline;
	color: #006fb0;
	text-decoration: none;
}
.detail p a[target="_blank"]:after,
.detail li a[target="_blank"]:after,
.detail dt a[target="_blank"]:after,
.detail dd a[target="_blank"]:after,
.detail th a[target="_blank"]:after,
.detail td a[target="_blank"]:after
{
	display: inline-block;
	content: "";
	margin: 0 4px 3px;
	width: 13px;
	height: 13px;
	vertical-align: middle;
	background-image: url(../images/common/ic_textlink_blank@2x.png);
	background-repeat: no-repeat;
	background-size: 13px;
}
.detail p a[href$=".pdf"]:after,
.detail li a[href$=".pdf"]:after,
.detail dt a[href$=".pdf"]:after,
.detail dd a[href$=".pdf"]:after,
.detail th a[href$=".pdf"]:after,
.detail td a[href$=".pdf"]:after
{
	display: inline-block;
	content: "";
	margin: 0 4px 3px;
	width: 24px;
	height: 13px;
	vertical-align: middle;
	background-image: url(../images/common/ic_textlink_pdf@2x.png);
	background-repeat: no-repeat;
	background-size: 24px 13px;
}


/* link
----------------------------------------------- */

.detail .link,
.link {
	display: inline-block;
	color: #000;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.04em;
}
.detail .link:after,
.link:after {
	display: inline-block;
	content: "";
	margin: 0 0 2px 5px;
	width: 10px;
	height: 15px;
	vertical-align: middle;
	background-image: url(../images/common/ic_arrow_black_right.svg);
	background-repeat: no-repeat;
	background-size: 10px 15px;
}
.detail .link[target="_blank"]:after,
.detail .link[target="_blank"]:after,
.detail .link[target="_blank"]:after,
.detail .link[target="_blank"]:after,
.detail .link[target="_blank"]:after,
.detail .link[target="_blank"]:after,
.link[target="_blank"]:after,
.link[target="_blank"]:after,
.link[target="_blank"]:after,
.link[target="_blank"]:after,
.link[target="_blank"]:after,
.link[target="_blank"]:after
{
	width: 13px;
	height: 13px;
	background-image: url(../images/common/ic_link_blank_black.svg);
	background-size: 13px 13px;
}
.detail .link[href$=".pdf"]:after,
.detail .link[href$=".pdf"]:after,
.detail .link[href$=".pdf"]:after,
.detail .link[href$=".pdf"]:after,
.detail .link[href$=".pdf"]:after,
.detail .link[href$=".pdf"]:after,
.link[href$=".pdf"]:after,
.link[href$=".pdf"]:after,
.link[href$=".pdf"]:after,
.link[href$=".pdf"]:after,
.link[href$=".pdf"]:after,
.link[href$=".pdf"]:after
{
	margin: 0 0 1px 5px;
	width: 24px;
	height: 13px;
	background-image: url(../images/common/ic_link_pdf_black.svg);
	background-size: 24px 13px;
}


/* table
----------------------------------------------- */

.table {
	margin: 40px 0 0;
}
.table table {
	width: 100%;
	border-bottom: 1px solid #e5e5e5;
}
.table th,
.table td {
	padding: 15px 20px;
	font-size: 16px;
	font-weight: 400;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.04em;
	line-height: 24px;
	border-top: 1px solid #e5e5e5;
}
.table th {
	padding-left: 40px;
	width: 28%;
	font-weight: 700;
	background-color: #f5f5f5;
}
.table td {
	width: 72%;
	border-left: 1px solid #e5e5e5;
}
.table thead th,
.table thead td {
	font-weight: 700;
	text-align: center;
	background-color: #d1d1d1;
}
.table td.table__middle {
	vertical-align: middle;
}

/* column2 */

.table--column2 th {
	width: 20%;
}
.table--column2 td {
	width: 40%;
}


/* summarytable
----------------------------------------------- */

.summarytable {
	margin: 100px 0;
}
.summarytable table {
	width: 100%;
	border-bottom: 1px solid #e5e5e5;
}
.summarytable tr {
	border-top: 1px solid #e5e5e5;
}
.summarytable th,
.summarytable td {
	padding: 35px 40px;
	font-size: 16px;
	text-align: left;
	vertical-align: top;
	letter-spacing: 0.04em;
	line-height: 24px;
}
.summarytable th {
	width: 20%;
}
.summarytable td {
	width: 80%;
}

/* subcontents */

.summarytable--subcontents {
	margin: 40px 0 0;
}

/* ul */

.summarytable ul {
	margin: 0 0 0 20px;
}
.summarytable li {
	display: list-item;
	font-size: 16px;
	letter-spacing: 0.04em;
	line-height: 24px;
	list-style: disc;
}
.summarytable li ul {
	margin: 0;
	padding: 5px 0;
}
.summarytable li li,
.summarytable .caution {
	display: block;
	position: relative;
	padding: 0 0 0 10px;
	font-size: 12px;
	letter-spacing: 0.04em;
	line-height: 18px;
	list-style: none;
	z-index: 1;
}
.summarytable li li:after,
.summarytable .caution:after {
	display: block;
	content: "";
	position: absolute;
	top: 6px;
	left: 0;
	width: 6px;
	height: 6px;
	background-color: #999;
	z-index: 1;
}

/* caution */

.summarytable .caution {
	margin-top: 10px;
}


/* localnav
----------------------------------------------- */

.localnav {
	padding: 100px 0 0;
}
.localnav__outer {
	margin: 0 40px;
}
.localnav__inner {
	margin: auto;
	max-width: 1160px;
}
.localnav__column {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 8px;
	border-radius: 5px;
	background-color: #f5f5f5;
}
.localnav__title {
	width: 200px;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.04em;
}
.localnav__lists {
	display: flex;
	width: calc(100% - 200px);
	background-color: #fff;
}
.localnav__list {
}
.localnav__list a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	height: 64px;
	text-decoration: none;
	z-index: 1;
}
.localnav__list a:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin: -10px 0 0;
	width: 1px;
	height: 20px;
	background-color: #e5e5e5;
	z-index: 1;
}
.localnav__list:first-child a:after {
	display: none;
}
.localnav__label {
	display: inline-block;
	position: relative;
	font-size: 14px;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	z-index: 1;
}
.localnav__label:after {
	display: block;
	content: "";
	position: absolute;
	left: -4px;
	right: -3px;
	bottom: -13px;
	height: 2px;
	background-color: #000;
	z-index: 1;
	transform: scaleX(0);
	transform-origin: right;
}
.localnav__back {
	margin: 20px 0 0;
}
.localnav__back a {
	display: inline-block;
	position: relative;
	font-size: 14px;
	font-weight: 700;
	text-decoration: none;
	letter-spacing: 0.04em;
	z-index: 1;
}
.localnav__back a:before {
	display: inline-block;
	content: "";
	margin: 0 0 -2px;
	width: 10px;
	height: 14px;
	background-image: url(../images/common/ic_arrow_black_left.svg);
	background-repeat: no-repeat;
	background-size: 10px 14px;
}
/* column3 */

.localnav--column3 .localnav__list {
	width: 33.33%;
}
/* column5 */

.localnav--column5 .localnav__list {
	width: 20%;
}

/* column6 */

.localnav--column6 .localnav__list {
	width: 16.66%;
}

/* current */

.localnav__list--current .localnav__label {
	font-weight: 700;
}
.localnav__list--current .localnav__label:after {
	transform: scaleX(1);
}


/* article
----------------------------------------------- */

.article__list {
	position: relative;
	border-bottom: 1px solid #e5e5e5;
	z-index: 1;
	width: 100%;
}
.article__list:last-child {
	border-top: 0;
}
.article__list:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -5px 0 0;
	width: 10px;
	height: 14px;
	background-image: url(../images/common/ic_arrow_black_right.svg);
	background-repeat: no-repeat;
	background-size: 10px 14px;
	pointer-events: none;
	z-index: 1;
}
.article__list a {
	color: #000;
	text-decoration: none;
	display: flex;
	align-items: flex-start;
	padding: 20px 20px 20px 0;
}

.article__list--guidance {
	padding: 75px 0;
}
.article__list--guidance:after {
	display: none;
}
.article__text {
	font-size: 20px;
	letter-spacing: 0.04em;
	line-height: 30px;
}

.article__status {
	display: inline-block;
	position: relative;
	width: 60px;
	height: 20px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	line-height: 20px;
	background-color: #000;
}
.article__status--open {
	background-color: #1191d2;
}
.article__status--close {
	background-color: #aaa;
}
.article__status--end {
	color: #fff;
	background-color: #aaa;
}

.article__theme {
	margin: 15px 80px 0 0;
	font-size: 20px;
	letter-spacing: 0.04em;
	line-height: 30px;
}
.article__info {
	margin: 30px 0 0;
	font-size: 14px;
	letter-spacing: 0.04em;
}
.article__schedule {
	display: inline-block;
}
.article__location {
	display: inline-block;
	margin: 0 0 0 27px;
}
.article__location:before {
	display: inline-block;
	content: "";
	margin: -2px 0 0;
	width: 14px;
	height: 18px;
	vertical-align: middle;
	background-image: url(../images/common/ic_location_black.svg);
	background-repeat: no-repeat;
	background-size: 14px 18px;
}

.article__item {
	padding-right: 40px;
	width: calc(100% - 290px);
}
.article__img {
	margin-right: 40px;
	text-align: center;
	width: 200px;
}
.article__img img {
	max-width: 100%;
	height: auto;
}

.article__header {
	display: flex;
	align-items: center;
	margin-bottom: 15px;
	text-align: center;
}
.article__date {
	white-space: nowrap;
	border-left: 1px solid #ddd;	
	font-size: 14px;
	min-width: 120px;
	padding: 0 10px;
}
.article__category {
	border-left: 1px solid #ddd;
	border-right: 1px solid #ddd;
	font-size: 12px;
	font-weight: 700;
	color: #006fb0;
	min-width: 120px;
	padding: 0 10px;
	letter-spacing: 0.05em;
	white-space: nowrap;
}
.article__title {
	font-size: 16px;
	letter-spacing: 0.06em;
	line-height: 1.7;
	font-weight: 500;
}

.article__list--blank:after {
	width: 13px;
	height: 13px;
	background-image: url(../images/common/ic_link_blank_black.svg);
	background-size: 13px 13px;
}

.article__list--pdf:after {
	width: 24px;
	height: 13px;
	background-image: url(../images/common/ic_link_pdf_black.svg);
	background-size: 24px 13px;
}

.article__list--disabled {
	pointer-events: none;
}
.article__list--disabled:after {
	display: none;
}

/* line */

.article__lists--line a {
	padding: 30px 20px;
}
.article__lists--line .article__list {
	border-top: 1px dashed #999;
	border-bottom: 0;
}
.article__lists--line .article__list:first-child {
	border-top: 0;
}
.article__lists--line .article__header {
	margin-bottom: 21px;
	text-align: left;
}
.article__lists--line .article__item {
	width: calc(100% - 290px);
}
.article__lists--line .article__date {
	border-left: 1px solid #999;
	font-size: 16px;
	padding: 0 20px;
	min-width: 150px;
	line-height: 1.6;
}
.article__lists--line .article__category {
	border-left: 1px solid #999;
	border-right: 0;
	color: #000;
	font-size: 16px;
	padding: 0 20px;
	min-width: auto;
	font-weight: normal;
	line-height: 1.6;
}
.article__lists--line .article__title {
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

/* archive
----------------------------------------------- */

.archive {
	margin: 0 0 40px;
	text-align: right;
}
.archive__select {
	display: inline-block;
	position: relative;
	min-width: 160px;
	z-index: 1;
}
.archive__select:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -5px 0 0;
	width: 14px;
	height: 10px;
	background-image: url(../images/common/ic_arrow_black_down.svg);
	background-repeat: no-repeat;
	background-size: 14px 10px;
	pointer-events: none;
	z-index: 1;
}
.archive__select select {
	margin: 0;
	padding: 0 45px 0 15px;
	width: 100%;
	height: 50px;
	color: #000;
	font-size: 16px;
	line-height: normal;
	outline: none;
	border: 1px solid #d1d1d1;
	border-radius: 0;
	background: none;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
.archive__select select::-ms-expand {
	display: none;
}


/* guidance
----------------------------------------------- */

.guidance {
	padding: 20px 0 0;
	text-align: center;
}
.guidance__title {
	font-size: 32px;
	letter-spacing: 0.08em;
	line-height: 54px;
}
.guidance__text {
	margin: 30px 0 0;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 40px;
}


/* tabmenu
----------------------------------------------- */

.tabmenu {
}
.tabmenu__inner {
	margin: auto;
	max-width: 1160px;
	border-bottom: 2px solid #000;
	overflow: hidden;
}
.tabmenu__lists {
	margin: 0 18px;
	padding: 10px 0 0;
	font-size: 0;
	white-space: nowrap;
}
.tabmenu__list {
	display: inline-block;
	vertical-align: top;
	list-style: none;
}
.tabmenu__label {
	display: block;
	position: relative;
	margin: 0 2px -10px;
	height: 68px;
	border: 1px solid #d1d1d1;
	border-bottom: 0;
	background-color: #fff;
	box-sizing: border-box;
	cursor: pointer;
	z-index: 1;
	transition-property: color, border-color, transform;
	transition-duration: 0.25s;
}
.tabmenu__text {
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 10px;
	right: 10px;
	bottom: 10px;
	font-size: 14px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.08em;
	white-space: normal;
	letter-spacing: 0.08em;
	line-height: 20px;
	z-index: 1;
}
.tabmenu__content {
	display: none;
}

/* tab2 */

.tabmenu--tab2 .tabmenu__list {
	width: 50%;
}

/* tab3 */

.tabmenu--tab3 .tabmenu__list {
	width: 33.33%;
}

/* tab4 */

.tabmenu--tab4 .tabmenu__list {
	width: 25%;
}

/* current */

.tabmenu__list--current .tabmenu__label {
	color: #fff;
	border-color: #000;
	background-color: #000;
}
.tabmenu__content--current {
	display: block;
}


/* detail
----------------------------------------------- */

.detail > *:first-child {
	margin-top: 0 !important;
}
.detail > p:first-child {
	margin-top: -10px !important;
}
.detail--first {
	margin-top: 150px;
}
.detail h2,
.headline--h2 {
	margin: 100px 0 0;
	padding: 10px 0 15px 30px;
	font-size: 36px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.4em;
	border-left: 4px solid #000;
	clear: both;
}
.detail h3,
.headline--h3 {
	margin: 80px 0 0;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 36px;
	clear: both;
}
.detail h4,
.headline--h4 {
	margin: 80px 0 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 27px;
}
.detail p,
.text--line {
	margin: 30px 0 -10px;
	font-size: 16px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0.08em;
	line-height: 40px;
}

.detail p.valign_middle {
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
}

.detail h2 small,
.headline--h2 small {
	display: block;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: normal;
}

.detail headline--first,
.headline--first {
	margin: 0;
}

.detail .text--small,
.text--small {
	margin: 30px 0 0;
	font-size: 14px;
	line-height: 0.08em;
	line-height: 20px;
}
.detail .text--center,
.text--center {
	text-align: center;
}
.detail .text--right,
.text--right {
	text-align: right;
}

.detail .text--float img,
.text--float img {
	width: 100%;
	height: auto;
}
.detail .text--floatleft,
.text--floatleft {
	float: left;
	margin: 0;
	padding: 0 40px 0 0;
	width: calc(50% - 20px);
}
.detail .text--floatright,
.text--floatright {
	float: right;
	margin: 0;
	padding: 0 0 0 40px;
	width: calc(50% - 20px);
}
.detail .text--caution,
.text--caution {
	margin: 40px 0 0;
	padding: 0 0 0 12px;
	font-size: 12px;
	text-align: left;
	text-indent: -12px;
	line-height: 18px;
}
.detail .text--caption,
.text--caption {
	margin: 20px 0 0;
	padding: 0 0 0 12px;
	font-size: 14px;
	text-align: center;
	text-indent: -12px;
	line-height: 18px;
}

.detail__float:after {
	content: "";
	display: block;
	clear: both;
}

.detail ul,
.detail ol {
	margin: 0 0 0 25px;
	padding: 20px 0 0;
}
.detail li {
	display: list-item;
	margin: 15px 0 0;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 1.8em;
	list-style: disc;
}
.detail ol>li {
	list-style: decimal;
}
.detail ul li ul,
.detail ol li ul {
	padding: 0;
}

.detail ol {
	margin: 0;
	counter-reset: number;
}
.detail ol>li {
	padding: 0 0 0 36px;
	text-indent: -36px;
	list-style: none;
	counter-increment: number;
}
.detail ol>li ul li {
	padding: 0 0 0 36px;
	text-indent: -36px;
}
.detail ol>li:before {
	display: inline-block;
	content: counter(number, decimal-leading-zero) ".";
	width: 32px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	text-indent: 0;
}

.detail ol.sub-number>li:before {
	display: inline-block;
	content: "(" counter(number, decimal) ")";
	width: 32px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	text-indent: 0;
}
.detail ul>li ol {
	padding: 0;
}

.detail dl {
	padding: 40px 0 0;
}
.detail dt,
.detail dd {
	padding: 20px 0 0;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 24px;
}
.detail dt {
	padding: 40px 0 0;
	font-size: 18px;
	font-weight: 700;
	line-height: 27px;
}
.detail dd ul,
.detail dd ol {
	margin-top: -5px;
	padding: 0;
}

.detail img {
	margin: 10px 0;
	max-width: 100%;
	height: auto;
}

.detail figure.image_s img {
	max-width: 70%;
}

.detail figure {
	margin: 30px 0 0;
	text-align: center;
}
.detail figure.single {
	margin: 40px 0 0;
}
.detail figure.single img {
	width: 70%;
	height: auto;
}
.detail figure.single--large img {
	width: 92%;
}
.detail figure.single--large01 img {
	width: 80%;
}

.detail figcaption {
	margin: 30px 0 0;
	font-size: 16px;
	text-align: center;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 40px;
}

.detail .zeromargin {
	margin: 0;
	padding: 0;
}

/* loweralpha */

.detail .loweralpha li {
	list-style: lower-alpha;
}

/* columns */

.detail .columns {
	display: flex;
	justify-content: space-between;
}
.detail .columns__column {
	width: calc(50% - 20px);
}
.detail .columns.service {
	margin-bottom: 40px;
}
/* borderbox */

.detail .borderbox {
	margin: 40px 0 0;
	padding: 15px 0 30px;
	border: 4px solid #f5f5f5;
}
.detail .borderbox ul {
	margin: 0 30px 0 50px;
	padding: 0;
}

/* cautions */

.detail .cautions {
	margin: 0;
	padding: 35px 0 0;
}
.detail .cautions li {
	margin: 5px 0 0;
	padding: 0;
	font-size: 12px;
	line-height: 18px;
	list-style: none;
}
.detail .cautions--block li {
	padding: 0 0 0 10px;
	text-indent: -10px;
}
.detail .cautions--block li:before {
	display: inline-block;
	content: "";
	margin: 0 0 3px;
	width: 6px;
	height: 6px;
	vertical-align: middle;
	background-color: #999;
}
.detail .cautions--number {
	counter-reset: number;
}
.detail .cautions--number li {
	padding: 0 0 0 30px;
	text-indent: -30px;
	counter-increment: number;
}
.detail .cautions--number li:before {
	display: inline-block;
	content: "※" counter(number);
	width: 25px;
	text-indent: 0;
}

.detail .youtube {
	position: relative;
	margin: 45px 0 0;
	padding: 0 0 56.25%;
	height: 0;
	overflow: hidden;
}
.detail .youtube iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}


/* margin
----------------------------------------------- */

.detail .mb10,
.mb10 {
	display: block;
	margin-bottom: 10px;
}
.detail .mb20,
.mb20 {
	display: block;
	margin-bottom: 20px;
}
.detail .mb30,
.mb30 {
	display: block;
	margin-bottom: 30px;
}
.detail .mb40,
.mb40 {
	display: block;
	margin-bottom: 40px;
}
.detail .mb50,
.mb50 {
	display: block;
	margin-bottom: 50px;
}


/* icon
----------------------------------------------- */

.icon:after {
	display: inline-block;
	content: "";
	margin: 0 0 0 5px;
	vertical-align: middle;
}
.icon--pdf:after {
	width: 21px;
	height: 13px;
	background-image: url(../images/common/ic_link_pdf_black.svg);
	background-repeat: no-repeat;
	background-size: 21px 13px;
}
.icon--blank:after {
	width: 13px;
	height: 13px;
	background-image: url(../images/common/ic_link_blank_black.svg);
	background-repeat: no-repeat;
	background-size: 13px 13px;
}


/* column
----------------------------------------------- */

.column {
}
.column__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 -40px;
}
.column__list {
}
.column__list a {
	display: block;
	text-decoration: none;
}
.column__image {
	overflow: hidden;
}
.column__image img {
	width: 100%;
	height: auto;
}
.column__headtitle {
	margin: 10px 0 0;
	font-size: 20px;
	line-height: 24px;
}
.column__headtitle a {
	display: inline-block;
}
.column__title {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 24px;
}
.column__body {
	margin: 20px 0 0;
	font-size: 14px;
	line-height: 24px;
}
.column__tag {
	margin: 5px 0 0;
	font-size: 12px;
	font-weight: 700;
	line-height: 22px;
}
.column__subject {
	margin: 15px 0 0;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 24px;
}
.column__post {
	margin: 20px 0 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 20px;
}
.column__name {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 24px;
}

/* type2 */

.column--type2 .column__lists {
}
.column--type2 .column__list {
	margin: 80px 0 0 40px;
	width: calc(50% - 40px);
}

/* type3 */

.column--type3 .column__lists {
}
.column--type3 .column__list {
	margin: 80px 0 0 40px;
	width: calc(33.33% - 40px);
}

/* type4 */

.column--type4 .column__lists {
}
.column--type4 .column__list {
	margin: 40px 0 0 40px;
	width: calc(25% - 40px);
}

/* type5 */

.column--type5 .column__lists {
}
.column--type5 .column__list {
	margin: 70px 0 0 0;
}
.column--type5 .column__list:first-child {
	margin-top: 30px;
}
.column--type5 .column__list a {
	display: inline-block;
}
.column--type5 .column__list .column__image {
	display: inline-block;
	width: 260px;
}
.column--type5 .column__list .column__content {
	display: inline-block;
	margin: 0 0 0 20px;
	width: 910px;
	vertical-align: top;
}

.column__recruitlink {
	display:flex;
	font-size:14px;
	line-height:2em;
}
.column__recruitlink a {
	
}

/* pointbox
----------------------------------------------- */

.pointbox {
	margin: 50px 0 0;
	padding: 0 0 35px;
	border: 10px solid #f5f5f5;
	box-sizing: border-box;
}

/* ul */

.pointbox ul {
	margin: 0 40px;
}
.pointbox li {
	display: block;
	padding: 0 0 0 32px;
	text-indent: -32px;
	list-style: none;
}
.pointbox li:before {
	display: inline-block;
	content: "";
	margin: 2px 0 0;
	width: 26px;
	height: 20px;
	vertical-align: top;
	background-image: url(../images/common/pointbox_check@2x.png);
	background-repeat: no-repeat;
	background-size: 26px 20px;
}

/* dl */

.pointbox dl {
	margin: 0 40px;
	padding: 0;
}
.pointbox dt {
	padding: 35px 0 0;
}
.pointbox dd {
}


/* framebox
----------------------------------------------- */

.framebox {
	margin: 50px 0 0;
	padding: 40px;
	border: 10px solid #f5f5f5;
	box-sizing: border-box;
}
.framebox > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}
.framebox--thin {
	border-width: 4px;
}


/* cover
----------------------------------------------- */

.cover {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.cover__outer {
	margin: 0 40px;
}
.cover__inner {
	position: relative;
	margin: auto;
	padding: 0 0 60px;
	max-width: 1160px;
	min-height: 560px;
	z-index: 3;
}
.cover__header {
	position: absolute;
	left: 0;
	bottom: 0;
	font-size: 0;
	z-index: 1;
}
.cover__label {
}
.cover__label span {
	display: inline-block;
	position: relative;
	padding: 10px 20px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 60px;
	font-weight: 700;
	letter-spacing: 0.04em;
	background-color: #000;
	overflow: hidden;
	z-index: 1;
}
.cover__title {
}
.cover__title span {
	display: inline-block;
	position: relative;
	padding: 10px 20px;
	color: #fff;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	background-color: #000;
	overflow: hidden;
	z-index: 1;
}
.cover__label span:after,
.cover__title span:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	z-index: 1;
	transform: scaleX(-0.1);
	transform-origin: left;
	will-change: transform;
}
.cover__base {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 560px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 2;
}
.cover__base:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #000;
	z-index: 1;
}

/* ready */

.js-indicate-ready.cover .cover__label span,
.js-indicate-ready.cover .cover__title span {
	background-color: #fff;
}

/* start */

.js-indicate-start.cover .cover__label span:after,
.js-indicate-start.cover .cover__title span:after {
	transform: scaleX(1);
	transition-property: transform;
	transition-duration: 0.85s;
	transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
}
.js-indicate-start.cover .cover__base:after {
	transform: scaleX(0);
	transform-origin: right;
	transition-property: transform;
	transition-duration: 0.85s;
	transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
}

/* end */

.js-indicate-end.cover .cover__label span,
.js-indicate-end.cover .cover__title span {
	background-color: #000;
}
.js-indicate-end.cover .cover__label span:after,
.js-indicate-end.cover .cover__title span:after {
	transform: scaleX(0);
	transform-origin: right;
}


/* paginate
----------------------------------------------- */

.paginate {
	margin: 110px 0 0;
	text-align: center;
}
.paginate__outer {
	display: inline-block;
	margin: 0 40px;
}
.paginate__inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: auto;
	width: 100%;
}
.paginate__arrow {
}
.paginate__arrow a {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	text-align: center;
	border-radius: 50%;
	z-index: 1;
}
.paginate__arrow a:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background-color: #f5f5f5;
	z-index: -1;
	transform: rotate(0.09deg) scale(0);
}
.paginate__icon {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -5.5px 0 0 -3.5px;
	width: 7px;
	height: 12px;
	color: #999;
	z-index: 1;
}
.paginate__icon svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	z-index: 1;
	fill: currentColor;
}
.paginate__lists {
	display: flex;
	justify-content: center;
	margin: 0 60px;
	max-width: 236px;
	width: 100%;
	font-size: 0;
}
.paginate__list {
	margin: 0 6px;
}
.paginate__list a {
	display: block;
	position: relative;
	width: 36px;
	height: 36px;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-decoration: none;
	line-height: 37px;
	border-radius: 50%;
	z-index: 1;
}
.paginate__list a:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background-color: #f5f5f5;
	z-index: -1;
	transform: rotate(0.09deg) scale(0);
}

/* current */

.paginate__list--current a {
	color: #fff;
}
.paginate__list--current a:after {
	background-color: #000;
	transform: rotate(0deg) scale(1);
}


/* related
----------------------------------------------- */

.related {
	margin: 120px 0 0;
}
.related__outer {
	margin: 0 40px;
}
.related__inner {
	position: relative;
	margin: auto;
	max-width: 1160px;
	text-align: center;
	z-index: 1;
}
/*.related__inner:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 3px;
	border: 1px solid #e5e5e5;
	box-sizing: border-box;
	z-index: 1;
}*/
.related__title {
	position: relative;
	padding: 0 0 20px;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.08em;
	z-index: 1;
	text-align: center;
}
.related__title:after {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	margin: 0 0 0 -15px;
	width: 30px;
	height: 2px;
	background-color: #000;
}
.related__text {
	margin: 25px 0 0;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 40px;
}

.related__slider {
	margin: 0;
}
.related__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 -40px;
}
.related__list {
	margin: 40px 0 0 40px;
	text-align: left;
}
.related__list a {
	display: block;
	position: relative;
	height: 100%;
	text-decoration: none;
	z-index: 1;
}
.related__label {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin: -10px 0 0;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-align: center;
	z-index: 2;
}
.related__label:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 20px;
	margin: -7px 0 0;
	width: 10px;
	height: 14px;
	background-image: url(../images/common/ic_arrow_white_right.svg);
	background-repeat: no-repeat;
	background-size: 10px 14px;
	z-index: 1;
}
.related__image {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.related__image--mask:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.3);
	z-index: 1;
}
.related__image img {
	width: 100%;
	height: auto;
}
.related__subject {
	margin: 15px 0 0;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 24px;
}
.related__post {
	margin: 10px 0 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 20px;
}
.related__name {
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 24px;
}

.related__case {
	position: absolute;
	top: 0;
	left: 0;
	padding: 0 10px;
	height: 24px;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: 24px;
	background-color: #000;
	z-index: 2;
}

.related__tags {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 -10px;
	padding: 5px 0 0;
	text-align: left;
}
.related__tag {
	margin: 5px 0 0 10px;
	padding: 0;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.04em;
	white-space: nowrap;
	line-height: normal;
}

.related__box {
	padding: 40px 20px;
	height: calc(100% - 90px);
	border: 8px solid #f5f5f5;
}
.related__service {
	position: relative;
	padding: 0 20px 0 0;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.04em;
	line-height: normal;
	z-index: 1;
}
.related__service:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	margin: -7.5px 0 0;
	width: 10px;
	height: 15px;
	background-image: url(../images/common/ic_arrow_black_right.svg);
	background-repeat: no-repeat;
	background-size: 10px 15px;
	z-index: 1;
}

.related__summary {
	margin: 30px 0 0;
	font-size: 14px;
	text-align: justify;
	text-justify: inter-ideograph;
	letter-spacing: 0.08em;
	line-height: 1.8em;
}

.related__schedule {
	margin: 15px 0 0;
	font-size: 14px;
	letter-spacing: 0.04em;
}
.related__location {
	margin: 15px 0 0;
	font-size: 14px;
	letter-spacing: 0.04em;
}
.related__location:before {
	display: inline-block;
	content: "";
	margin: -2px 0 0;
	width: 14px;
	height: 18px;
	vertical-align: middle;
	background-image: url(../images/common/ic_location_black.svg);
	background-repeat: no-repeat;
	background-size: 14px 18px;
}
.related__status {
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	width: 60px;
	height: 20px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	line-height: 20px;
	background-color: #000;
	z-index: 1;
}
.related__status--open {
	background-color: #1191d2;
}
.related__status--close {
	background-color: #aaa;
}
.related__status--end {
	color: #fff;
	background-color: #aaa;
}
/* product */
.relate--product .related__box {
	height: auto;
}
.relate--product .related__image {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.relate--product .related__image--small img {
	width: 60%;
}

/* scroller */

.related__scroller .scroller__inner {
	width: auto;
}
.related__scroller .scroller__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 -40px;
	width: auto;
	max-width: initial;
}
.related__scroller .scroller__list {
	margin: 40px 0 0 40px;
	width: calc(33.33% - 40px);
}

/* type */

.related__lists--type3 .related__list {
	width: calc(33.33% - 40px);
}
.related__lists--type4 .related__list {
	width: calc(25% - 40px);
}

/* interview */

.related--interview {
	background-color: #f5f5f5;
}
.related--interview .related__inner {
	padding: 80px 0;
}
.related--interview .related__inner:after {
	display: none;
}

.profile {
    border: #f5f5f5 8px solid;
    width: 85%;
    width: -webkit-calc(100% - 176px);
    width: calc(100% - 176px);
    padding: 40px 80px;
    display: flex;
    margin-bottom: 80px;
}
.profile .leftBox,
.profile .rightBox {
	width : 40% ; /* IE8以下とAndroid4.3以下用フォールバック */
   width : -webkit-calc(50% - 40px) ;
   width : calc(50% - 40px) ;
}
.profile .leftBox {
   margin-right: 80px;
}
.profile img {
	margin: 0!important;
}
.profile .name {
	font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.08em;
    line-height: 24px;
	margin-top: 20px;
}
.profile p {
	font-size: 14px;
    line-height: 2em;
}

@media print, screen and (max-width:1000px) {
.profile {
    width: 85%;
    width: -webkit-calc(100% - 96px);
    width: calc(100% - 96px);
    padding: 40px;
    margin-bottom: 80px;
}
.profile .leftBox,
.profile .rightBox {
   width : -webkit-calc(50% - 20px) ;
   width : calc(50% - 20px) ;
}
.profile .leftBox {
   margin-right: 40px;
}
}
@media print, screen and (max-width:769px) {
.profile {
    width: 85%;
    width: -webkit-calc(100% - 96px);
    width: calc(100% - 96px);
    padding: 0 40px;
    display: block;
    margin-bottom: 80px;
}
.profile .leftBox,
.profile .rightBox {
	width : 100% ; /* IE8以下とAndroid4.3以下用フォールバック */
   width : -webkit-calc(100% - 0px) ;
   width : calc(100% - 0px) ;
}
.profile img{
    margin-top: 40px!important;
}
.profile .rightBox {
	 margin-bottom: 40px!important;
}
}

/* sectionlabel
----------------------------------------------- */

.sectionlabel {
	text-align: center;
}
.sectionlabel span {
	display: block;
	position: relative;
	padding: 0 0 80px;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 700;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	z-index: 1;
}
.sectionlabel span:after {
	display: block;
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	width: 1px;
	height: 60px;
	background-color: #000;
	z-index: 1;
}


/* modal
----------------------------------------------- */

.modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	overflow: hidden;
	z-index: 10;
}
.modal__mask {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.8);
	z-index: 1;
}
.modal__outer {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2;
}
.modal__inner {
	padding: 40px;
	background-color: #fff;
}
.modal__inner img {
	transition-property: width, height;
	transition-duration: 0.25s;
}
.modal__close {
	margin: 20px 0 0;
	text-align: center;
}
.modal__close span {
	display: inline-block;
	color: #fff;
	font-family: 'Montserrat', sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.12em;
	cursor: pointer;
}
.modal__close span:before {
	display: inline-block;
	content: "";
	margin: -2px 0 0;
	width: 26px;
	height: 26px;
	vertical-align: middle;
	background-image: url(../images/common/ic_modal_close.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 26px;
}

/* loading */

.modal .loading {
	position: absolute;
	top: 50%;
	left: 50%;
	margin: -5px 0 0 -5px;
	width: 11px;
	height: 11px;
	z-index: 2;
}
.modal .loading__icon {
	position: static;
}

/* initial */

.modal {
	pointer-events: none;
	visibility: hidden;
}
.modal__mask,
.modal__inner,
.modal__close {
	opacity: 0;
}
.modal .loading {
	opacity: 0;
}

/* ready */

.js-modal-ready {
	transition-property: visibility;
	transition-duration: 0.5s;
}
.js-modal-ready .modal__mask,
.js-modal-ready .modal__inner,
.js-modal-ready .modal__close {
	transition-property: opacity, transform;
	transition-duration: 0.25s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}
.js-modal-ready .modal__mask {
	transition-delay: 0.25s;
}
.js-modal-ready .modal__inner {
	transform: rotate(0.09deg) scale(0.95);
}
.js-modal-ready .modal__close {
	transform: translateY(25px);
}
.js-modal-ready .loading {
	transition-property: opacity;
	transition-duration: 0.25s;
	transition-delay: 0s;
}

/* open */

.js-modal-open {
	pointer-events: auto;
	visibility: visible;
	transition-duration: 0s;
}
.js-modal-open .modal__mask {
	opacity: 1;
	transition-delay: 0s;
}
.js-modal-open .loading {
	opacity: 1;
	transition-delay: 0.25s;
}


/* loaded */

.js-modal-loaded .modal__inner {
	opacity: 1;
	transform: rotate(0deg) scale(1);
	transition-delay: 0.25s;
	transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
.js-modal-loaded .modal__close {
	opacity: 1;
	transform: translateY(0);
	transition-delay: 0.35s;
	transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}
.js-modal-loaded .loading {
	opacity: 0;
	transition-delay: 0s;
}


/* maintenance
----------------------------------------------- */

.maintenance {
}
.maintenance__logo {
	display: inline-block;
	position: relative;
	margin: 29px 40px 0;
	width: 196px;
	height: 41px;
	color: #000;
	font-size: 0;
	z-index: 1;
}
.maintenance__logo svg {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	max-height: 100%;
	fill: currentColor;
	z-index: 1;
}
.maintenance__message {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	text-align: center;
	z-index: 1;
}
.maintenance__title {
	font-size: 36px;
	letter-spacing: 0.08em;
}
.maintenance__text {
	margin: 25px 0 0;
	font-size: 16px;
	letter-spacing: 0.08em;
}


/* coverheader
----------------------------------------------- */

.coverheader {
	padding: 210px 0 0;

	padding: 155px 0 0;

	color: #fff;
}
.coverheader__title {
	font-size: 50px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
}
.coverheader__label {
	margin: 28px 0 0;
	font-family: 'Montserrat', sans-serif;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1;
}
.coverheader__summary {
	margin: 28px 500px 0 0;
	font-size: 16px;
	letter-spacing: 0.08em;
	line-height: 32px;
}
.coverheader__button {
	position: absolute;
	right: 0;
	bottom: 85px;
	max-width: 480px;
	width: 100%;
	z-index: 1;
}


/* tag
----------------------------------------------- */

.tag {
	position: relative;
	padding: 0 10px 0 8px;
	height: 25px;
	font-size: 12px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	white-space: nowrap;
	line-height: normal;
	cursor: pointer;
	z-index: 1;
}
.tag__frames {
}
.tag__frame {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1;
}
.tag__frame:before,
.tag__frame:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 4px;
	right: 0;
	bottom: 0;
	background-image: url(../images/common/tag_pc.svg);
	background-position: right 0;
	background-repeat: no-repeat;
	background-size: 300px 100px;
	z-index: 1;
}
.tag__frame:after {
	left: 0;
	right: auto;
	width: 4px;
	background-position: left top;
}
.tag__frame:last-child {
	opacity: 0;
}
.tag__frame:last-child {
	opacity: 0;
}
.tag__frame:last-child:before {
	background-position: right -50px;
}
.tag__frame:last-child:after {
	background-position: left -50px;
}
.tag span {
	position: relative;
	white-space: nowrap;
	line-height: 2em;
	z-index: 2;
}

/* white */

.tag--white .tag__frame:last-child:before {
	background-position: right -75px;
}
.tag--white .tag__frame:last-child:after {
	background-position: left -75px;
}

/* unhover */

.tag-unhover {
	pointer-events: none;
}


/* page
----------------------------------------------- */

.page {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 80px auto 0;
	width: 460px;
}
.page__control {
	width: 50px;
}
.page__control a {
	display: block;
	position: relative;
	width: 50px;
	height: 50px;
	border-radius: 50px;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	z-index: 1;
	opacity: 0.4;
}
.page__control a:before,
.page__control a:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: -1;
}
.page__control a:before {
	border-radius: 50px;
	background-color: #f5f5f5;
	transform: rotate(0.09deg) scale(0);
}
.page__control a:after {
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 15px 15px;
}
.page__control--prev a:after {
	background-image: url(../images/common/ic_arrow_black_left.svg);
}
.page__control--next a:after {
	background-image: url(../images/common/ic_arrow_black_right.svg);
}
.page__lists {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 0 0 -10px;
	font-size: 0;
}
.page__list {
	margin: 0 0 0 10px;
}
.page__list a {
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	width: 36px;
	height: 36px;
	font-family: 'Montserrat', sans-serif;
	font-size: 16px;
	font-weight: 700;
	text-decoration: none;
	border-radius: 36px;
	overflow: hidden;
	z-index: 1;
}
.page__list a:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 36px;
	background-color: #f5f5f5;
	z-index: -1;
	transform: rotate(0.09deg) scale(0);
}
.page__list span {
  display: inline-block;
  margin: 0 0 4px;
	font-size: 16px;
	font-weight: 700;
}

/* initial */

.page__control a,
.page__control a:before,
.page__control a:after,
.page__list a:after {
	transition-property: opacity, transform;
	transition-duration: 0.25s;
	transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	will-change: opacity, transform;
}

/* current */

.page__list--current a {
	color: #fff;
}
.page__list--current a:after {
	background-color: #000;
	transform: rotate(0deg) scale(1);
}


/* panel
----------------------------------------------- */

.panel {
	height: 100%;
}
.panel__inner {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	position: relative;
	height: 100%;
	text-align: left;
	border-radius: 10px;
	background-color: #f5f5f5;
	z-index: 1;
}
.panel__image {
	position: relative;
	margin: 0;
	font-size: 0;
	border-radius: 10px 10px 0 0;
	overflow: hidden;
	z-index: 1;
}
.panel__image img {
	width: 100%;
	height: auto;
}
.panel__image span {
	display: block;
	height: 240px;
}
.panel__category {
	display: flex;
	align-items: center;
	position: absolute;
	top: 20px;
	left: -6px;
	padding: 0 5px 0 8px;
	height: 24px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 1;
	border-radius: 4px 0 0 4px;
	background-color: #000;
	z-index: 1;
}
.panel__category:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 12px;
	background-color: #000;
	z-index: -1;
	transform: skewX(-20deg);
	transform-origin: left bottom;
}
.panel__subject {
	margin: 25px 30px 0;
	font-size: 16px;
	font-weight: 700;
	text-align: justify;
	letter-spacing: 0.08em;
	line-height: 24px;
}
.panel__summary {
	margin: 10px 30px 0;
	font-size: 14px;
	text-align: justify;
	letter-spacing: 0.08em;
	line-height: 24px;
}
.panel__date {
	margin: 15px 30px 0;
	font-family: 'Montserrat', 'Noto Sans JP', sans-serif;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0.08em;
}
.panel__date em {
	font-size: 1.8em;
	font-style: normal;
}
.panel__loacation {
	position: relative;
	margin: 12px 30px 0;
	padding: 0 0 0 22px;
	font-size: 14px;
	letter-spacing: 0.04em;
	line-height: 21px;
	z-index: 1;
}
.panel__loacation:after {
	display: block;
	content: "";
	position: absolute;
	top: 2px;
	left: 0;
	width: 14px;
	height: 18px;
	background-image: url(../images/common/ic_location_black.svg);
	background-repeat: no-repeat;
	background-size: 14px 18px;
	z-index: 1;
}
.panel__status {
	position: absolute;
	top: 10px;
	left: -6px;
	width: 60px;
	height: 20px;
	color: #fff;
	font-size: 12px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
	line-height: 19px;
	background-color: #000;
	z-index: 1;
}
.panel__status--open {
	background-color: #1191d2;
}
.panel__status--close {
	background-color: #aaa;
}
.panel__tags {
	display: flex;
	flex-wrap: wrap;
	margin: 0 30px 0 24px;
	padding: 20px 0 30px;
}
.panel__tag {
	margin: 6px 0 0 6px;
}
.panel__button {
	padding: 0 0 40px;
	width: 180px;
}
.panel__movie {
	display: flex;
	position: relative;
	justify-content: center;
	margin: -11px auto;
	width: 220px;
	height: 22px;
	border-radius: 22px;
	background-color: #aaa;
	z-index: 2;
}
.panel__movie--open {
	background-color: #0da5bd;
}
.panel__movie span {
	display: block;
	position: relative;
	color: #fff;
	font-size: 11px;
	font-weight: 700;
	text-indent: 0.07em;
	letter-spacing: 0.07em;
	vertical-align: middle;
	z-index: 1;
}
.panel__movie span:first-child {
	margin: 0 14px 0 0;
	padding-left: 20px;
	line-height: 21px;
}
.panel__movie span:first-child:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin: -8px 0 0;
	width: 16px;
	height: 16px;
	background-image: url(../images/common/ic_movie.svg);
	background-repeat: no-repeat;
	background-size: 16px 16px;
	z-index: 1;
}
.panel__movie span:last-child {
	padding-left: 15px;
	font-size: 14px;
	line-height: 21px;
}
.panel__movie span:last-child:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	margin: -6px 0 0;
	width: 1px;
	height: 12px;
	background-color: rgba(255,255,255,0.4);
	z-index: 1;
}

/* bottom */

.panel__tags.panel__bottom {
	margin-top: auto;
}
.panel__button.panel__bottom {
	margin: auto auto 0;
}


/* panelindex
----------------------------------------------- */

.panelindex {
}
.panelindex--first {
	margin: -50px 0 0;
}
.panelindex__lists {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 -40px;
}
.panelindex__list {
	margin: 50px 0 0 40px;
	width: calc(33.33% - 40px);
}


/* detailcontent
----------------------------------------------- */

.detailcontent {
	display: flex;
	justify-content: space-between;
	margin: -15px 0 0;
}
.detailcontent__column:first-child {
	width: calc(100% - 400px);
}
.detailcontent__column:last-child {
	width: 360px;
}
.detailcontent__body > *:first-child {
	margin-top: 0;
}


/* sideform
----------------------------------------------- */

.sideform {
}
.sideform__outer {
	border-radius: 10px;
	overflow: hidden;
}
.sideform__inner {
	position: relative;
	background-color: #f5f5f5;
	z-index: 1;
}
.sideform__title {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	color: #fff;
	font-size: 16px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	background-color: #0070b0;
}
.sideform__title br {
	display: none;
}
.sideform__title i {
	font-style: normal;
}
.sideform__reserve {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	color: #fff;
	font-size: 16px;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	background-color: rgba(0,0,0,0.6);
	visibility: hidden;
	z-index: 1;
}
.sideform__reserve em {
	display: block;
	margin: 0 0 15px;
	font-size: 24px;
	font-weight: 700;
	font-style: normal;
}

/* reserve */

.sideform--reserve .sideform__reserve {
	visibility: visible;
}


/* complete
----------------------------------------------- */

.complete {
	margin: 0 30px;
	padding: 40px 0;
}
.complete__title {
	font-size: 20px;
	font-weight: 700;
	text-align: center;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 30px;
}
.complete__text {
	margin: 30px 0 0;
	font-size: 16px;
	text-align: justify;
	letter-spacing: 0.08em;
	line-height: 24px;
}
.complete__text a {
	color: #006fb0;
	text-decoration: none;
}
.complete__text--caution {
	position: relative;
	margin: 20px 0 0;
	padding: 0 0 0 10px;
	color: #c20000;
	font-size: 12px;
	line-height: 18px;
	z-index: 1;
}
.complete__text--caution:before {
	display: block;
	content: "";
	position: absolute;
	top: 7px;
	left: 0;
	width: 6px;
	height: 6px;
	background-color: #c20000;
	z-index: 1;
}
.complete__button {
	margin: 30px 0 0;
}


/* aformformat
----------------------------------------------- */

.aformformat {
	padding: 30px 30px 40px;
}
.aformformat a {
	color: #006fb0;
	text-decoration: none;
}
.aformformat a:hover {
	opacity: 0.6;
}
.aformformat dl {
	margin: 30px 0 0;
}
.aformformat dd {
	margin: 10px 0 0;
	font-size: 14px;
	line-height: 1;
}
.aformformat .aform-label {
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 0.08em;
}
.aformformat .aform-confirm {
	display: block;
	padding: 0 0 30px;
	font-size: 16px;
	line-height: 24px;
	border-bottom: 1px solid #e5e5e5;
}
.aformformat .aform-confirm.privacy {
	padding: 0;
	border: 0;
}
.aformformat .aform-required {
	display: inline-block;
	margin: -5px 0 0;
	color: #ea6868;
	font-size: 12px;
	vertical-align: middle;
}

/* buttons */

.aformformat__buttons {
	padding: 20px 0 0;
}
.aformformat__buttons .button {
	margin: 20px 0 0;
}

/* name */

.aformformat .dl_name {
	margin-top: 0;
}
.aformformat .aform-name-ul {
	display: flex;
	margin: 0 0 0 -8px;
}
.aformformat .aform-name-ul li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin: 0 0 0 8px;
	width: calc(50% - 8px);
}
.aformformat .aform-name-ul label {
	width: 20px;
}
.aformformat .aform-name-ul input {
	width: calc(100% - 20px);
}

/* checkbox */

.aformformat .aform-checkbox-ul {
	margin: 0 0 16px;
}
.aformformat .aform-checkbox-ul li {
	margin: 15px 0 0;
}
.aformformat .aform-checkbox-ul input[type="checkbox"] {
	display: none;
}
.aformformat .aform-checkbox-ul label {
	display: inline-block;
	position: relative;
	padding: 0 0 0 30px;
		font-size: 16px;
	line-height: 24px;
	cursor: pointer;
	z-index: 1;
}
.aformformat .aform-checkbox-ul label:before {
	display: inline-block;
	position: absolute;
	content: "";
	top: 4px;
	left: 0;
	width: 20px;
	height: 20px;
	vertical-align: middle;
	border: 1px solid #d1d1d1;
	background-color: #fff;
	box-sizing: border-box;
	z-index: 1;
	transition-property: border-color, background-color;
	transition-duration: 0.2s;
}
.aformformat .aform-checkbox-ul label:after {
	display: block;
	content: "";
	position: absolute;
	top: 4px;
	left: 0;
	width: 20px;
	height: 20px;
	background-image: url(../images/common/ic_check_white.svg);
	background-position: center center;
	background-repeat: no-repeat;
	background-size: 15px;
	z-index: 1;
	transform: scale(0);
	transition-property: transform;
	transition-duration: 0.2s;
}
.aformformat .aform-checkbox-ul input[type="checkbox"]:checked + label:before {
	border-color: #006fb0;
	background-color: #006fb0;
}
.aformformat .aform-checkbox-ul input[type="checkbox"]:checked + label:after {
	transform: scale(1);
	transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
}

/* example */

.aformformat .aform-input-example,
.aformformat .aform-twice-note {
	display: block;
	margin: 0 0 10px;
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 24px;
}

/* error */

.aformformat .aform-error {
	margin: 10px 0 0;
	color: #ea6868;
	font-size: 14px;
	letter-spacing: 0.08em;
	line-height: 21px;
}
.aformformat .aform-error + .aform-error {
	margin: 0;
}

/* parts */

.aformformat input[type="text"],
.aformformat input[type="email"],
.aformformat input[type="tel"],
.aformformat textarea {
	display: block;
	margin: 0;
	padding: 0 15px;
	width: 100%;
	height: 50px;
	line-height: normal;
	outline: none;
	border: 1px solid #d1d1d1;
	border-radius: 0;
	background: none;
	background-color: #fff;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	transition-property: border-color, box-shadow;
	transition-duration: 0.25s;
}
.aformformat textarea {
	padding: 15px;
	height: 240px;
}

/* focus */

.aformformat input[type="text"]:focus,
.aformformat input[type="email"]:focus,
.aformformat input[type="tel"]:focus,
.aformformat textarea:focus {
	border-color: #000;
	box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
}

/* confirm */

.aformformat--confirm dl {
	margin: 0;
	padding: 35px 0;
	border-top: 1px solid #e5e5e5;
}
.aformformat--confirm dt {
	padding: 0;
}
.aformformat--confirm dd {
	padding: 0;
}

/* caution */

.aformformat .caution {
	margin: 10px 0 0;
	padding: 0 0 0 10px;
	font-size: 12px;
	text-indent: -10px;
	line-height: 18px;
}
.aformformat .caution:before {
	display: inline-block;
	content: "";
	margin: 0 0 3px;
	width: 6px;
	height: 6px;
	vertical-align: middle;
	background-color: #999;
}
.aformformat .caution + .caution{
	margin-top: 5px;
}


/* downloadbutton
----------------------------------------------- */

.downloadbutton {
	display: none;
}


/* attachbox
----------------------------------------------- */

.attachbox {
	margin: 140px 0 0;
	border: 4px solid #f5f5f5;
	box-sizing: border-box;
}
.attachbox + .attachbox {
	margin: 40px 0 0;
}
.attachbox__inner {
	margin: 0 40px;
	padding: 30px 0;
}
.attachbox__inner > *:first-child {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

.detail .line {
	margin: 35px 0 0;
	padding: 0 0 10px;
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 27px;
	border: 0;
	border-bottom: 1px solid #e5e5e5;
}
.detail .bullet {
	display: list-item;
	margin: 25px 0 0 25px;
	padding: 0;
	font-size: 16px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 24px;
	list-style: disc;
}
.detail .small {
	margin: 25px 0 0;
	font-size: 14px;
	text-align: justify;
	letter-spacing: 0.08em;
	line-height: 28px;
}
.detail .bullets {
	margin-left: 25px;
}


/* listtop
----------------------------------------------- */

.listtop {
	margin: 80px auto 0;
	width: 280px;
}


/* scroller
----------------------------------------------- */

.scroller {
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-user-drag: none;
	-moz-user-drag: none;
	-ms-user-drag: none;
	touch-action: none;
}
.scroller__inner {
	width: 10000px;
}
.scroller__lists {
	display: flex;
	flex-wrap: nowrap;
	position: relative;
	z-index: 1;
	transition-property: transform;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
	will-change: left;
}


/* controller
----------------------------------------------- */

.controller {
	display: flex;
	justify-content: space-between;
	margin: 50px auto 0;
	max-width: 390px;
}
.controller__page {
	position: relative;
	width: 50px;
	height: 50px;
	cursor: pointer;
	z-index: 1;
}
.controller__page:before,
.controller__page:after {
	display: block;
	content: "";
	position: absolute;
	z-index: 1;
}
.controller__page:before {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	border-radius: 50%;
	background-color: #f5f5f5;
}
.controller__page:after {
	top: 50%;
	left: 50%;
	margin: -6px 0 0 -6px;
	width: 12px;
	height: 12px;
	background-image: url(../images/common/controller_arrow.svg);
	background-repeat: no-repeat;
	background-size: 24px 24px;
}
.controller__page--prev:after {
	background-position: 0 0;
}
.controller__page--next:after {
	background-position: -12px 0;
}
.controller__progress {
	position: relative;
	width: calc(100% - 140px);
	height: 50px;
	overflow: hidden;
	z-index: 1;
}
.controller__bar,
.controller__pointer {
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	z-index: 1;
}
.controller__bar {
	right: 0;
}
.controller__bar:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin-top: -1px;
	height: 2px;
	background-color: #e5e5e5;
}
.controller__pointer {
	width: 50px;
	transition-property: transform;
	transition-duration: 0.5s;
	transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
	will-change: left;
}
.controller__pointer:after {
	display: block;
	content: "";
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	margin-top: -1px;
	height: 2px;
	background-color: #000;
	z-index: 1;
}

/* initial */

.controller__page:before {
	opacity: 0;
}
.controller__page:after {
	opacity: 0.4;
}





















/* pc
----------------------------------------------- */

@media print, screen and (min-width:1000px) {


	/* body
	----------------------------------------------- */

	body {
	}


	/* br
	----------------------------------------------- */

	.sp {
		display: none;
	}


	/* header
	----------------------------------------------- */

	/* negative */

	.js-negative .header {
		background-color: transparent;
	}
	.js-negative .header .header__logo a {
		color: #fff;
	}

	.js-negative .header--hover {
		background-color: #fff;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}
	.js-negative .header--hover .header__logo a {
		color: #000;
	}


	/* menu
	----------------------------------------------- */

	.menu {
		display: none;
	}


	/* nav
	----------------------------------------------- */

	.nav:after {
		opacity: 0;
	}
	.nav__label a:after {
		transform: scaleX(0);
		transform-origin: right;
	}
	.nav__megamenu {
		pointer-events: none;
		overflow: hidden;
	}

	/* ready */

	.js-nav-ready:after {
		transition-property: opacity;
		transition-duration: 0.5s;
		transition-delay: 0s;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}
	.js-nav-ready .nav__label a:after {
		transition-property: transform;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}
	.js-nav-ready .nav__side a {
		transition-property: opacity;
		transition-duration: 0.2s;
	}
	.js-nav-ready .nav__contact a {
		transition-property: background-color;
		transition-duration: 0.2s;
	}

	/* start */

	.js-nav-start .nav__lists {
		pointer-events: auto;
	}

	/* negative */

	.js-negative .nav .nav__label a {
		color: #fff;
	}
	.js-negative .nav .nav__label:after,
	.js-negative .nav .nav__list:first-child .nav__label:before {
		opacity: 0.2;
	}
	.js-negative .nav .nav__list:first-child .nav__label a:after {
		background-color: #fff;
	}
	.js-negative .nav .nav__side a {
		color: #fff;
	}
	.js-negative .nav .nav__contact {
		background-color: #000;
	}
	.js-negative .nav .nav__contact a {
		color: #000;
		background-color: #fff;
	}

	/* hover */

	.nav--hover:after {
		opacity: 1;
	}
	.nav__list:hover .nav__label a:after {
		transform: scaleX(1);
		transform-origin: left;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}
	.nav__list:hover .nav__megamenu {
		pointer-events: auto;
		z-index: 2;
	}
	.nav__side a:hover {
		opacity: 0.6;
	}
	.nav__contact a:hover {
		background-color: #333;
	}

	.js-negative .nav--hover .nav__label a {
		color: #000;
	}
	.js-negative .nav--hover .nav__label:after,
	.js-negative .nav--hover .nav__list:first-child .nav__label:before {
		opacity: 1;
	}
	.js-negative .nav--hover .nav__side a {
		color: #000;
	}
	.js-negative .nav--hover .nav__contact {
		background-color: #fff;
	}
	.js-negative .nav--hover .nav__contact a {
		color: #fff;
		background-color: #000;
	}

	.js-negative .nav .nav__contact a:hover {
		background-color: #d1d1d1;
	}


	/* megamenu
	----------------------------------------------- */

	.megamenu {
		visibility: hidden;
		opacity: 0;
	}

	/* ready */

	.js-nav-ready .megamenu {
		transition-property: visibility, opacity;
		transition-duration: 0s, 0.5s;
		transition-delay: 0.5s, 0s;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	.js-nav-ready .megamenu__title a,
	.js-nav-ready .megamenu__list a,
	.js-nav-ready .megamenu__dx a {
		transition-property: opacity;
		transition-duration: 0.2s;
	}
	.js-nav-ready .megamenu__title em:after {
		transition-property: transform;
		transition-duration: 0.25s;
	}

	/* hover */

	.nav__list:hover .megamenu {
		visibility: visible;
		opacity: 1;
		transition-delay: 0s;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}

	.megamenu__title a:hover,
	.megamenu__list a:hover,
	.megamenu__dx a:hover {
		opacity: 0.6;
	}
	.megamenu__title a:hover em:after {
		transform: translateX(3px);
	}


	/* tag
	----------------------------------------------- */

	.tag {
		transition-property: color;
		transition-duration: 0.25s;
		will-change: color;
	}
	.tag-unhover,
	.tag__frame:last-child {
		transition-property: opacity;
		transition-duration: 0.25s;
		will-change: opacity;
	}

	/* hover */

	.tag:hover {
		color: #fff;
	}
	.tag:hover .tag__frame:last-child {
		opacity: 1;
	}
	.tag--white:hover {
		color: #000;
	}
	a:hover .tag-unhover {
		opacity: 0.6;
	}


	/* page
	----------------------------------------------- */

	/* hover */

	.page__control a:hover {
		opacity: 1;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}
	.page__control a:hover:before,
	.page__list a:hover:after {
		transform: rotate(0deg) scale(1);
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}


	/* panel
	----------------------------------------------- */

	.panel__subject,
	.panel__summary,
	.panel__date,
	.panel__loacation,
	.panel__image span {
		transition-property: opacity, transform;
		transition-duration: 0.25s;
	}

	/* hover */

	a.panel__inner:hover .panel__image span {
		transform: rotate(0.09deg) scale(1.05);
	}
	a.panel__inner:hover .panel__subject,
	a.panel__inner:hover .panel__summary,
	a.panel__inner:hover .panel__date,
	a.panel__inner:hover .panel__loacation {
		opacity: 0.6;
	}


	/* controller
	----------------------------------------------- */

	.controller__page:before,
	.controller__page:after {
		transition-property: opacity;
		transition-duration: 0.25s;
	}

	/* hover */

	.controller__page:hover:before,
	.controller__page:hover:after {
		opacity: 1;
	}
	.controller__progress:hover {
		cursor: col-resize;
	}


	/* complete
	----------------------------------------------- */

	.complete__text a {
		transition-property: opacity;
		transition-duration: 0.25s;
	}

	/* hover */

	.complete__text a:hover {
		opacity: 0.6;
	}
























	/* retina
	----------------------------------------------- */

	@media only screen and (-webkit-min-device-pixel-ratio: 2) {
	}


}



/* pc-footer break-point
----------------------------------------------- */

@media only screen and (min-width:1000px) and (max-width:1140px) {


	/* footer
	----------------------------------------------- */

	.footer__siteinfo {
		display: block;
	}
	.footer__lists {
		justify-content: center;
	}
	.footer__copyright {
		margin: 40px 0 0;
		text-align: center;
	}

}

.mt60Sp0 {
	margin-top: 60px !important;
}

/* sp-menu break-point
----------------------------------------------- */

@media only screen and (max-width:1000px) {
	.mt60Sp0 {
		margin-top: 0 !important;
	}

	/* header
	----------------------------------------------- */

	.header {
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}
	.header__inner {
		margin: 0 20px;
		height: 65px;
	}
	.header__logo a {
		width: 120px;
		height: 25px;
	}

	/* negative */

	.js-negative .header {
		background-color: transparent;
	}
	.js-negative .header .header__logo a {
		color: #fff;
	}


	/* footer
	----------------------------------------------- */

	.footer__outer {
		margin: 0 40px;
	}
	.footer__inner {
		margin: auto;
		padding: 60px 0 20px;
		padding-bottom: 130px;
		text-align: center;
	}
	.footer__logo a {
		width: 168px;
		height: 35px;
	}

	.footer__siteinfo {
		display: block;
		padding: 0;
	}
	.footer__lists {
		display: block;
		margin: 0;
		padding: 20px 0 0
	}
	.footer__list {
		margin: 20px 0 0;
	}
	.footer__list a {
		padding: 0;
	}
	.footer__list a:after {
		display: none;
	}
	.footer__copyright {
		margin: 40px 0 0;
		font-size: 10px;
	}


	/* sitelink
	----------------------------------------------- */

	.sitelink__inner {
		display: block;
		max-width: initial;
	}
	.sitelink__columns {
		display: none;
	}
	.sitelink__banners {
		padding: 40px 0 0;
		width: auto;
		display:flex;
	}
	.sitelink__banner:not(:first-child){
		margin-left:30px;
	}


	/* conversion
	----------------------------------------------- */
	.conversion__column {
		margin: 0 0 0 30px;
	}


	/* menu
	----------------------------------------------- */

	.menu {
		position: fixed;
		top: 0;
		right: 0;
		width: 65px;
		height: 65px;
		cursor: pointer;
		z-index: 10;
	}
	.menu__icon {
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -11px 0 0 -11px;
		width: 23px;
		height: 23px;
		z-index: 1;
	}
	.menu__icon svg {
		position: absolute;
		top: 0;
		left: 0;
		max-width: 100%;
		max-height: 100%;
		fill: #000;
		z-index: 1;
	}

	/* initial */

	.menu__icon--close {
		transform: scale(0);
	}

	/* ready */

	.js-menu-ready .menu__icon {
		transition-property: transform;
		transition-duration: 0.25s;
	}
	.js-menu-ready .menu__icon--open {
		transition-delay: 0.1s;
	}
	.js-menu-ready .menu__icon--close {
		transition-delay: 0s;
	}

	/* open */

	.js-menu-open .menu__icon--open {
		transform: scaleX(0);
		transition-delay: 0s;
	}
	.js-menu-open .menu__icon--close {
		transform: scale(1);
		transition-delay: 0.1s;
	}

	/* negative */

	.js-negative .menu .menu__icon svg {
		fill: #fff;
	}


	/* nav
	----------------------------------------------- */

	.nav {
		top: 65px;
		overflow: hidden;
	}
	.nav:after {
		display: none;
	}
	.nav__outer {
		width: 100%;
		height: 100%;
		background-color: rgba(0,0,0,0.7);
		overflow: hidden;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}
	.nav__inner {
		padding: 0 0 50px;
		background-color: #fff;
	}

	.nav__lists {
		display: block;
		position: static;
		border-bottom: 1px solid #e5e5e5;
	}
	.nav__list {
		border-top: 1px solid #e5e5e5;
	}
	.nav__label:after,
	.nav__list:first-child .nav__label:before {
		display: none;
	}
	.nav__label a {
		display: flex;
		align-items: center;
		padding: 0 20px;
		height: 65px;
		font-size: 14px;
		text-indent: 0.04em;
		letter-spacing: 0.04em;
	}
	.nav__label a:after {
		display: none;
	}
	.nav__link,
	.nav__opener {
		position: absolute;
		top: 0;
		right: 0;
		width: 65px;
		height: 65px;
		z-index: 1;
		-webkit-tap-highlight-color: rgba(0,0,0,0);
	}
	.nav__link {
		pointer-events: none;
	}
	.nav__link:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		margin: -7px 0 0 -5px;
		width: 10px;
		height: 14px;
		background-image: url(../images/common/ic_arrow_black_right.svg);
		background-repeat: no-repeat;
		background-size: 10px 14px;
		z-index: 1;
	}
	.nav__opener {
		cursor: pointer;
	}
	.nav__opener:before,
	.nav__opener:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		left: 50%;
		background-color: #000;
		z-index: 1;
	}
	.nav__opener:before {
		margin: -1px 0 0 -6px;
		width: 12px;
		height: 2px;
	}
	.nav__opener:after {
		margin: -6px 0 0 -1px;
		width: 2px;
		height: 12px;
	}
	.nav__megamenu {
		position: static;
	}
	.nav__sides {
		justify-content: center;
		position: static;
		padding: 50px 0;
		display: block;
		text-align: center;
	}
	.nav__side {
		margin: 5px 0;
		display: inline-block;
	}
	.nav__side a {
		position: relative;
		padding: 0 18px;
		font-weight: 700;
		text-indent: 0.04em;
		letter-spacing: 0.04em;
		z-index: 1;
	}
	.nav__side a:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 0;
		margin: -6px 0 0;
		width: 1px;
		height: 13px;
		background-color: #d1d1d1;
		z-index: 1;
	}
	.nav__side:last-child a:after {
		display: none;
	}

	.nav__contact {
		position: static;
		margin: 0 40px;
	}
	.nav__contact a {
		position: relative;
		margin: auto;
		max-width: 295px;
		width: auto;
		height: 60px;
		font-size: 16px;
		text-indent: 0.04em;
		letter-spacing: 0.04em;
		z-index: 1;
	}
	.nav__contact a:after {
		display: block;
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		margin: -7px 0 0;
		width: 10px;
		height: 14px;
		background-image: url(../images/common/ic_arrow_white_right.svg);
		background-repeat: no-repeat;
		background-size: 10px 14px;
		z-index: 1;
	}
	.nav__contact svg {
		display: none;
	}

	/* initial */

	.nav {
		pointer-events: none;
		visibility: hidden;
	}
	.nav__outer {
		background-color: rgba(0,0,0,0);
	}
	.nav__inner {
		transform: translateX(100%);
	}

	/* ready */

	.js-nav-ready {
		transition-property: visibility;
		transition-duration: 0s;
		transition-delay: 0.75s;
	}
	.js-nav-ready .nav__outer {
		transition-property: background-color;
		transition-duration: 0.5s;
	}
	.js-nav-ready .nav__inner {
		transition-property: transform;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
		will-change: transform;
	}
	.js-nav-ready .nav__opener,
	.js-nav-ready .nav__opener:before {
		transition-property: transform;
		transition-duration: 0.25s;
		transition-delay: 0s;
	}
	.js-nav-ready .nav__opener {
		transition-delay: 0.25s;
	}

	/* open */

	.js-nav-open {
		pointer-events: auto;
		visibility: visible;
		transition-delay: 0s;
	}
	.js-nav-open .nav__outer {
		background-color: rgba(0,0,0,0.7);
	}
	.js-nav-open .nav__inner {
		transform: translateX(0);
	}

	/* slide */

	.nav__opener--open {
		transform: rotate(90deg);
		transition-delay: 0s;
	}
	.nav__opener--open:before {
		transform: scaleX(0);
		transition-delay: 0.25s;
	}


	/* megamenu
	----------------------------------------------- */

	.megamenu__outer {
		margin: 0 20px 0 40px;
	}
	.megamenu:after {
		display: none;
	}
	.megamenu__inner {
		display: block;
		padding: 0 0 40px;
		max-width: initial;
	}
	.megamenu__title {
		display: none;
	}
	.megamenu__content {
		width: auto;
	}

	.megamenu__lists {
		display: block;
		margin: -15px 0 0;
	}
	.megamenu__list {
		margin: 25px 0 0;
	}
	.megamenu__list a {
		font-size: 12px;
		text-indent: 0.04em;
		letter-spacing: 0.04em;
	}
	.megamenu__sublists {
		margin: 0 0 0 15px;
		padding: 5px 0 0;
	}
	.megamenu__sublist {
		margin: 20px 0 0;
	}
	.megamenu__no {
		display: block;
		margin: 0 0 3px;
		width: auto;
		height: auto;
		font-size: 10px;
		text-indent: 0.04em;
		letter-spacing: 0.04em;
		border: 0;
	}
	.megamenu__theme {
		width: auto;
		font-size: 12px;
		text-indent: 0.04em;
		letter-spacing: 0.04em;
		line-height: 18px;
	}
	.megamenu__dx {
		display: none;
	}

	/* service */

	.nav__list--service .megamenu__title,
	.nav__list--service .megamenu__content {
		width: auto;
	}
	.megamenu__lists--service .megamenu__lists {
		margin-left: 0;
	}
	.megamenu__lists--service .megamenu__list {
		margin-left: 0;
		width: auto;
	}
	.megamenu__lists--service .megamenu__list:last-child {
		width: auto;
	}

	/* casestudy */

	.megamenu__lists--casestudy {
		margin: -15px 0 0;
	}
	.megamenu__lists--casestudy .megamenu__list {
		margin: 25px 0 0;
	}
	.megamenu__lists--casestudy .megamenu__list a {
		display: block;
		margin: auto;
	}

	/* company */

	.megamenu__lists--company {
		margin-right: 0;
		max-width: initial;
	}
	.megamenu__lists--company .megamenu__list {
		width: auto;
	}
	.megamenu__lists--company .megamenu__list:first-child {
		display: block;
	}

	/* recruit */

	.megamenu__lists--recruit {
		max-width: initial;
	}
	.megamenu__lists--recruit .megamenu__list {
		width: auto;
	}


	/* contents
	----------------------------------------------- */
	.contents{
		margin:60px 0 0;
	}

	/* localnav
	----------------------------------------------- */

	.localnav {
		padding: 45px 0 0;
	}
	.localnav__outer {
		margin: 0 20px;
	}
	/* .localnav__inner {
		max-width: 375px;
	} */
	.localnav__column {
		display: block;
	}
	.localnav__title {
		padding: 12px 0 20px;
		width: auto;
	}
	.localnav__lists {
		flex-wrap: wrap;
		padding: 0 10px;
		width: auto;
	}
	.localnav__list {
		width: 50%;
	}
	.localnav__list a {
		justify-content: flex-start;
		margin: 0 10px;
		height: 60px;
		border-bottom: 1px solid #e5e5e5;
	}
	.localnav__list a:after {
		display: none;
	}
	.localnav__label {
		padding: 0 0 0 10px;
	}
	.localnav__list--current .localnav__label:after {
		top: 50%;
		left: 0;
		right: auto;
		bottom: auto;
		margin: -10px 0 0;
		width: 2px;
		height: 20px;
	}
	.localnav__back {
		margin: 15px 0 0;
	}
	/* column3 */

	.localnav--column3 .localnav__list {
		width: 50%;
	}
	.localnav--column3 .localnav__list:last-child a {
		border: 0;
	}
	
	/* column5 */

	.localnav--column5 .localnav__list {
		width: 50%;
	}
	.localnav--column5 .localnav__list:last-child a {
		border: 0;
	}

	/* column6 */

	.localnav--column6 .localnav__list {
		width: 50%;
	}
	.localnav--column6 .localnav__list:nth-last-child(-n+2) a {
		border: 0;
	}


	/* related
	----------------------------------------------- */

	.related {
		margin: 60px 0 0;
	}
	.related__outer {
		margin: 0 20px;
	}
	/*.related__inner {
		padding: 60px 0 0;
	}*/
	.related__title {
		padding: 0 0 20px;
		font-size: 20px;
	}
	.related__text {
		margin: 15px 0 0;
		font-size: 14px;
		text-align: justify;
		line-height: 35px;
	}

	.related__slider {
		margin: 20px -20px 0;
	}
	.related__lists {
		display: block;
		margin: 0;
	}
	.related__list {
		margin: 0;
		width: auto;
	}
	.related__list a {
		margin: 0 10px;
	}
	.related__label {
		margin: -8px 0 0;
		font-size: 16px;
	}

	.related__case {
		padding: 0 10px;
		height: 18px;
		font-size: 10px;
		line-height: 18px;
	}
	.related__tags {
		margin: 0 10px 0 0;
	}
	.related__tag a {
		margin: 0;
	}

	.related__box {
		padding: 20px 15px 20px;
		border-width: 6px;

		min-height: 220px;
	}
	.related__service {
		font-size: 16px;
	}
	.related__summary {
		margin: 15px 0 0;
	}

	/* scroller */

	.related__scroller {
		margin: 30px -20px 0;
		overflow: hidden;
	}
	.related__scroller .scroller__inner {
		margin-left: 55px;
		width: 10000px;
	}
	.related__scroller .scroller__lists {
		display: flex;
		flex-wrap: nowrap;
		margin: 0;
	}
	.related__scroller .scroller__list {
		margin: 0 20px 0 0;
		width: calc(100vw - 90px);
	}

	/* type */

	.related__lists--type3 .related__list,
	.related__lists--type4 .related__list {
		width: auto;
	}


}


/* pc - mobile
----------------------------------------------- */

@media print, screen and (min-width:769px) {

	/* display */
	
	.sp-display {
		display: none !important;
	}

	/* footer
	----------------------------------------------- */

	.footer a,
	.sitelink__banner a {
		transition-property: opacity;
		transition-duration: 0.2s;
	}

	/* hover */

	.footer a:hover {
		opacity: 0.6;
	}
	.footer__logo a:hover {
		opacity: 1;
	}
	.sitelink__banner a:hover {
		opacity: 0.9;
	}


	/* pageup
	----------------------------------------------- */

	.pageup,
	.pageup:after {
		transition-property: opacity, transform;
		transition-duration: 0.25s;
	}

	/* hover */

	.pageup:hover {
		opacity: 0.6;
	}
	.pageup:hover:after {
		transform: rotate(0.09deg) scale(1.1);
	}


	/* conversion
	----------------------------------------------- */

		.conversion__button a,
		.conversion__button a:after,
		.conversion__icon {
			transition-property: color, transform;
			transition-duration: 0.35s;
			transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
		}

		/* hover */

		.conversion__button a:hover {
			color: #fff;
		}
		.conversion__button a:hover:after {
			transform: scaleX(1);
			transform-origin: left;
		}
		.conversion__button a:hover .conversion__icon {
			color: #fff;
			transform: translateX(3px);
		}


		/* conversion
		----------------------------------------------- */

	.entryhere__button a,
	.entryhere__button a:after,
	.entryhere__icon {
		transition-property: color, transform;
		transition-duration: 0.35s;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	/* hover */

	.entryhere__button a:hover {
		color: #fff;
	}
	.entryhere__button a:hover:after {
		transform: scaleX(1);
		transform-origin: left;
	}
	.entryhere__button a:hover .entryhere__icon {
		color: #fff;
		transform: translateX(3px);
	}

	/* quickentry
	----------------------------------------------- */

	.quickentry a,
	.quickentry a:after {
		transition-property: background-color, transform;
		transition-duration: 0.25s;
	}

	/* hover */

	.quickentry a:hover {
		background-color: #499fd2;
	}
	.quickentry a:hover:after {
		transform: translateX(3px);
	}

	/* pagetitle
	----------------------------------------------- */

	.pagetitle__label a {
		transition-property: opacity;
		transition-duration: 0.2s;
	}

	/* hover */

	.pagetitle__label a:hover {
		opacity: 0.6;
	}


	/* location
	----------------------------------------------- */

	.location a {
		transition-property: opacity;
		transition-duration: 0.2s;
	}

	/* hover */

	.location a:hover {
		opacity: 0.6;
	}


	/* textlink
	----------------------------------------------- */

	.detail p a,
	.detail li a,
	.detail dt a,
	.detail dd a,
	.detail th a,
	.detail td a,
	.link,
	.link:after {
		transition-property: opacity, transform;
		transition-duration: 0.25s;
	}

	/* hover */


	.detail p a:hover,
	.detail li a:hover,
	.detail dt a:hover,
	.detail dd a:hover,
	.detail th a:hover,
	.detail td a:hover,
	.link:hover {
		opacity: 0.6;
	}
	.link:hover:after {
		transform: translateX(3px);
	}


	/* morelink
	----------------------------------------------- */

	.morelink a:after,
	.morelink__label,
	.morelink__icon {
		transition-property: color, transform;
		transition-duration: 0.35s;
		transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
	}

	/* hover */

	.morelink a:hover:after {
		transform: scaleX(1);
		transform-origin: left;
	}
	.morelink a:hover .morelink__label {
		color: #fff;
	}
	.morelink a:hover .morelink__icon,
	.morelink a:hover .entryhere__icon {
		color: #fff;
		transform: translateX(3px);
	}
	
	/* white */

	.morelink--white a:hover .morelink__label,
	.morelink--white a:hover .morelink__icon {
		color: #000;
	}


	/* button
	----------------------------------------------- */

	.button a,
	.button a:after,
	.button button,
	.button button:after,
	.button__label,
	.button__icon {
		transition-property: color, border-color, transform;
		transition-duration: 0.35s;
		transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
	}

	/* hover */

	.button a:hover,
	.button button:hover {
		border-color: #d1d1d1;
	}
	.button a:hover:after,
	.button button:hover:after {
		transform: scaleX(1);
		transform-origin: left;
	}
	.button a:hover .button__label,
	.button button:hover .button__label {
		color: #000;
	}
	.button a:hover .button__icon,
	.button button:hover .button__icon {
		color: #000;
		transform: translateX(3px);
	}

	/* white */

	.button--white a:hover {
		border-color: #000;
	}
	.button--white a:hover .button__label {
		color: #fff;
	}
	.button--white a:hover .button__icon {
		color: #fff;
	}

	/* edit */

	.button--edit a:hover,
	.button--edit button:hover {
		border-color: #000;
	}
	.button--edit a:hover .button__label,
	.button--edit button:hover .button__label {
		color: #fff;
	}
	.button--edit a:hover .button__icon,
	.button--edit button:hover .button__icon {
		color: #fff;
		transform: translateX(-3px);
	}


	/* button
	----------------------------------------------- */

	.button--blue a,
	.button--blue a:after,
	.button--blue button,
	.button--blue button:after,
	.button--blue .button__label,
	.button--blue .button__icon {
		transition-property: color, border-color, transform;
		transition-duration: 0.35s;
		transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
	}

	/* hover */

	.button--blue a:hover,
	.button--blue button:hover {
		border-color: #006fb0;
	}
	.button--blue a:hover:after,
	.button--blue button:hover:after {
		transform: scaleX(1);
		transform-origin: left;
	}
	.button--blue a:hover .button__label,
	.button--blue button:hover .button__label {
		color: #006fb0;
	}
	.button--blue a:hover .button__icon,
	.button--blue button:hover .button__icon {
		color: #006fb0;
		transform: translateX(3px);
	}

	.button--blue.button--edit a:hover,
	.button--blue.button--edit button:hover {
		border-color: #006fb0;
	}
	.button--blue.button--edit a:hover .button__label,
	.button--blue.button--edit button:hover .button__label {
		color: #fff;
	}
	.button--blue.button--edit a:hover .button__icon,
	.button--blue.button--edit button:hover .button__icon {
		color: #fff;
		transform: translateX(-3px);
	}


	/* bluebutton
	----------------------------------------------- */

	.bluebutton,
	.bluebutton:after,
	.bluebutton__icon {
		transform-origin: left;
		transition-property: color, transform;
		transition-duration: 0.35s;
		transition-timing-function: cubic-bezier(0.83, 0, 0.17, 1);
	}

	/* hover */

	.bluebutton:hover,
	a:hover .bluebutton {
		color: #006fb0;
	}
	.bluebutton:hover:after,
	a:hover .bluebutton:after {
		transform: scaleX(0);
		transform-origin: right;
	}
	.bluebutton:hover .bluebutton__icon,
	a:hover .bluebutton__icon {
		color: #006fb0;
		transform: translateX(3px);
	}


	/* localnav
	----------------------------------------------- */

	.localnav__label,
	.localnav__label:after,
	.localnav__back a,
	.localnav__back a:before {
		transition-property: opacity, transform;
		transition-duration: 0.25s;
	}

	/* hover */

	.localnav__list a:hover .localnav__label {
		opacity: 0.6;
	}
	.localnav__list a:hover .localnav__label:after {
		transform: scaleX(1);
		transform-origin: left;
	}
	.localnav__back a:hover {
		opacity: 0.6;
	}
	.localnav__back a:hover:before {
		transform: translateX(-3px);
	}


	/* article
	----------------------------------------------- */

	.article__list:after,
	.article__list a,
	.link-area a {
		transition-duration: 0.25s;
	}

	/* hover */

	.article__list:hover:after,
	.link-area a:hover:after {
		transform: translateX(3px);
	}
	.article__list:hover a,
	.link-area a:hover {
		opacity: 0.6;
	}

	.news-list a:hover {
		background-color: #000;
		color: #fff;
	}


	/* tabmenu
	----------------------------------------------- */

	/* hover */

	.tabmenu__label:hover {
		transform: translateY(-10px);
	}


	/* column
	----------------------------------------------- */

	.column__image img,
	.column__title,
	.column__subject,
	.column__post,
	.column__name,
	.column__tag {
		transition-property: opacity, transform;
		transition-duration: 0.65s;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}	

	.news__column:last-child .controller {
		display: none!important;
	}

	/* hover */

	.column__list a:hover .column__subject,
	.column__list a:hover .column__title,
	.column__list a:hover .column__post,
	.column__list a:hover .column__name {
		opacity: 0.6;
	}
	.column__list a:hover .column__image img {
		transform: rotate(0.09deg) scale(1.1);
	}
	.column__tag:hover {
		opacity: 0.6;
	}


	/* paginate
	----------------------------------------------- */

	.paginate__arrow a:after,
	.paginate__icon,
	.paginate__list a:after {
		transition-property: color, transform;
		transition-duration: 0.25s;
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	/* hover */

	.paginate__arrow a:hover:after {
		transform: rotate(0deg) scale(1);
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}
	.paginate__arrow a:hover .paginate__icon {
		color: #000;
	}
	.paginate__list a:hover:after {
		transform: rotate(0deg) scale(1);
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}


	/* related
	----------------------------------------------- */

	.related__label:after,
	.related__service:after,
	.related__image img {
		transition-property: transform;
		transition-duration: 0.25s;
	}
	.related__image img {
		transition-duration: 0.65s;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}
/*
	.related__subject,
	.related__post,
	.related__name,
*/
	.related__list p,
	.related__tag a {
		transition-property: opacity;
		transition-duration: 0.2s;
	}

	/* hover */

	.related__list a:hover .related__label:after,
	.related__list a:hover .related__service:after {
		transform: translateX(3px);
	}
	.related__list a:hover .related__image img {
		transform: rotate(0.09deg) scale(1.05);
	}
/*
	.related__list a:hover .related__subject,
	.related__list a:hover .related__post,
	.related__list a:hover .related__name,
*/
	.related__list a:hover p,
	.related__tag a:hover {
		opacity: 0.6;
	}


	/* modal
	----------------------------------------------- */

	.modal__close span {
		transition-property: opacity;
		transition-duration: 0.25s;
	}

	/* hover */

	.modal__close:hover span {
		opacity: 0.6;
	}

}


/* mobile
----------------------------------------------- */

@media only screen and (max-width:999px) {


	/* body
	----------------------------------------------- */

	body {
	}


	/* br
	----------------------------------------------- */

	.pc {
		display: none;
	}


	/* footer
	----------------------------------------------- */
	.footer__inner{
		max-width: 375px;
	}


	/* conversion
	----------------------------------------------- */
	.conversion__outer {
		margin: 0 40px;
	}
	.conversion__inner {
		display: block;
		margin: auto;
		padding: 60px 0;
		max-width: 375px;
	}
	.conversion__title {
		font-size: 12px;
		text-align: center;
		text-indent: 0.04em;
	}
	.conversion__title em {
		margin: 0 0 10px;
		font-size: 28px;
		text-indent: 0.04em;
	}
	.conversion__columns {
		display: block;
		margin: -10px 0 0;
		max-width: initial;
	}
	.conversion__column {
		margin: 40px 0 0;
		width:100%;
	}
	.conversion__button a {
		height: 60px;
		z-index: 1;
	}
	.conversion__icon {
		right: 10px;
	}
	.conversion__text {
		margin: 10px 0 0;
		letter-spacing: 0.04em;
	}

	/* sitelink
	----------------------------------------------- */
	.sitelink__banners {
		display:block;
	}
	.sitelink__banner:not(:first-child){
		margin-left:0;
	}


	/* entryhere
	----------------------------------------------- */

	.entryhere__image {
		background-image: url(../images/common/entryhere_bg_sp.jpg);
	}
	.entryhere__outer {
		margin: 0 40px;
	}
	.entryhere__inner {
		padding: 60px 0;
		max-width: 375px;
	}
	.entryhere__title {
		margin: -6px 0 0;
		font-size: 12px;
	}
	.entryhere__title em {
		margin: 0 0 13px;
		font-size: 28px;
	}
	.entryhere__text {
		margin: 25px 0 0;
		text-align: justify;
		text-justify: inter-ideograph;
		letter-spacing: 0.04em;
	}
	.entryhere__button {
		margin: 25px 0 0;
		width: auto;
	}
	.entryhere__button a {
		height: 60px;
	}
	.entryhere__icon {
		right: 10px;
	}


	/* quickentry
	----------------------------------------------- */
	.quickentry {
		bottom: 55px;
	}
	.quickentry a {
		width: 220px;
	}
	.quickentry a:after {
		right: 10px;
	}
	.quickentry span {
		left: 20px;
		bottom: 0;
		font-size: 12px;
	}
	.quickentry em {
		margin: 0 15px -1px 0;
	}




	/* main
	----------------------------------------------- */

	.main {
		padding: 0 0 100px;
	}


	/* pagetitle
	----------------------------------------------- */

	.pagetitle__outer {
		margin: 0 20px;
	}
	.pagetitle__inner {
		padding: 120px 0 0;
		max-width: initial;
	}
	.pagetitle__inner--space {
		padding-top: 155px;
	}
	.servicePage .pagetitle__inner {
		padding: 130px 0 0;
	}
	.pagetitle__text {
		font-size: 30px;
		line-height: 45px;
	}
	.pagetitle__label {
		margin: 0;
		font-size: 12px;
	}
	.pagetitle__info {
		margin: 25px 0 0;
	}
	.pagetitle__date {
		letter-spacing: 0.08em;
	}
	.pagetitle__category {
		margin: 0 0 0 15px;
	}


	/* location
	----------------------------------------------- */

	.location {
		display: none;
		position: static;
		margin: 0;
		border-bottom: 1px solid #191919;
		background-color: #000;
	}
	.location__outer {
		margin: 0;
	}
	.location__inner {
		padding: 10px 20px;
		max-width: initial;
		color: #fff;
		font-size: 12px;
		text-align: left;
		white-space: nowrap;
		line-height: 18px;
		overflow: auto;
	}
	.location__inner a {
		color: #fff;
	}

	/* footer */

	.location--footer {
		display: block;
	}


	/* pageheader
	----------------------------------------------- */

	.pageheader {
		margin: 40px 0 0;
		min-height: initial;
	}
	.pageheader__outer {
		margin: 0 20px;
	}
	.pageheader__inner {
		display: block;
		margin: auto;
		max-width: initial;
	}
	.pageheader__image {
		position: static;
		height: 250px;
		background-image: url(../images/company/dx_header_sp.jpg);
	}
	.pageheader__summary {
		margin: -40px 0 0;
		padding: 30px 0 25px;
		min-height: initial;
		width: auto;
	}
	.pageheader__text {
		margin: 0 30px;
		font-size: 14px;
		letter-spacing: 0.04em;
		line-height: 35px;
	}
	.pageheader__text--title {
		margin-bottom: 5px;
		font-size: 20px;
		line-height: 30px;
	}
	.pageheader__text--caption {
		margin-bottom: 15px;
		font-size: 12px;
		line-height: 18px;
	}
	.pageheader__text small {
		font-size: 10px;
	}


	/* contents
	----------------------------------------------- */

	.contents {
		margin: 30px 0 0;
	}
	.contents__outer {
		margin: 0 20px;
	}
	.contents__inner {
		margin: auto;
	}


	/* morelink
	----------------------------------------------- */

	.morelink__label {
		left: 10px;
	}
	.detail .morelink {
		max-width: initial;
	}


	/* button
	----------------------------------------------- */

	.button a,
	.button button {
		max-width: 375px;
	}
	.button__label {
		font-size: 16px;
	}

	.detail .button {
		max-width: initial;
	}


	/* bluebutton
	----------------------------------------------- */

	.bluebutton {
		height: 50px;
	}
	.bluebutton__label {
		padding: 0 25px;
		font-size: 12px;
		text-align: center;
		line-height: 18px;
	}
	.bluebutton__icon {
		right: 10px;
	}

	/* small */

	.bluebutton--small {
		height: 40px;
	}
	.bluebutton--small .bluebutton__label {
		padding: 0 25px;
		font-size: 14px;
		line-height: 27px;
	}
	.bluebutton--small .bluebutton__icon {
		right: 10px;
	}


	/* buttons
	----------------------------------------------- */

	.buttons {
		display: block;
		margin: 0;
		padding: 25px 0 0;
	}
	.buttons .button {
		margin: 15px 0 0;
		width: auto;
	}


	/* table
	----------------------------------------------- */

	.table {
		margin: 20px -20px 0 0;
		overflow: auto;
	}
	.table__inner {
		width: 1160px;
	}
	.table th,
	.table td {
		padding: 15px 20px;
		font-size: 14px;
		line-height: 21px;
	}
	.table th {
		padding-left: 20px;
		width: 20%;
	}
	.table td {
		width: 80%;
	}
	.table thead th,
	.table thead td {
	}

	/* column2 */

	.table--column2 th {
		width: 12%;
	}
	.table--column2 td {
		width: 44%;
	}


	/* summarytable
	----------------------------------------------- */

	.summarytable {
		margin: 40px 0 100px;
	}
	.summarytable th,
	.summarytable td {
		display: block;
		padding: 0;
		font-size: 14px;
		line-height: 21px;
	}
	.summarytable th {
		padding: 25px 0 0;
		width: auto;
	}
	.summarytable td {
		margin: 5px 0 0;
		padding: 0 0 25px;
		width: auto;
	}

	/* subcontents */

	.summarytable--subcontents {
		margin: 40px 0 0;
	}

	/* ul */

	.summarytable li {
		font-size: 14px;
		line-height: 21px;
	}


	/* article
	----------------------------------------------- */
	.news__column__inner {
		padding-right: 15px;
		padding-left: 15px;
	}
	.article__lists--line .article__img {
		width: 150px;
		margin-right: 15px;
	}
	.article__lists--line .article__item {
		width: calc(100% - 195px);
		padding-right: 15px;
	}
	.article__lists--line .article__date {
		font-size: 14px;
		padding: 0 10px;
		min-width: 100px;
	}
	.article__lists--line .article__category {
		padding-right: 10px;
		padding-left: 10px;
	}

	/* .article__list:after {
		right: 0px;
		margin: -5px 0 0;
	}

	.article__lists--line .article__list:after {
		right: 20px;
	}

	.article__list--guidance {
		padding: 25px 0;
	}
	.article__text {
		font-size: 14px;
		line-height: 24px;
	}

	.article__theme {
		margin: 10px 50px 0 0;
		font-size: 16px;
		line-height: 24px;
	}
	.article__info {
		margin: 0;
	}
	.article__schedule {
		display: block;
		margin: 10px 0 0;
	}
	.article__location {
		display: block;
		margin: 15px 0 0;
	}

	.article__list:first-child {
		border-top: 0;
		padding-top: 0;
	}
	.article__img {
		margin: 27px 20px 0 0;
		width: 125px;
	}
	.article__lists--line .article__img {
		margin: 0 40px 0 0;
	}
	.article__item {
		padding: 0 25px 0 0;
		width: calc(100% - 170px);
	}
	.article__header {
		border-left: 0;
		margin-left: -145px;
		margin-bottom: 13px;
	}
	.article__lists--line .article__header {
		margin-left: 0;
	}
	.article__date {
		border-left: 0;
		padding: 0 20px 0 0;
		min-width: auto;
	}
	.article__category {
		padding: 0 20px;
		min-width: auto;
		border-right: 0;
	}
	.article__title {
		font-size: 14px;
		line-height: 1.5;
	}	 */

	/* archive
	----------------------------------------------- */

	.archive {
		margin: 0 0 30px;
	}
	.archive__select {
		display: block;
	}


	/* guidance
	----------------------------------------------- */

	.guidance {
		padding: 15px 0 0;
	}
	.guidance__title {
		font-size: 20px;
		line-height: 30px;
	}
	.guidance__text {
		margin: 10px 0 0;
		font-size: 14px;
		letter-spacing: 0;
		line-height: 35px;
	}


	/* tabmenu
	----------------------------------------------- */

	.tabmenu__inner {
		max-width: initial;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.tabmenu__inner::-webkit-scrollbar{
		display:none;
		-webkit-appearance: none;
	}
	.tabmenu__lists {
		margin: 0 0 0 18px;
		width: 432px;
	}
	.tabmenu__list:last-child {
		margin-right: 18px;
	}
	.tabmenu__label {
		padding: 0 5px;
		height: 59px;
		font-size: 12px;
		line-height: 18px;
	}
	.tabmenu__text {
		left: 5px;
		right: 5px;
		font-size: 12px;
		line-height: 18px;
	}

	/* tab2 */

	.tabmenu--tab2 .tabmenu__lists {
		width: calc(100% - 36px);
	}




	/* detail
	----------------------------------------------- */

	.detail > p:first-child {
		margin-top: 0 !important;
	}
	.detail--first {
		margin-top: 65px;
	}
	.detail h2,
	.headline--h2 {
		margin: 80px 0 0;
		padding: 10px 0 10px 15px;
		font-size: 24px;
		line-height: 36px;
	}
	.detail h3,
	.headline--h3 {
		margin: 60px 0 0;
		font-size: 20px;
		line-height: 30px;
	}
	.detail h4,
	.headline--h4 {
		margin: 60px 0 0;
		font-size: 16px;
		line-height: 24px;
	}
	.detail p,
	.text--line {
		margin: 25px 0 -5px;
		font-size: 14px;
		line-height: 35px;
	}

	.detail h2 small,
	.headline--h2 small {
		font-size: 12px;
	}

	.detail headline--first,
	.headline--first {
		margin: 40px 0 0;
	}

	.detail .text--small,
	.text--small {
		margin: 25px 0 0;
		font-size: 12px;
		line-height: 21px;
	}
	.detail .text--center,
	.text--center {
		text-align: justify;
		text-justify: inter-ideograph;
	}

	.detail .text--floatleft,
	.detail .text--floatright,
	.text--floatleft,
	.text--floatright {
		float: none;
		margin: 25px 0 -5px;
		padding: 0;
		width: auto;
	}

	.detail ul,
	.detail ol {
		margin: 0 0 0 20px;
		padding: 20px 0 0;
	}
	.detail li {
		margin: 10px 0 0;
		font-size: 14px;
		line-height: 21px;
	}

	.detail ol {
		margin: 0;
	}

	.detail ol>li ul li {
		padding-left: 0;
		text-indent: 0;
	}

	.detail dl {
		padding: 20px 0 0;
	}
	.detail dt,
	.detail dd {
		padding: 15px 0 0;
		font-size: 14px;
		line-height: 21px;
	}
	.detail dt {
		padding: 30px 0 0;
		font-size: 16px;
		line-height: 24px;
	}

	.detail figure.single {
		margin: 30px 0 0;
	}
	.detail figure.single img {
		width: 100%;
	}
	.detail img{
		display:block;
		margin-left:auto;
		margin-right:auto;
	}

	.detail figcaption {
		margin: 10px 0 0;
		font-size: 12px;
		line-height: 18px;
	}

	/* columns */

	.detail .columns {
		display: block;
	}
	.detail .columns__column {
		width: auto;
	}

	/* borderbox */

	.detail .borderbox {
		margin: 30px 0 0;
		padding: 15px 0 20px;
	}
	.detail .borderbox ul {
		margin: 0 20px 0 35px;
	}

	.detail .youtube {
		margin: 35px 0 0;
	}


	/* margin
	----------------------------------------------- */

	.detail .mb10,
	.mb10 {
		display: block;
		margin-bottom: 10px;
	}
	.detail .mb20,
	.mb20 {
		display: block;
		margin-bottom: 20px;
	}
	.detail .mb30,
	.mb30 {
		display: block;
		margin-bottom: 30px;
	}
	.detail .mb40,
	.mb40 {
		display: block;
		margin-bottom: 40px;
	}
	.detail .mb50,
	.mb50 {
		display: block;
		margin-bottom: 50px;
	}


	/* column
	----------------------------------------------- */

	.column__lists {
		display: block;
		margin: 0;
	}

	/* type */

	.column--type2 .column__list,
	.column--type3 .column__list,
	.column--type4 .column__list,
	.column--type5 .column__list {
		margin: 40px 0 0;
		width: auto;
	}
	.column--type5 .column__list .column__image {
		display: block;
		width: 100%;
	}
	.column--type5 .column__list .column__content {
		display: block;
		margin: 20px 0;
		width: 100%;
	}

	/* pointbox
	----------------------------------------------- */

	.pointbox {
		margin: 40px 0 0;
	}
	.pointbox ul {
		margin: 0 20px;
	}

	/* dl */

	.pointbox dl {
		margin: 0 20px;
		padding: 0;
	}
	.pointbox dt {
		padding: 30px 0 0;
	}
	.pointbox dd {
	}


	/* framebox
	----------------------------------------------- */

	.framebox {
		margin: 40px 0 0;
		padding: 20px;
	}


	/* cover
	----------------------------------------------- */

	.cover__outer {
		margin: 0 20px;
	}
	.cover__inner {
		padding: 0 0 40px;
		min-height: 375px;
	}
	.cover__label span {
		padding: 5px 10px;
		font-size: 40px;
	}
	.cover__title span {
		padding: 5px 10px;
		font-size: 14px;
	}
	.cover__base {
		height: 375px;
	}


	/* paginate
	----------------------------------------------- */

	.paginate {
		margin: 80px 0 0;
	}
	.paginate__outer {
		margin: 0;
	}
	.paginate__arrow a {
		width: 36px;
		height: 36px;
	}
	.paginate__lists {
		margin: 0 2px;
		max-width: initial;
	}


	/* sectionlabel
	----------------------------------------------- */

	.sectionlabel span {
		padding: 0 0 60px;
		font-size: 16px;
		text-align: center;
	}
	.sectionlabel span:after {
		height: 40px;
	}


	/* modal
	----------------------------------------------- */

	.js-modalopen {
		pointer-events: none;
	}


	/* maintenance
	----------------------------------------------- */

	.maintenance__logo {
		margin: 19px 20px 0;
		width: 120px;
		height: 25px;
	}
	.maintenance__title {
		font-size: 20px;
		line-height: 30px;
	}
	.maintenance__text {
		margin: 25px 0 0;
		font-size: 14px;
		line-height: 35px;
	}


	/* coverheader
	----------------------------------------------- */

	.coverheader {
		display: flex;
		flex-direction: column;
		justify-content: center;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		padding: 0;
		text-align: center;
		z-index: 1;

		top: 40px;
		padding: 0;

	}
	.coverheader__title {
		font-size: 30px;
	}
	.coverheader__label {
		margin: 15px 0 0;
		font-size: 12px;
	}
	.coverheader__summary {
		margin: 15px 0 0;
		font-size: 12px;
		line-height: 24px;
	}
	.coverheader__button {
		position: static;
		margin: 35px auto 0;
		width: 250px;
	}


	/* tag
	----------------------------------------------- */

	.tag {
		padding: 0 9px 0 7px;
		height: 21px;
		font-size: 10px;
	}
	.tag__frame:before,
	.tag__frame:after {
		background-image: url(../images/common/tag_sp.svg);
		background-size: 400px 84px;
	}
	.tag__frame:last-child:before {
		background-position: right -42px;
	}
	.tag__frame:last-child:after {
		background-position: left -42px;
	}


	/* panel
	----------------------------------------------- */

	.panel {
		height: 100%;
	}
	.panel__category {
		top: 20px;
		left: -6px;
	}
	.panel__subject {
		margin: 25px 30px 0;
	}
	.panel__summary {
		margin: 5px 30px 0;
	}
	.panel__date {
		font-size: 12px;
	}
	.panel__loacation {
		padding-left: 17px;
		font-size: 12px;
		line-height: 18px;
	}
	.panel__loacation:after {
		top: 1px;
		width: 12px;
		height: 16px;
		background-size: 12px 16px;
	}
	.panel__status {
		top: 13px;
		left: -5px;
		width: 50px;
		font-size: 11px;
	}
	.panel__tags {
		margin: 0 30px 0 25px;
		padding: 15px 0 20px;
	}
	.panel__tag {
		margin: 5px 0 0 5px;
	}
	.panel__button {
		padding: 0 0 30px;
	}
	.panel__movie {
		width: 215px;
	}
	.panel__movie span {
		font-size: 12px;
	}
	.panel__movie span:first-child {
		margin: 0 10px 0 0;
		line-height: 20px;
	}
	.panel__movie span:last-child {
		padding-left: 15px;
	}
	.panel__image span {
		height: 64vw;
	}

	/* bottom */

	.panel__tags.panel__bottom {
		margin-top: 0;
		padding-bottom: 30px;
	}
	.panel__button.panel__bottom {
		margin: 0 auto;
	}

	/* js-scroller */

	.js-scroller .panel__subject {
		margin: 15px 20px 0;
		font-size: 14px;
		line-height: 21px;
	}
	.js-scroller .panel__date {
		margin: 15px 20px 0;
	}
	.js-scroller .panel__loacation {
		margin: 10px 20px 10px;
		padding-bottom: 0;
	}
	.js-scroller .panel__tags.panel__bottom {
		margin: auto 20px 0 15px;
		padding-top: 0;
		padding-bottom: 20px;
	}


	/* page
	----------------------------------------------- */

	.page {
		max-width: 330px;
		width: auto;
	}
	.page__control {
		width: 36px;
	}
	.page__control a {
		width: 36px;
		height: 36px;
		border-radius: 36px;
	}
	.page__control a:before {
		border-radius: 36px;
	}
	.page__lists {
		justify-content: center;
		margin: 0 0 0 -10px;
		width: calc(100% - 92px);
	}
	.page__list {
		margin: 0 0 0 10px;
	}


	/* panelindex
	----------------------------------------------- */

	.panelindex--first {
		margin: -40px 0 0;
	}
	.panelindex__lists {
		display: block;
		margin: 0;
		padding: 20px 0 0;
	}
	.panelindex__list {
		margin: 40px 0 0;
		width: auto;
	}


	/* detailcontent
	----------------------------------------------- */

	.detailcontent {
		display: block;
	}
	.detailcontent__column:first-child,
	.detailcontent__column:last-child {
		width: auto;
	}


	/* sideform
	----------------------------------------------- */

	.sideform {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 10;
	}
	.sideform__outer {
		width: 100%;
		height: 100%;
		border-radius: 0;
		overflow: auto;
	}
	.sideform__inner {
		padding: 60px 0 0;
		padding-bottom: 30px;
		min-height: calc(100% - 60px);
	}
	.sideform__title {
		display: block;
		height: auto;
		color: #000;
		font-size: 20px;
		background-color: transparent;
	}
	.sideform__title br {
		display: block;
	}
	.sideform__title i {
		display: none;
	}
	.sideform__title span {
		display: inline-block;
		margin: 10px 0 0;
		font-size: 16px;
	}
	.sideform__title span:before,
	.sideform__title span:after {
		display: inline-block;
		content: "";
		margin: 0 7px;
		width: 13px;
		height: 1px;
		vertical-align: middle;
		background-color: #000;
	}
	.sideform__close {
		position: absolute;
		top: 25px;
		right: 25px;
		width: 17px;
		height: 17px;
		background-image: url(../images/document/form_close.svg);
		background-repeat: no-repeat;
		background-size: 17px 17px;
		cursor: pointer;
		z-index: 1;
	}

	/* initial */

	.sideform {
		pointer-events: none;
		visibility: hidden;
	}
	.sideform__outer {
		opacity: 0;
		transform: rotate(0.09deg) scale(0.9);
	}

	/* ready */

	.js-sideform-ready {
		transition-property: visibility;
		transition-duration: 0s;
		transition-delay: 0.5s;
	}
	.js-sideform-ready .sideform__outer {
		transition-property: opacity, transform;
		transition-duration: 0.5s;
	}

	/* open */

	.js-sideform-open {
		pointer-events: auto;
		visibility: visible;
		transition-delay: 0s;
	}
	.js-sideform-open .sideform__outer {
		opacity: 1;
		transform: rotate(0deg) scale(1);
	}


	/* complete
	----------------------------------------------- */

	.complete {
		margin: 0 20px;
		padding: 60px 0;
	}
	.complete__title {
		font-size: 20px;
		line-height: 30px;
	}
	.complete__text {
		margin: 30px 0 0;
		font-size: 14px;
		text-align: center;
		line-height: 21px;
	}
	.complete__text--left {
		text-align: justify;
	}
	.complete__text--caution {
		margin: 30px 0 0;
		font-size: 12px;
		text-align: justify;
		line-height: 18px;
	}
	.complete__button {
		margin: 40px 0 0;
	}


	/* aformformat
	----------------------------------------------- */

	.aformformat {
		padding: 40px 20px;
	}
	.aformformat .aform-confirm {
		font-size: 14px;
		line-height: 21px;
	}
	.aformformat .aform-checkbox-ul label {
		font-size: 14px;
		line-height: 21px;
	}


	/* downloadbutton
	----------------------------------------------- */

	.downloadbutton {
		display: block;
		position: fixed;
		left: 10px;
		right: 80px;
		bottom: 55px;
		z-index: 1;
	}

	/* button */

	.button--download button {
		height: 45px;
	}
	.button--download .button__label {
		font-size: 16px;
	}


	/* attachbox
	----------------------------------------------- */

	.attachbox {
		margin: 65px 0 0;
	}
	.attachbox__inner {
		margin: 0 25px;
		padding: 20px 0;
	}

	.detail .line {
		margin: 25px 0 0;
		font-size: 16px;
		line-height: 24px;
	}
	.detail .small {
		margin: 20px 0 0;
	}
	.detail .bullet {
		margin: 20px 0 0 20px;
		font-size: 14px;
		line-height: 21px;
	}
	.detail .bullets {
		margin-left: 20px;
	}


	/* listtop
	----------------------------------------------- */

	.listtop {
		margin: 60px 20px 0;
		width: auto;
	}


	/* controller
	----------------------------------------------- */

	.controller {
		margin: 20px auto 0;
		max-width: 335px;
	}
	.controller__progress {
		width: calc(100% - 130px);
	}


}


/* indicate
----------------------------------------------- */

/* ready */

.js-indicate-ready.js-indicate--fadein > div,
.js-indicate-ready.js-indicate--fadein > span,
.js-indicate-ready.js-indicate--fadein > time,
.js-indicate-ready.js-indicate--fadein > figure,
.js-indicate-ready.js-indicate--fadein > img,
.js-indicate-ready.js-indicate--fadein > h2,
.js-indicate-ready.js-indicate--fadein > h3,
.js-indicate-ready.js-indicate--fadein > p,
.js-indicate-ready.js-indicate--fadein > a,
.js-indicate-ready.js-indicate--fadein > ul,
.js-indicate-ready.js-indicate--fadein > picture {
	opacity: 0;
	transform: translateY(100px);
	will-change: opacity, transform;
}
.js-indicate-ready.js-indicate--mask {
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.js-indicate-ready.js-indicate--mask:after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #fff;
	z-index: 1;
	will-change: transform;
}

/* start */

.js-indicate-start.js-indicate--fadein > div,
.js-indicate-start.js-indicate--fadein > span,
.js-indicate-start.js-indicate--fadein > time,
.js-indicate-start.js-indicate--fadein > figure,
.js-indicate-start.js-indicate--fadein > img,
.js-indicate-start.js-indicate--fadein > h2,
.js-indicate-start.js-indicate--fadein > h3,
.js-indicate-start.js-indicate--fadein > p,
.js-indicate-start.js-indicate--fadein > a,
.js-indicate-start.js-indicate--fadein > ul,
.js-indicate-start.js-indicate--fadein > picture {
	opacity: 1;
	transform: translateY(0);
	transition-property: opacity, transform;
	transition-duration: 0.85s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1), cubic-bezier(0.25, 1, 0.5, 1);
}
.js-indicate-start.js-indicate--mask:after {
	transform: scaleX(0);
	transform-origin: right;
	transition-property: transform;
	transition-duration: 0.65s;
	transition-timing-function: cubic-bezier(0.87, 0, 0.13, 1);
}


/* end */

.js-indicate-end.js-indicate--fadein > div,
.js-indicate-end.js-indicate--fadein > span,
.js-indicate-end.js-indicate--fadein > time,
.js-indicate-end.js-indicate--fadein > figure,
.js-indicate-end.js-indicate--fadein > img,
.js-indicate-end.js-indicate--fadein > h2,
.js-indicate-end.js-indicate--fadein > h3,
.js-indicate-end.js-indicate--fadein > p,
.js-indicate-end.js-indicate--fadein > a,
.js-indicate-end.js-indicate--fadein > ul,
.js-indicate-start.js-indicate--fadein > picture,
.js-indicate-end.js-indicate--mask:after {
	will-change: unset;
}


/* loading
----------------------------------------------- */

@keyframes loading {
	100% {
		opacity: 1;
	}
}

@keyframes breath {
	30% {
		opacity: 0.6;
	}
}

/* video
----------------------------------------------- */
.video__outer {
	margin: 30px 0 20px;
}
.video__outer video {
	width: 70%;
}

#datasign_cmp__cmp_title {
	bottom: 50px;
	position: relative;
}
/* CDP
----------------------------------------------- */
.cdp__banner{
	transition-property: opacity;
	transition-duration: 0.2s;
}
.cdp__banner:hover{
	 opacity: 0.9;
}

.nav__megamenu .blankIcon svg {
	width:12px;
	padding-left:4px;
}
.footer .blankIcon svg {
	width:10px;
	fill: #fff;
	padding-left:2px;
}
.sitemap__lists .blankIcon svg {
	width:12px;
	padding-left:4px;
}


/* downloadLink
----------------------------------------------- */
#downloadLink {
	margin-top: 60px;
    width: 100%;
	    clear: both;
}
#downloadLink a {
    text-decoration: none;
	position: relative;
}

#downloadLink .downloadLink__box {
    background-color: rgb(245, 245, 245);
	width: 600px;
	padding:20px;
	margin:0 auto;
}
#downloadLink .downloadLink__title {
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8em;
    margin: 0;
}

#downloadLink .panel__button {
	width:100%;
	margin: 0;
	padding: 20px 0 0;
}
#downloadLink .downloadLink_box {
    font-size: 14px;
    line-height: 1.8em;
    margin-top: 10px;
}

#downloadLink .bluebutton:after {
	background-color: #000;
}
#downloadLink .bluebutton:hover,
#downloadLink a:hover .bluebutton {
		color: #000;
	}
#downloadLink .bluebutton:hover .bluebutton__icon,
#downloadLink a:hover .bluebutton__icon {
		color: #000;
	}
#downloadLink .bluebutton--small:before {
	border-color: #000;
}
#downloadLink .downloadLink__box:hover .downloadLink__title {
    opacity: 0.6;
}

@media only screen and (max-width:1000px) {
    #downloadLink {
        padding: 15px 0 0;
        width: auto;
    }
}
@media only screen and (max-width:769px) {
#downloadLink .downloadLink__box {
        width: 90%;
    }
#downloadLink .bluebutton:after {
	background-color: #000;
}
#downloadLink .bluebutton:hover,
#downloadLink a:hover .bluebutton {
		color: #fff;
	}
#downloadLink .bluebutton:hover .bluebutton__icon,
#downloadLink a:hover .bluebutton__icon {
		color: #fff;
	}
#downloadLink .bluebutton--small:before {
	border-color: #000;
}
#downloadLink .downloadLink__box:hover .downloadLink__title {
    opacity: 1;
}
}


.teamName {
	width: 20%!important;
	font-size: 18px!important;
	font-weight: 400;
	letter-spacing: 0.04em;
}
.teamPosition {
	width: 25%!important;
	font-size: 12px!important;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.teamPositionDetail {
	width: 60%!important;
	margin: 15px 0 0!important;
	font-size: 14px!important;
	letter-spacing: 0.04em;
	text-align: justify;
	text-justify: inter-ideograph;
	line-height: 24px;
}
@media only screen and (max-width:1000px) {
.teamName {
	width: 100%!important;
}
.teamPosition {
	width:100%!important;
	padding:0!important;
}
.teamPositionDetail {
	width:100%!important;
}
}

.headerMenuMore {
	text-align: right;
	margin: 30px 50px 0 0;
}
@media only screen and (max-width:1000px) {
.headerMenuMore {
	margin: 30px 0 0 0;
}
.headerMenuMore .link {
	font-size: 12px;
}
.headerMenuMore .link:after {
	background-size: 8px 17px;
}
}
.footerMenuMore {
	padding-top: 10px;
}
.footerMenuMore .link {
	font-size: 12px;
	font-weight: 400;
}
.footerMenuMore .link:after {
	background-image: url(../images/common/ic_arrow_white_right.svg);
	background-size: 8px 17px;
}

/* list
----------------------------------------------- */
.detail ol.number_dot>li {
counter-increment: listnum;
}
.detail ol.number_dot>li:before {
	display: inline-block;
content: counter(listnum) ".";
	width: 32px;
	font-family: 'Montserrat', sans-serif;
	font-weight: 700;
	text-indent: 0;
}

.detail ol.number_maru {
  counter-reset: number;
	list-style:none;
  padding: 20px 0 0;
}
 
.detail ol.number_maru li {
  padding-left: 3em;
  position: relative;
	text-indent: 0;
}
.detail ol.number_maru li:before {
  content: counter(number , decimal) ;
  background-color: #eee;
  color: #222;
  display: block;
  float: left;
  line-height: 1.5em;
  margin-left: -30px;
  text-align: center;
  height: 1.5em;
  width: 1.5em;
  border-radius: 50%;
}

.securityTable th {
	background: #F5F5F5;
	font-weight: normal;
	padding: 15px 20px;
}

.securityTable ul {
	padding-top: 0!important;
	margin-top: 0!important;
}
.securityTable ul li:first-child {
	padding-top: 0!important;
	margin-top: 0!important;
}
.securityTable .mt20 {
	margin-top: 20px!important;
}
section.gray {
	background-color: #f8f8f8;
	padding: 100px 0;
	margin: 100px 0;
}

/* service
----------------------------------------------- */

.service {
	padding: 110px 0 0;
	overflow: hidden;
}
.service__inner {
	margin: auto;
	/*padding: 0 0 90px;*/
	max-width: 1920px;
	text-align: center;
}
.service__colmuns {
	display: flex;
	margin: 60px 0 0;
}
.service__colmun {
	position: relative;
	width: 50%;
	max-height: 400px;
	overflow: hidden;
	z-index: 1;
}
.service__colmun:first-child {
	display: flex;
	flex-direction: column;
}
.service__colmun a {
	display: block;
	position: relative;
	overflow: hidden;
	z-index: 1;
}
.service__colmun a {
	max-height: 400px;
	background-color: #000;
}
.service__colmun--center {
	width: 100%;
	max-width: 900px;
	margin: auto;
}
.service__main {
	margin: 0 30px 30px;
}
.service__title {
	margin: 50px 0 0;
}
.service__title span {
	display: block;
	font-size: 32px;
	font-weight: 700;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 66px;
}
.service__title em {
	display: block;
	margin: 0 0 25px;
	font-family: 'Montserrat', sans-serif;
	font-size: 56px;
	font-style: normal;
	font-weight: 700;
	text-indent: 0.04em;
	letter-spacing: 0.04em;
}
.service__title small {
	display: inline-block;
	margin: 5px 0 0 -2px;
	font-weight: 400;
	vertical-align: top;
}
.service__text {
	margin: 45px 0 0;
}
.service__text span {
	display: block;
	font-size: 16px;
	text-indent: 0.08em;
	letter-spacing: 0.08em;
	line-height: 40px;
}
.service__morelink {
	margin: 25px 0 0;
}
.service__morelink a {
	margin: auto;
	width: 220px;
}
.service__link {
	margin: 56px 0 0;
}

.service__content {
	position: absolute;
	left: 40px;
	right: 40px;
	bottom: 35px;
	z-index: 2;
	text-align: left;
}
.service__content--1 {
	left: 0;
	right: 0;
	bottom: 0;
	padding: 20px 40px;
	/*background: linear-gradient(180deg, rgba(0,0,0,0.1) 0%, rgba(0,0,0,0.5) 50%, rgba(0,0,0,0.9) 100%);*/
}
.service__subtitle {
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	text-shadow: 0 0 5px rgba(0,0,0,0.4);
	letter-spacing: 0.04em;
	line-height: 32px;
}
.service__subtitle img {
	margin: 10px 0 0 5px;
	vertical-align: top;
}
.service__summary {
	margin: 5px 0 0;
	color: #fff;
	font-size: 14px;
	text-align: justify;
	text-justify: inter-ideograph;
	text-shadow: 0 0 5px rgba(0,0,0,0.4);
	letter-spacing: 0.08em;
	line-height: 21px;
}
.service__image {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-position: center top;
	background-repeat: no-repeat;
	background-size: cover;
	z-index: 1;
}
.service__image--databusiness {
	background-image: url(../images/home/service_image01_02@2x.jpg);
}
.service__image--advertisement {
	background-image: url(../images/home/service_image02_02@2x.jpg);
}
.service__image--idmanagement {
	background-image: url(../images/home/service_image03@2x.jpg);
}
.service__image--publication1 {
	background-image: url(../images/recruit/img_recruit_service_01_sp@2x.jpg);
}
.service__image--publication2 {
	background-image: url(../images/recruit/img_recruit_service_02_sp@2x.jpg);
}
.service__base img {
	width: 100%;
	height: auto;
}
@media print, screen and (min-width:1000px) {
	/* service
	----------------------------------------------- */

	.service__subtitle img {
		transition-property: transform;
		transition-duration: 0.25s;
	}
	.service__image {
		transition-property: transform;
		transition-duration: 0.65s;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}

	/* hover */

	.service__colmun a:hover .service__subtitle img {
		transform: translateX(3px);
	}
	.service__colmun a:hover .service__image {
		transform: rotate(0.09deg) scale(1.05);
	}
.service__image--publication1 {
	background-image: url(../images/recruit/img_recruit_service_01@2x.jpg);
}
.service__image--publication2 {
	background-image: url(../images/recruit/img_recruit_service_02@2x.jpg);
}
}

@media only screen and (max-width:768px) {

	.pc-display {
		display: none !important;
	}
	
	/* service
	----------------------------------------------- */

	.service {
		padding: 40px 0 0;
	}
	.service__inner {
		margin: auto;
		padding: 0 0 90px;
		max-width: 100%;
		text-align: left;
	}
	.service__colmuns {
		display: block;
		margin: 60px 0 0;
	}
	.service__colmuns--1 {
		margin: 30px 0 0;
	}
	.service__colmun {
		width: auto;
	}
	.service__colmun a {
		padding: 0;
		height: auto;
	}
	.service__main {
		margin: 0 20px;
	}
	.service__title {
		margin: 30px 20px 0;
	}
	.service__title span {
		font-size: 24px;
		text-align: left;
		line-height: 38px;
	}
	.service__title em {
		margin: 0 -20px 5px 0;
		font-size: 43px;
		letter-spacing: 0;
		line-height: 55px;
	}
	.service__title small {
		margin: 0 0 -5px;
	}
	.service__text {
		margin: 10px 20px 0;
	}
	.service__text span {
		font-size: 14px;
		text-align: justify;
		text-justify: inter-ideograph;
		text-indent: 0;
		letter-spacing: 0.04em;
		line-height: 35px;
	}
	.service__morelink {
		margin: 5px 20px 0;
	}
	.service__morelink a {
		margin: 0;
		width: 200px;
	}
	.service__link {
		margin: 45px 0 0;
	}
	.service__content {
		left: 30px;
		right: 30px;
		bottom: 30px;
	}
	.service__content--1 {
		left: 0;
		right: 0;
		bottom: 0;
		padding: 15px 30px;
	}
	.service__subtitle {
		font-size: 18px;
		line-height: 25px;
	}
	.service__subtitle img {
		margin: 7px 0 0 5px;
	}
	.service__summary {
		margin: 5px 0 0;
		letter-spacing: 0.1em;
	}

	/* article__lists--line
	----------------------------------------------- */

	.article__lists--line {	
		display: flex;
		flex-wrap: nowrap;
		position: relative;
		z-index: 1;
		transition-property: transform;
		transition-duration: 0.5s;
		transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
		will-change: left;
		height: auto !important;
	}

	.article__lists--line .article__list {
		border-top: 0;
	}

	.article__lists--line .article__list::after {
		display: none;
	}

	.article__list a {
		padding-right: 0;
	}

	.article__lists--line .article__list a {
		display: block;
		padding: 0;
		height: 100%;
		border: 1px solid #999!important;
		border-radius: 10px;
		background-color: #fff;
	}

	.article__lists--line .article__img {
		position: relative;
		margin: 0;
		width: 100%;
		height: 0;
		padding-top: 64.39%;
		border-radius: 10px 10px 0 0;
		overflow: hidden;
		transform: none !important;
	}

	.article__lists--line .article__img img {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.article__lists--line .article__item {
		min-height: 110px;
		padding: 14px 20px;
		width: auto;
	}

	.article__lists--line .article__header {
		margin-left: 0;
		justify-content: space-between;
		position: absolute;
		left: 0;
		bottom: 18px;
		width: 100%;
		margin-bottom: 0;
	}

	.article__lists--line .article__date {
		font-size: 12px;
		border: 0;
		min-width: auto;
		padding: 0 20px;
	}

	.article__lists--line .article__category {
		font-size: 12px;
		border: 0;
		padding: 0 20px;
	}

	.article__lists--line .article__title {
		font-size: 16px;
		padding-bottom: 30px;
	}

	.news__column__inner {
		background: none;
		padding: 0;
	}
}

.handle-mood-scroll {
  position: relative;
}


/* magazine pick up */
.magazine-pickup {
	position: relative;
    display: block;
    width: 100%;
    border: 4px solid #f5f5f5;
    box-sizing: border-box;
	background-color: #ffffff;
    text-decoration: none;
	box-sizing: border-box;
	margin-top: 60px;
	margin-bottom: 60px;
}

.magazine-pickup * {
	box-sizing: border-box;
}

.magazine-pickup__inner {
    display: flex;
	gap: 55px;
    align-items: stretch;
    height: 100%;
	padding: 30px 55px 30px 30px;
}

.magazine-pickup__image-wrapper {
    flex-shrink: 0;
    width: 315px;
    overflow: hidden;
}

.magazine-pickup__image {
    width: 100%;
	object-fit: cover;
    display: block;
    transition: transform 0.3s ease;
}


.magazine-pickup__content {
    flex: 1;
    transition: opacity 0.3s ease;
}

.magazine-pickup__header {
    display: inline-flex;
    align-items: center;
	justify-content: center;
	min-width: 170px;
    gap: 8px;
    padding: 11px 10px 9px;
    border: 1px solid #BABABA;
    margin-bottom: 20px;
}

.magazine-pickup__icon {
    display: inline-block;
}

.magazine-pickup__title {
	font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    max-width: 15ch;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.magazine-pickup__text {
    font-size: 16px;
	letter-spacing: 0.08em;
    line-height: 1.8;
	text-align: justify;
}
.intro-content__column .detail .magazine-pickup img  {
	margin-top: 0;
	margin-bottom: 0;
}
@media print, screen and (min-width:1000px) {
	.magazine-pickup:hover .magazine-pickup__content {
		opacity: .6;
	}
	.magazine-pickup__image {
		height: 100%;
		transition-property: transform;
		transition-duration: 0.65s;
		transition-timing-function: cubic-bezier(0.33, 1, 0.68, 1);
	}
	.magazine-pickup:hover .magazine-pickup__image {
		transform: rotate(0.09deg) scale(1.05);
	}
	.magazine-pickup__image-wrapper {
		aspect-ratio: 4/3;
		height: 100%;
	}
	.intro-content__column .magazine-pickup__inner {
		gap: 40px;
		padding-right: 40px;
	}
	.intro-content__column .magazine-pickup__image-wrapper {
		width: 160px;
	}
	.intro-content__column .detail .magazine-pickup .magazine-pickup__image {
		height: 100%;
	}
	.intro-content__column .magazine-pickup__icon {
		max-width: 15px;
	}
	.intro-content__column .magazine-pickup__header {
		padding: 8px 10px;
		min-width: 120px;
		margin-bottom: 15px;
	}
	.intro-content__column .magazine-pickup__title {
		font-size: 15px;
	}
}

@media only screen and (max-width: 999px) {
	.magazine-pickup {
		min-height: auto;
		margin-top: 30px;
		margin-bottom: 30px;
	}
	.magazine-pickup__inner {
		display: grid;
        grid-template-columns: 1fr 135px;
        grid-template-rows: auto auto;
		row-gap: 10px;
		column-gap: 15px;
		padding: 15px;
	}
	.magazine-pickup__content {
		display: contents;
	}
	.magazine-pickup__header-wrapper {
		grid-column: 1 / -1;
	}
    .magazine-pickup__image-wrapper {
        width: 135px;
        grid-column: 2;
        grid-row: 2;
		margin-top: 5px;
    }

	.magazine-pickup__image {
		height: auto;
	}

    .magazine-pickup__text {
        grid-column: 1;
        font-size: 14px;
    }
	.magazine-pickup__header {
		min-width: 88px;
		padding: 6px 15px 4px;
		margin-bottom: 0px;
	}

	.magazine-pickup__icon img {
		width: 15px;
		height: 15px;
	}

	.magazine-pickup__title {
		font-size: 12px;
	}
}