@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: 22%;

}

.sitelink__column--2 {

	width: 34%;

}

.sitelink__column--2 .sitelink__lists {

	display: flex;

	gap: 15px;

}

.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;

	width: 100%;

	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;

}



/* small */

.button.button--small a {

	height: 42px;

	width: 360px;

	max-width: 100%;

	padding: 5px 10px;

    box-sizing: border-box;

}

.button--small .button__label {

	font-size: 14px;

}



/* 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;

}



/* customize */



.bluebutton--custom {

	height: 42px;

	width: 220px;

}

.bluebutton--custom:before {

	border-color: #006fb0;

}

.bluebutton--custom .bluebutton__label {

	padding: 0;

	font-size: 14px;

}

.bluebutton--custom .bluebutton__icon {

	position: static;

	display: inline-block;

	vertical-align: middle;

	margin: 0 0 0 5px;

}

.bluebutton--custom .bluebutton__icon svg {

	position: static;

    width: 8px;

	vertical-align: text-top; 

}



/* 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;

}

}


.profile03 {
  border: #f5f5f5 8px solid;
  width: 85%;
  padding: 40px 80px;
  display: flex;
  margin-bottom: 80px;
}
.profile03 .leftBox, .profile03 .centerBox, .profile03 .rightBox {
  width: calc(100% / 3); /* IE8以下とAndroid4.3以下用フォールバック */
  width: -webkit-calc(100% / 3);
  width: calc(100% / 3);
}
.profile03 .leftBox, .profile03 .centerBox {
  margin-right: 40px;
}
.profile03 img {
  margin: 0 !important;
}
.profile03 .name {
  font-size: 16px;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 24px;
  margin-top: 20px;
}
.profile03 p {
  font-size: 14px;
  line-height: 2em;
}
@media print, screen and (max-width:1000px) {
  .profile03 {
    width: 85%;
    width: -webkit-calc(100% - 96px);
    width: calc(100% - 96px);
    padding: 40px;
    margin-bottom: 80px;
  }
  .profile03 .leftBox, .profile03 .centerBox, .profile03 .rightBox {
    width: -webkit-calc(100% / 3);
    width: calc(100% / 3);
  }
  .profile03 .leftBox {
    margin-right: 40px;
  }
}
@media print, screen and (max-width:769px) {
  .profile03 {
    width: 85%;
    width: -webkit-calc(100% - 96px);
    width: calc(100% - 96px);
    padding: 0 40px;
    display: block;
    margin-bottom: 80px;
  }
  .profile03 .leftBox, .profile03 .centerBox, .profile03 .rightBox {
    width: 100%; /* IE8以下とAndroid4.3以下用フォールバック */
    width: -webkit-calc(100% - 0px);
    width: calc(100% - 0px);
  }
  .profile03 img {
    margin-top: 40px !important;
  }
  .profile03 .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__summary.fullwidth {

	margin-right: 0;

}

.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;

	}

}



/* common table

----------------------------------------------- */

table.common-table {

	width: 100%;

	table-layout: fixed;

	margin-top: 20px;

	padding: 0;

	border-collapse: collapse;

	font-size: 14px;

	text-align: left;

	font-weight: normal;

}

table.common-table thead {

	background-color: #eee;

}

table.common-table th, 

table.common-table td {

	padding: 0.8em 10px 0.8em 1em;

	border: 1px solid grey;

	line-height: 1.5;

}



@media screen and (max-width: 600px) {

	table.common-table {

		border-bottom: 1px solid grey;

	}

	table.common-table thead {

		display: none;

	}

	table.common-table th,

	table.common-table td {

		display: block;

		width: 90% !important;

		padding: 8px 5%;

		border-bottom: none;

	}

	table.common-table th {

		background: #eee;

	}

}