@charset "UTF-8";


/* common
========================================== */

@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:ital,wght@0,400..800;1,400..800&display=swap');


@font-face {
	font-family: "GaramondPremrPro";
	font-style: normal;
	font-weight: normal;
	src: url("/common/fonts/GaramondPremrPro/GaramondPremrPro.woff2") format('woff2'),
		url("/common/fonts/GaramondPremrPro/GaramondPremrPro.woff") format('woff');
	font-display: swap;
}



:root {
	--color-black: #000000;
	--color-black-rgb: 0, 0, 0;
	--color-white: #ffffff;
	--color-white-rgb: 255, 255, 255;
	--color-primary: #17181B;
	--color-gray1: #323538;
	--color-gray2: #5A5C63;
	--color-gray3: #9EA4AD;
	--color-gray4: #C8CACE;
	--color-gray5: #EDEFF0;
	--color-gray6: #F4F5F6;
	--color-gray7: #B4B8BE;
	--color-gray8: #D9D9D9;
	--ff-YuGothic: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	--ff-EBGaramond: "EB Garamond", serif;
	--ff-GaramondPremrPro: "GaramondPremrPro", serif;
	--fs-10: 1rem;
	--fs-11: 1.1rem;
	--fs-12: 1.2rem;
	--fs-13: 1.3rem;
	--fs-14: 1.4rem;
	--fs-15: 1.5rem;
	--fs-16: 1.6rem;
	--fs-18: 1.8rem;
	--fs-19: 1.9rem;
	--fs-20: 2.0rem;
	--fs-22: 2.2rem;
	--fs-24: 2.4rem;
	--fs-25: 2.5rem;
	--fs-26: 2.6rem;
	--fs-28: 2.8rem;
	--fs-29: 2.9rem;
	--fs-30: 3.0rem;
	--fs-32: 3.2rem;
	--fs-34: 3.4rem;
	--fs-36: 3.6rem;
	--fs-40: 4.0rem;
	--fs-42: 4.2rem;
	--fs-44: 4.4rem;
	--fs-46: 4.6rem;
	--fs-50: 5.0rem;
	--fs-52: 5.2rem;
	--fs-56: 5.6rem;
	--fs-60: 6rem;
	--value-4: 4px;
	--value-6: 6px;
	--value-8: 8px;
	--value-10: 8px;
	--value-12: 12px;
	--value-14: 14px;
	--value-16: 16px;
	--value-18: 18px;
	--value-20: 20px;
	--value-24: 24px;
	--value-28: 28px;
	--value-30: 30px;
	--value-32: 32px;
	--value-36: 36px;
	--value-40: 40px;
	--value-48: 48px;
	--value-50: 50px;
	--value-52: 52px;
	--value-54: 54px;
	--value-60: 60px;
	--value-64: 64px;
	--value-70: 70px;
	--value-80: 80px;
	--value-90: 90px;
	--value-100: 100px;
	--value-120: 120px;
	--value-140: 140px;
	--value-160: 160px;
	--value-200: 200px;
	--value-260: 260px;
}

* {
	box-sizing: border-box;
}
a, button {
	transition: 0.4s all;
}
button {
	text-align: left;
}
img {
	height: auto;
	max-width: 100%;
}
/* PC */
@media only screen and (min-width: 769px), print {
  a, button {
    cursor: pointer;
  }
  a:hover, button:hover {
    opacity: 0.7;
    text-decoration: none;
  }

	.sp-only {
		display: none !important;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	:root {
		--fs-10: calc(10 / 1240 * 100vw);
		--fs-11: calc(11 / 1240 * 100vw);
		--fs-12: calc(12 / 1240 * 100vw);
		--fs-13: calc(13 / 1240 * 100vw);
		--fs-14: calc(14 / 1240 * 100vw);
		--fs-15: calc(15 / 1240 * 100vw);
		--fs-16: calc(16 / 1240 * 100vw);
		--fs-18: calc(18 / 1240 * 100vw);
		--fs-19: calc(19 / 1240 * 100vw);
		--fs-20: calc(20 / 1240 * 100vw);
		--fs-22: calc(22 / 1240 * 100vw);
		--fs-24: calc(24 / 1240 * 100vw);
		--fs-25: calc(25 / 1240 * 100vw);
		--fs-26: calc(26 / 1240 * 100vw);
		--fs-28: calc(28 / 1240 * 100vw);
		--fs-29: calc(29 / 1240 * 100vw);
		--fs-30: calc(30 / 1240 * 100vw);
		--fs-32: calc(32 / 1240 * 100vw);
		--fs-34: calc(34 / 1240 * 100vw);
		--fs-36: calc(36 / 1240 * 100vw);
		--fs-40: calc(40 / 1240 * 100vw);
		--fs-42: calc(42 / 1240 * 100vw);
		--fs-44: calc(44 / 1240 * 100vw);
		--fs-46: calc(46 / 1240 * 100vw);
		--fs-50: calc(50 / 1240 * 100vw);
		--fs-52: calc(52 / 1240 * 100vw);
		--fs-56: calc(56 / 1240 * 100vw);
		--fs-60: calc(60 / 1240 * 100vw);
		--value-4: calc(4 / 1240 * 100vw);
		--value-6: calc(6 / 1240 * 100vw);
		--value-8: calc(8 / 1240 * 100vw);
		--value-10: calc(10 / 1240 * 100vw);
		--value-12: calc(12 / 1240 * 100vw);
		--value-14: calc(14 / 1240 * 100vw);
		--value-16: calc(16 / 1240 * 100vw);
		--value-18: calc(18 / 1240 * 100vw);
		--value-20: calc(20 / 1240 * 100vw);
		--value-24: calc(24 / 1240 * 100vw);
		--value-28: calc(28 / 1240 * 100vw);
		--value-30: calc(30 / 1240 * 100vw);
		--value-32: calc(32 / 1240 * 100vw);
		--value-36: calc(36 / 1240 * 100vw);
		--value-40: calc(40 / 1240 * 100vw);
		--value-48: calc(48 / 1240 * 100vw);
		--value-50: calc(50 / 1240 * 100vw);
		--value-52: calc(52 / 1240 * 100vw);
		--value-54: calc(54 / 1240 * 100vw);
		--value-60: calc(60 / 1240 * 100vw);
		--value-64: calc(64 / 1240 * 100vw);
		--value-70: calc(70 / 1240 * 100vw);
		--value-80: calc(80 / 1240 * 100vw);
		--value-90: calc(90 / 1240 * 100vw);
		--value-100: calc(100 / 1240 * 100vw);
		--value-120: calc(120 / 1240 * 100vw);
		--value-140: calc(140 / 1240 * 100vw);
		--value-160: calc(160 / 1240 * 100vw);
		--value-200: calc(200 / 1240 * 100vw);
		--value-260: calc(260 / 1240 * 100vw);
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	:root {
		--fs-10: calc(10 / 375 * 100vw);
		--fs-11: calc(11 / 375 * 100vw);
		--fs-12: calc(12 / 375 * 100vw);
		--fs-13: calc(13 / 375 * 100vw);
		--fs-14: calc(14 / 375 * 100vw);
		--fs-15: calc(15 / 375 * 100vw);
		--fs-16: calc(16 / 375 * 100vw);
		--fs-18: calc(18 / 375 * 100vw);
		--fs-19: calc(19 / 375 * 100vw);
		--fs-20: calc(20 / 375 * 100vw);
		--fs-22: calc(22 / 375 * 100vw);
		--fs-24: calc(24 / 375 * 100vw);
		--fs-25: calc(25 / 375 * 100vw);
		--fs-26: calc(26 / 375 * 100vw);
		--fs-28: calc(28 / 375 * 100vw);
		--fs-29: calc(29 / 375 * 100vw);
		--fs-30: calc(30 / 375 * 100vw);
		--fs-32: calc(32 / 375 * 100vw);
		--fs-34: calc(34 / 375 * 100vw);
		--fs-36: calc(36 / 375 * 100vw);
		--fs-40: calc(40 / 375 * 100vw);
		--fs-42: calc(42 / 375 * 100vw);
		--fs-44: calc(44 / 375 * 100vw);
		--fs-46: calc(46 / 375 * 100vw);
		--fs-50: calc(50 / 375 * 100vw);
		--fs-52: calc(52 / 375 * 100vw);
		--fs-54: calc(54 / 375 * 100vw);
		--fs-56: calc(56 / 375 * 100vw);
		--fs-60: calc(60 / 375 * 100vw);
		--value-4: calc(4 / 375 * 100vw);
		--value-6: calc(6 / 375 * 100vw);
		--value-8: calc(8 / 375 * 100vw);
		--value-10: calc(10 / 375 * 100vw);
		--value-12: calc(12 / 375 * 100vw);
		--value-14: calc(14 / 375 * 100vw);
		--value-16: calc(16 / 375 * 100vw);
		--value-18: calc(18 / 375 * 100vw);
		--value-20: calc(20 / 375 * 100vw);
		--value-24: calc(24 / 375 * 100vw);
		--value-28: calc(28 / 375 * 100vw);
		--value-30: calc(30 / 375 * 100vw);
		--value-32: calc(32 / 375 * 100vw);
		--value-36: calc(36 / 375 * 100vw);
		--value-40: calc(40 / 375 * 100vw);
		--value-48: calc(48 / 375 * 100vw);
		--value-50: calc(50 / 375 * 100vw);
		--value-52: calc(52 / 375 * 100vw);
		--value-60: calc(60 / 375 * 100vw);
		--value-64: calc(64 / 375 * 100vw);
		--value-70: calc(70 / 375 * 100vw);
		--value-80: calc(80 / 375 * 100vw);
		--value-90: calc(90 / 375 * 100vw);
		--value-100: calc(100 / 375 * 100vw);
		--value-120: calc(120 / 375 * 100vw);
		--value-140: calc(140 / 375 * 100vw);
		--value-160: calc(160 / 375 * 100vw);
		--value-200: calc(200 / 375 * 100vw);
		--value-260: calc(260 / 375 * 100vw);
	}

	.pc-only {
		display: none !important;
	}
}




/* header
========================================== */
#l-header {
  height: 78px;
  position: fixed;
  top: 0;
  left: 0;
	padding-top: var(--value-12);
	padding-inline: var(--value-24);
  width: 100%;
	z-index: 100;
}
.l-header__inner {
	background: rgba(var(--color-white-rgb), 0.6);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 6px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 100%;
  padding-left: 44px;
	padding-right: 110px;
  position: relative;
  z-index: 100;
}
.l-header__logo {
	line-height: 1;
	margin-top: 2px;
  width: 126px;
}
.l-header__logo2 {
	line-height: 1;
	margin-top: 2px;
	margin-left: 36px;
	margin-right: auto;
  width: 337px;
}
.l-header__logo a {
  display: block;
}
#l-nav-trigger {
	position: absolute;
	top: 0;
	height: 66px;
	right: 32px;
	width: 32px;
	z-index: 10000;
}
#l-nav-trigger button {
	cursor: pointer;
	display: block;
	height: 100%;
	position: relative;
	width: 100%;
}
#l-nav-trigger button span {
	background: var(--color-primary);
	height: 1px;
	margin-inline: auto;
	position: absolute;
	left: 0;
	right: 0;
	transition: 0.4s all;
	transform-origin: center center;
	width: 32px;
}
#l-nav-trigger button span.line1 {
	top: 27px;
}
#l-nav-trigger button span.line2 {
	top: 33px;
}
#l-nav-trigger button span.line3 {
	top: 39px;
}
#l-header.is-open #l-nav-trigger button span.line1 {
	top: 50%;
	transform: rotate(20deg) translateY(-50%);
}
#l-header.is-open #l-nav-trigger button span.line2 {
	opacity: 0;
}
#l-header.is-open #l-nav-trigger button span.line3 {
	top: 50%;
	transform: rotate(-20deg) translateY(-50%);
}
.l-header__gnav {
	border-radius: 20px;
	display: none;
	overflow-y: auto;
	position: fixed;
	padding: var(--value-100) var(--value-80) var(--value-70);
	width: 100%;
	z-index: 9999;
	pointer-events: none;
}
#l-header.is-open .l-header__gnav {
	pointer-events: initial;
}
.l-header__gnav a[target="_blank"]:after {
	background-image: url(/common/images/icon_blank.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	content: "";
	display: inline-block;
	height: 10px;
	margin-left: 8px;
	margin-bottom: 2px;
	vertical-align: middle;
	width: 10px;
}
.l-header__gnav_list_item .list-secondary.about > li:nth-of-type(n+2) {
	margin-top: var(--value-24);
}
.l-header__gnav_list_item .list-secondary.topmessage > li {
	font-size: var(--fs-12);
	line-height: calc(18 / 12);
	padding-left: var(--value-14);
	position: relative;
}
.l-header__gnav_list_item .list-secondary.topmessage > li:before {
	background: var(--color-gray7);
	content: "";
	height: 1px;
	position: absolute;
	left: 0;
	top: 0.9em;
	width: 8px;
}
.l-header__gnav_list_item .list-secondary.topmessage > li:nth-of-type(n+2) {
	margin-top: var(--value-12);
}
.l-header__gnav_list_item .list-secondary.solution .list-thirdry {
	margin-top: var(--value-16);
	/*margin-left: var(--value-20);*/
}
.l-header__gnav_list_item .list-secondary.solution .list-thirdry > li {
	font-size: var(--fs-12);
	line-height: calc(18 / 12);
	padding-left: var(--value-14);
	position: relative;
}
.l-header__gnav_list_item .list-secondary.solution .list-thirdry > li .text-company {
	color: #ABAFB5;
	font-size: var(--fs-12);
	line-height: calc(18 / 12);
}
.l-header__gnav_list_item .list-secondary.solution .list-thirdry > li:before {
	background: var(--color-gray7);
	content: "";
	height: 1px;
	position: absolute;
	left: 0;
	top: 0.9em;
	width: 8px;
}
.l-header__gnav_list_item .list-secondary.solution .list-thirdry > li:nth-of-type(n+2) {
	margin-top: var(--value-12);
}
.l-header__gnav_list_item .list-secondary > li a {
	display: inline-block;
}
#l-overlay {
	display: none;
	height: 100vh;
	pointer-events: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	z-index: 99;
}
#l-overlay.is-open {
	display: block;
	pointer-events: initial;
}
/* PC */
@media only screen and (min-width: 769px), print {
	.l-header__gnav {
		background: rgba(var(--color-white-rgb), 0.95);
		box-shadow: 2px 2px 15px rgba(0,0,0,0.05);
		backdrop-filter: blur(30px);
		-webkit-backdrop-filter: blur(30px);
		max-height: calc(100vh - var(--value-40));
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.l-header__contentsnav  {
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: 100%;
	}
	.l-header__contentsnav nav > ul {
		display: flex;
		flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
  }
  .l-header__contentsnav nav > ul > li {
		position: relative;
	}
  .l-header__contentsnav nav > ul > li:nth-of-type(n+2) {
    margin-left: var(--value-32);
  }
	.l-header__contentsnav nav > ul > li > span {
		display: block;
	}
	.l-header__contentsnav nav > ul > li > span > * {
		display: flex;
		justify-content: center;
		align-items: center;
		font-size: var(--fs-14);
		height: 66px;
		width: 100%;
	}
	.l-header__contentsnav nav > ul > li > span * {
		font-family: var(--ff-YuGothic);
	}
	.l-header__contentsnav nav > ul > li > span button {
		cursor: default;
	}
	.l-header__contentsnav nav > ul > li .text-roll {
		display: block;
		pointer-events: none;
	}
	.l-header__contentsnav nav > ul > li .text-roll__in {
    opacity: 0;
    transform: translateY(0.95em);
  }
	.l-header__contentsnav nav > ul > li .text-roll__out {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 1;
    transform: translateY(0);
  }
	.l-header__contentsnav nav > ul > li:hover .text-roll {
		transition: transform .4s ease-out,
								opacity .4s ease-out;
	}
	.l-header__contentsnav nav > ul > li:hover .text-roll__in {
		opacity: 1;
		transform: translateY(0);
	}
	.l-header__contentsnav nav > ul > li:hover .text-roll__out {
		opacity: 0;
		transform: translateY(-.95em);
	}
	.l-header__contentsnav nav > ul > li .button-roll {
		position: relative;
	}
	.l-header__contentsnav_parent .button-roll {
		padding-right: var(--value-16);
	}
	.l-header__contentsnav_parent .button-roll:after {
		border-top: 1px solid var(--color-primary);
		border-right: 1px solid var(--color-primary);
		content: "";
		height: 6px;
		position: absolute;
		top: 50%;
		right: 8px;
		transform: translateY(-50%) rotate(135deg);
		transform-origin: right center;
		width: 6px;
	}
	.l-header__contentsnav nav > ul > li:hover > span > a,
	.l-header__contentsnav nav > ul > li:hover > span > button {
		opacity: 1;
	}
	.l-header__contentsnav .l-secondary-menu {
		background: rgba(var(--color-white-rgb),0.95);
		backdrop-filter: blur(30px);
		-webkit-backdrop-filter: blur(30px);
		border-radius: 6px;
		box-shadow: 2px 2px 15px rgba(var(--color-black-rgb), 0.05);
		opacity: 0;
		pointer-events: none;
		position: fixed;
		padding: 40px;
		top: 66px;
		left: 0;
	  transition: 0.4s all;
		transform: translateY(-10px);
		width: 100%;
	}
	.l-header__contentsnav .l-secondary-menu * {
		font-family: var(--ff-YuGothic);
	}
	.l-header__contentsnav .l-secondary-menu ul li a[target="_blank"]:after {
		background-image: url(/common/images/icon_blank.svg);
		background-repeat: no-repeat;
		background-position: left top;
		background-size: 100% auto;
		content: "";
		display: inline-block;
		height: 10px;
		margin-left: 8px;
		margin-bottom: 2px;
		vertical-align: middle;
		width: 10px;
	}
	.l-header__contentsnav_parent:hover + .l-secondary-menu,
	.l-header__contentsnav .l-secondary-menu:hover,
	.l-header__contentsnav .l-secondary-menu.is-focused {
		opacity: 1;
		pointer-events: initial;
		transform: translateY(0);
	}
	.l-header__contentsnav .l-secondary-menu__inner {
		margin-inline: auto;
		max-width: 1072px;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		width: calc(624 / 1072 * 100%);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item {
		margin-left: calc(12 / 624 * 100%);
		width: calc(200 / 624 * 100%);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item:nth-of-type(3n+1) {
		margin-left: 0;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item > a {
		display: block;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item .image-thumb {
		overflow: hidden;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item .image-thumb img {
	  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item .text-heading {
		font-size: var(--fs-14);
		margin-top: var(--value-10);
	  transition: 0.4s all;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item > a:hover {
		opacity: 1;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item > a:hover .image-thumb img {
		transform: scale(1.05);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__pickup_item > a:hover .text-heading {
		opacity: 0.7;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		width: calc(328 / 1072 * 100%);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link_item {
		border-left: 1px solid var(--color-gray8);
		padding-inline: var(--value-28);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link_item > ul > li {
		font-size: var(--fs-14);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link_item > ul > li:nth-of-type(n+2) {
		margin-top: var(--value-24);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link_item .list-thirdry {
		margin-top: var(--value-12);
		margin-left: var(--value-20);
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link_item .list-thirdry > li {
		font-size: var(--fs-12);
		padding-left: 14px;
		position: relative;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link_item .list-thirdry > li:before {
		background: var(--color-gray7);
		content: "";
		height: 1px;
		position: absolute;
		left: 0;
		top: 0.9em;
		width: 8px;
	}
	.l-header__contentsnav .l-secondary-menu .about-contents__link_item .list-thirdry > li:nth-of-type(n+2) {
		margin-top: var(--value-6);
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item {
		margin-right: calc(12 / 1072 * 100%);
		width: calc(146 / 1072 * 100%);
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item[data-type="large"] {
		margin-right: calc(54 / 1072 * 100%);
		width: calc(240 / 1072 * 100%);
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item:nth-of-type(6) {
		margin-right: 0;
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item > a {
		display: block;
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item .image-thumb {
		overflow: hidden;
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item .image-thumb img {
	  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item .text-information {
		margin-top: var(--value-12);
	  transition: 0.4s all;
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item .text-position {
		font-size: var(--fs-12);
		line-height: calc(18 / 12);
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item .text-name {
		font-size: var(--fs-14);
		line-height: calc(18 / 14);
		margin-top: var(--value-6);
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item > a:hover {
		opacity: 1;
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item > a:hover .image-thumb img {
		transform: scale(1.05);
	}
	.l-header__contentsnav .l-secondary-menu .topmessage-contents__item > a:hover .text-information {
		opacity: 0.7;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		flex-direction: row-reverse;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__heading {
		font-size: var(--fs-14);
		line-height: calc(22 / 14);
		padding-left: var(--value-60);
		width: calc(100% - calc(814 / 1072 * 100%));
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list {
		border-right: 1px solid var(--color-gray8);
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		padding-right: var(--value-40);
		width: calc(814 / 1072 * 100%);
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item {
		margin-left: calc(12 / 778 * 100%);
		margin-top: var(--value-40);
		width: calc(146 / 778 * 100%)
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item:nth-of-type(-n+5) {
		margin-top: 0;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item:nth-of-type(5n+1) {
		margin-left: 0;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item > a {
		display: block;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item .image-thumb {
		overflow: hidden;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item .image-thumb img {
	  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item .text-heading {
		font-size: var(--fs-12);
		line-height: calc(18 / 12);
		margin-top: var(--value-6);
	  transition: 0.4s all;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item .text-heading .text-company {
		color: #ABAFB5;
    font-size: var(--fs-12);
    line-height: calc(18 / 12);
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item > a:hover {
		opacity: 1;
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item > a:hover .image-thumb img {
		transform: scale(1.05);
	}
	.l-header__contentsnav .l-secondary-menu .solution-contents__list_item > a:hover .text-heading {
		opacity: 0.7;
	}
	.l-header__gnav_inner {
		margin-inline: auto;
		max-width: calc(1230 / 1440 * 100vw);
	}
	.l-header__gnav_list {
		display: flex;
		justify-content: space-between;
	}
	.l-header__gnav_list_item {
		padding-inline: var(--value-40);
	}
	.l-header__gnav_list_item:nth-of-type(n+2) {
		border-left: 1px solid var(--color-gray8);
	}
	.l-header__gnav_list_item:nth-of-type(1) {
		width: calc(440 / 1230 * 100%);
	}
	.l-header__gnav_list_item:nth-of-type(2) {
		width: calc(418 / 1230 * 100%);
	}
	.l-header__gnav_list_item:nth-of-type(3) {
		width: calc(418 / 1230 * 100%);
	}
	.l-header__gnav_list_item * + .text-heading {
		margin-top: var(--value-80);
	}
	.l-header__gnav_list_item .text-heading * {
		font-size: var(--fs-32);
		font-family: var(--ff-YuMincho);
		line-height: calc(40 / 32);
	}
	.l-header__gnav_list_item .text-heading + * {
		margin-top: var(--value-32);
	}
	.l-header__gnav_list_item .text-heading button {
		cursor: default;
		pointer-events: none;
	}
	.l-header__gnav_list_item .text-heading.topmessage button {
		margin-left: calc(-1 * var(--value-8));
	}
	.l-header__gnav_list_item .text-heading .button-open {
		display: none;
	}
	.l-header__gnav_list_item .list-secondary {
		display: block !important;
	}
	.l-header__gnav_list_item .list-secondary,
	.l-header__gnav_list_item .list-other {
		font-size: var(--fs-14);
	}
	.l-header__gnav_list_item .list-secondary *,
	.l-header__gnav_list_item .list-other * {
		font-family: var(--ff-YuGothic);
	}
	.l-header__gnav_list_item .list-secondary.solution {
		padding-left: var(--value-4);
	}
	.l-header__gnav_list_item .list-other {
		margin-top: var(--value-60);
	}
	.l-header__gnav_list_item .list-other > li:nth-of-type(n+2) {
		margin-top: var(--value-18);
	}
}
@media only screen and (min-width: 769px) and (max-width: 1340px), print {
	.l-header__inner {
		padding-left: calc(34 / 1340 * 100vw);
		padding-right: calc(100 / 1340 * 100vw);
	}
	.l-header__logo {
		margin-top: calc(2 / 1340 * 100vw);
		width: calc(126 / 1340 * 100vw);
	}
	.l-header__logo2 {
		margin-top: calc(2 / 1340 * 100vw);
		margin-left: calc(36 / 1340 * 100vw);
		width: calc(337 / 1340 * 100vw);
	}
  .l-header__contentsnav nav > ul > li:nth-of-type(n+2) {
    margin-left: calc(20 / 1340 * 100vw);
  }
	.l-header__gnav {
		padding-inline: var(--value-40);
	}
	.l-header__gnav_inner {
		max-width: 100%;
	}
	.l-header__gnav_list_item {
    padding-inline: var(--value-28);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	#l-header {
		height: calc(78 / 1240 * 100vw);
	}
	.l-header__contentsnav .l-secondary-menu {
		padding: calc(40 / 1240 * 100vw);
		top: calc(66 / 1240 * 100vw);
	}
	.l-header__contentsnav_parent .button-roll:after {
		border-top-width: calc(1 / 1240 * 100vw);
		border-right-width: calc(1 / 1240 * 100vw);
		height: calc(6 / 1240 * 100vw);
		right: calc(8 / 1240 * 100vw);
		width: calc(6 / 1240 * 100vw);
	}
	.l-header__gnav a[target="_blank"]:after {
		height: calc(10 / 1240 * 100vw);
		margin-left: calc(8 / 1240 * 100vw);
		margin-bottom: calc(2 / 1240 * 100vw);
		width: calc(10 / 1240 * 100vw);
	}
	.l-header__gnav_list_item .list-secondary.topmessage > li:before {
		width: calc(8 / 1240 * 100vw);
	}
	.l-header__gnav_list_item .list-secondary.solution .list-thirdry > li:before {
		width: calc(8 / 1240 * 100vw);
	}
	#l-nav-trigger {
		height: calc(66 / 1240 * 100vw);
		right: calc(32 / 1240 * 100vw);
	}
	#l-nav-trigger button span.line1 {
		top: calc(27 / 1240 * 100vw);
	}
	#l-nav-trigger button span.line2 {
		top: calc(33 / 1240 * 100vw);
	}
	#l-nav-trigger button span.line3 {
		top: calc(39 / 1240 * 100vw);
	}
}
/* SP */
@media only screen and (max-width: 768px) {
	#l-header {
		height: calc(55 / 375 * 100vw);
		padding-top: var(--value-10);
		padding-inline: var(--value-10);
	}
	.l-header__inner {
		padding-left: calc(14 / 375 * 100vw);
		padding-right: calc(14 / 375 * 100vw);
	}
	.l-header__logo {
		margin-top: calc(2 / 375 * 100vw);
		width: calc(76 / 375 * 100vw);
	}
	.l-header__logo2 {
		margin-top: calc(10 / 375 * 100vw);
		margin-left: calc(12 / 375 * 100vw);
		width: calc(180 / 375 * 100vw);
	}
	.l-header__contentsnav {
		display: none !important;
	}
	#l-nav-trigger {
		top: calc(13 / 375 * 100vw);
		height: calc(20 / 375 * 100vw);
		right: calc(20 / 375 * 100vw);
		width: calc(27 / 375 * 100vw);
	}
	#l-nav-trigger button span {
		height: calc(1 / 375 * 100vw);
		width: calc(27 / 375 * 100vw);
	}
	#l-nav-trigger button span.line1 {
		top: calc(3.5 / 375 * 100vw);
	}
	#l-nav-trigger button span.line2 {
		top: calc(9.5 / 375 * 100vw);
	}
	#l-nav-trigger button span.line3 {
		top: calc(15.5 / 375 * 100vw);
	}
	#l-header.is-open #l-nav-trigger {
		background: var(--color-white);
		right: calc(16 / 375 * 100vw);
	}
	.l-header__gnav {
		background: var(--color-white);
		max-height: calc(100vh - var(--value-20));
		max-height: calc(100dvh - var(--value-20));
		padding: calc(68 / 375 * 100vw) calc(18 / 375 * 100vw);
		top: 0;
		left: 0;
	}
	.l-header__gnav a[target="_blank"]:after {
		height: calc(10 / 375 * 100vw);
		margin-left: calc(8 / 375 * 100vw);
		margin-bottom: calc(2 / 375 * 100vw);
		width: calc(10 / 375 * 100vw);
	}
	.l-header__gnav_list_item * {
		font-family: var(--ff-YuGothic);
	}
	.l-header__gnav_list_item .text-heading {
		position: relative;
	}
	.l-header__gnav_list_item .text-heading * {
		font-size: var(--fs-14);
	}
	.l-header__gnav_list_item .text-heading:after {
		content: "";
		position: absolute;
	}
	.l-header__gnav_list_item .text-heading:after {
		background: var(--color-gray8);
		content: "";
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 0;
		transition: 0.4s all;
		width: 100%;
	}
	.l-header__gnav_list_item .text-heading.is-open:after {
		opacity: 0;
	}
	.l-header__gnav_list_item .text-heading .button-open {
		pointer-events: none;
		display: block;
		position: absolute;
		height: 100%;
		top: 0;
		right: 0;
		width: calc(60 / 375 * 100vw);
		z-index: 1;
	}
	.l-header__gnav_list_item .text-heading .button-open:after {
		border-top: calc(1.25 / 375 * 100vw) solid var(--color-primary);
		border-right: calc(1.25 / 375 * 100vw) solid var(--color-primary);
		content: "";
		height: calc(6 / 375 * 100vw);
		position: absolute;
		top: 50%;
		right: calc(8 / 375 * 100vw);
		transform: translateY(-50%) rotate(135deg);
		transform-origin: center center;
		transition: 0.4s all;
		width: calc(6 / 375 * 100vw);
	}
	.l-header__gnav_list_item .text-heading.is-open .button-open:after {
		transform: translateY(-50%) rotate(-45deg);
	}
	.l-header__gnav_list_item .text-heading > a,
	.l-header__gnav_list_item .text-heading > span,
	.l-header__gnav_list_item .text-heading > button {
		color: var(--color-primary) !important;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: calc(54 / 375 * 100vw);
		padding-right: var(--value-60);
		width: 100%;
	}
	.l-header__gnav_list_item .list-secondary {
		display: none;
		padding-left: var(--value-16);
		padding-bottom: var(--value-16);
	}
	.l-header__gnav_list_item .list-secondary > li {
		font-size: var(--fs-14);
	}
	.l-header__gnav_list_item .list-secondary.about > li:nth-of-type(n+2) {
		margin-top: var(--value-12);
	}
	.l-header__gnav_list_item .list-secondary.topmessage > li:nth-of-type(n+2) {
		margin-top: var(--value-8);
	}
	.l-header__gnav_list_item .list-secondary.solution .list-thirdry {
		margin-top: var(--value-6);
		/*margin-left: var(--value-16);*/
	}
	.l-header__gnav_list_item .list-secondary.solution .list-thirdry > li:nth-of-type(n+2) {
		margin-top: var(--value-8);
	}
	.l-header__gnav_list_item .list-other > li {
		font-size: var(--fs-14);
		margin-top: 0;
		position: relative;
	}
	.l-header__gnav_list_item .list-other > li:nth-of-type(n+2):before {
		background: var(--color-gray8);
		content: "";
		height: 1px;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	.l-header__gnav_list_item .list-other > li a {
		display: block;
		display: flex;
    justify-content: flex-start;
    align-items: center;
    height: calc(54 / 375 * 100vw);
		width: 100%;
	}
}




/* main
========================================== */
#l-main {
  overflow: hidden;
	padding-top: 78px;
}
/* PC */
@media screen and (min-width: 769px), print {
	#l-main {
		padding-bottom: var(--value-100);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	#l-main {
    padding-top: calc(78 / 1240 * 100vw);
  }
}
/* SP */
@media only screen and (max-width: 768px) {
	#l-main {
    padding-top: calc(55 / 375 * 100vw);
  }
}




/* footer
========================================== */
#l-footer {
	border-top: 1px solid #D9D9D9;
	padding: var(--value-40) var(--value-80) var(--value-32);
}
.l-footer__logo {
	width: 223px;
}
.l-footer__logo a {
	display: block;
}
.l-footer__logo img {
	width: 100%;
}
.l-footer__lower {
	margin-top: var(--value-60);
}
.l-footer__otherlink {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: center;
}
.l-footer__otherlink > li {
	font-size: var(--fs-12);
}
.l-footer__otherlink > li:nth-of-type(n+2) {
	margin-left: var(--value-40);
}
.l-footer__otherlink > li a:after {
	display: none !important;
}
.l-footer__copyright {
	font-size: var(--fs-12);
}
#l-footer a[target="_blank"]:after {
	background-image: url(/common/images/icon_blank.svg);
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	content: "";
	display: inline-block;
	height: 10px;
	margin-left: 8px;
	margin-bottom: 2px;
	vertical-align: middle;
	width: 10px;
}
/* PC */
@media screen and (min-width: 769px), print {
	.l-footer__upper,
	.l-footer__lower {
		display: flex;
		flex-wrap: nowrap;
		justify-content: space-between;
		/*align-items: flex-start;*/
	}
	.l-footer__logo {
		margin-top: var(--value-4);
	}
	.l-footer__information .text-date {
		font-family: var(--ff-YuGothic);
		font-size: var(--fs-12);
		line-height: calc(18 / 12);
		margin-top: var(--value-54);
		min-width: 310px;
	}
	.l-footer__information .text-date > dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.l-footer__information .text-date > dl + dl {
		margin-top: var(--value-4);
	}
	.l-footer__information .text-date > dl dt {
		width: 7em;
	}
	.l-footer__information .text-date > dl dd {
		width: calc(100% - 7em);
	}
	.l-footer__navBlock {
		width: calc(100% - 182px);
	}
	.l-footer__navBlock_list {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-end;
	}
	.l-footer__navBlock_list_item * {
		font-family: var(--ff-YuGothic);
	}
	.l-footer__navBlock_list_item:nth-of-type(n+2) {
		margin-left: var(--value-40);
	}
	.l-footer__navBlock_list_item * + .text-heading {
		margin-top: var(--value-10);
	}
	.l-footer__navBlock_list_item .text-heading * {
		font-size: var(--fs-14);
		line-height: calc(20 / 14);
	}
	.l-footer__navBlock_list_item .text-heading > button {
		pointer-events: none;
	}
	.l-footer__navBlock_list_item .list-secondary *,
	.l-footer__navBlock_list_item .list-other * {
		font-family: var(--ff-YuGothic);
		font-size: var(--fs-14);
	}
	.l-footer__navBlock_list_item .list-secondary.about {
		margin-top: var(--value-12);
	}
	.l-footer__navBlock_list_item .list-secondary.about > li:nth-of-type(n+2) {
		margin-top: var(--value-10);
	}
	.l-footer__navBlock_list_item .list-secondary.topmessage {
		margin-top: var(--value-12);
	}
	.l-footer__navBlock_list_item .list-secondary.topmessage > li {
		font-size: var(--fs-12);
		padding-left: 14px;
		position: relative;
	}
	.l-footer__navBlock_list_item .list-secondary.topmessage > li:before {
		background: var(--color-gray7);
		content: "";
		height: 1px;
		position: absolute;
		left: 0;
		top: 1em;
		width: 8px;
	}
	.l-footer__navBlock_list_item .list-secondary.topmessage > li:nth-of-type(n+2) {
		margin-top: var(--value-6);
	}
	.l-footer__navBlock_list_item .list-secondary.topmessage > li > a {
		display: flex;
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
	.l-footer__navBlock_list_item .list-secondary.topmessage > li .text-company {
		min-width: 18em;
		max-width: 18em;
	}
	.l-footer__navBlock_list_item .list-secondary.solution .list-thirdry {
		margin-top: var(--value-16);
		margin-left: var(--value-20);
	}
	.l-footer__navBlock_list_item .list-secondary.solution .list-thirdry > li {
		font-size: var(--fs-12);
		padding-left: 14px;
		position: relative;
	}
	.l-footer__navBlock_list_item .list-secondary.solution .list-thirdry > li:before {
		background: var(--color-gray7);
		content: "";
		height: 1px;
		position: absolute;
		left: 0;
		top: 1em;
		width: 8px;
	}
	.l-footer__navBlock_list_item .list-secondary.solution .list-thirdry > li:nth-of-type(n+2) {
		margin-top: var(--value-6);
	}
	.l-footer__navBlock_list_item .list-other > li {
		margin-top: var(--value-10);
	}
	.l-footer__gnav {
		display: none !important;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1340px), print {
	.l-footer__information .text-date {
    min-width: calc(310 / 1340 * 100vw);
  }
	.l-footer__navBlock_list_item * {
		font-size: calc(12 / 1340 * 100vw);
	}
	 .l-footer__navBlock_list_item:nth-of-type(n+2) {
    margin-left: var(--value-24);
	}
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	.l-footer__logo {
		width: calc(223 / 1240 * 100vw);
	}
	.l-footer__navBlock {
		width: calc(100% - calc(223 / 1240 * 100vw));
	}
}
/* SP */
@media screen and (max-width: 768px) {
	#l-footer {
		margin-top: var(--value-60);
		padding: var(--value-30) var(--value-18) 0;
	}
	.l-footer__navBlock {
		display: none !important;
	}
	.l-footer__logo {
		width: calc(175 / 375 * 100vw);
	}
	.l-footer__gnav {
		margin-top: var(--value-32);
	}
	.l-footer__gnav a[target="_blank"]:after {
		height: calc(10 / 375 * 100vw);
		margin-left: calc(8 / 375 * 100vw);
		margin-bottom: calc(2 / 375 * 100vw);
		width: calc(10 / 375 * 100vw);
	}
	.l-footer__gnav_list_item * {
		font-family: var(--ff-YuGothic);
	}
	.l-footer__gnav_list_item .text-heading {
		position: relative;
	}
	.l-footer__gnav_list_item .text-heading * {
		font-size: var(--fs-14);
	}
	.l-footer__gnav_list_item .text-heading:after {
		content: "";
		position: absolute;
	}
	.l-footer__gnav_list_item .text-heading:after {
		background: var(--color-gray8);
		content: "";
		height: 1px;
		position: absolute;
		bottom: 0;
		left: 0;
		transition: 0.4s all;
		width: 100%;
	}
	.l-footer__gnav_list_item .text-heading.is-open:after {
		opacity: 0;
	}
	.l-footer__gnav_list_item .text-heading .button-open {
		pointer-events: none;
		display: block;
		position: absolute;
		height: 100%;
		top: 0;
		right: 0;
		width: calc(60 / 375 * 100vw);
		z-index: 1;
	}
	.l-footer__gnav_list_item .text-heading .button-open:after {
		border-top: calc(1.25 / 375 * 100vw) solid var(--color-primary);
		border-right: calc(1.25 / 375 * 100vw) solid var(--color-primary);
		content: "";
		height: calc(6 / 375 * 100vw);
		position: absolute;
		top: 50%;
		right: calc(8 / 375 * 100vw);
		transform: translateY(-50%) rotate(135deg);
		transform-origin: center center;
		transition: 0.4s all;
		width: calc(6 / 375 * 100vw);
	}
	.l-footer__gnav_list_item .text-heading.is-open .button-open:after {
		transform: translateY(-50%) rotate(-45deg);
	}
	.l-footer__gnav_list_item .text-heading > a,
	.l-footer__gnav_list_item .text-heading > span,
	.l-footer__gnav_list_item .text-heading > button {
		color: var(--color-primary) !important;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		height: calc(54 / 375 * 100vw);
		padding-right: var(--value-60);
		width: 100%;
	}
	.l-footer__gnav_list_item .list-secondary {
		display: none;
		padding-left: var(--value-16);
		padding-bottom: var(--value-16);
	}
	.l-footer__gnav_list_item .list-secondary > li {
		font-size: var(--fs-14);
	}
	.l-footer__gnav_list_item .list-secondary > li a {
		display: inline-block;
	}
	.l-footer__gnav_list_item .list-secondary.about > li:nth-of-type(n+2) {
		margin-top: var(--value-12);
	}
	.l-footer__gnav_list_item .list-secondary.topmessage > li {
		font-size: var(--fs-12);
		line-height: calc(18 / 12);
		padding-left: var(--value-14);
		position: relative;
	}
	.l-footer__gnav_list_item .list-secondary.topmessage > li:nth-of-type(n+2) {
		margin-top: var(--value-8);
	}
	.l-footer__gnav_list_item .list-secondary.topmessage > li:before {
		background: var(--color-gray7);
		content: "";
		height: 1px;
		position: absolute;
		left: 0;
		top: 0.9em;
		width: 8px;
	}
	.l-footer__gnav_list_item .list-secondary.solution .list-thirdry {
		margin-top: var(--value-6);
		margin-left: var(--value-16);
	}
	.l-footer__gnav_list_item .list-secondary.solution .list-thirdry > li {
		font-size: var(--fs-12);
		line-height: calc(16 / 12);
		padding-left: var(--value-14);
		position: relative;
	}
	.l-footer__gnav_list_item .list-secondary.solution .list-thirdry > li .text-company {
		color: #ABAFB5;
		font-size: var(--fs-12);
		line-height: calc(18 / 12);
	}
	.l-footer__gnav_list_item .list-secondary.solution .list-thirdry > li:nth-of-type(n+2) {
		margin-top: var(--value-8);
	}
	.l-footer__gnav_list_item .list-secondary.solution .list-thirdry > li:before {
		background: var(--color-gray7);
		content: "";
		height: 1px;
		position: absolute;
		left: 0;
		top: 0.9em;
		width: 8px;
	}
	.l-footer__gnav_list_item .list-other > li {
		font-size: var(--fs-14);
		position: relative;
	}
	.l-footer__gnav_list_item .list-other > li:nth-of-type(n+2):before {
		background: var(--color-gray8);
		content: "";
		height: 1px;
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
	}
	.l-footer__gnav_list_item .list-other > li a {
		display: block;
		display: flex;
    justify-content: flex-start;
    align-items: center;
    height: calc(54 / 375 * 100vw);
		width: 100%;
	}

	.l-footer__lower {
		margin-top: var(--value-40);
	}
	.l-footer__lower .text-date {
		font-family: var(--ff-YuGothic);
		font-size: var(--fs-10);
		line-height: calc(15 / 10);
		margin-top: var(--value-32);
	}
	.l-footer__lower .text-date > dl {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
	}
	.l-footer__lower .text-date > dl + dl {
		margin-top: var(--value-4);
	}
	.l-footer__lower .text-date > dl dt {
		width: 7em;
	}
	.l-footer__lower .text-date > dl dd {
		width: calc(100% - 7em);
	}
	.l-footer__otherlink {
		margin-top: var(--value-20);
	}
	.l-footer__otherlink > li {
		font-size: var(--fs-11);
		line-height: calc(25 / 11);
	}
	.l-footer__copyright {
		font-size: calc(var(--fs-10) * 0.9);
		line-height: calc(15 / 9);
		padding-block: var(--value-8);
	}
}




/* component
========================================== */


.u-font-GaramondPremrPro {
	font-family: var(--ff-GaramondPremrPro);
}

/* c-pagetitle
----------------------------------------- */
.c-pagetitle {
	padding-block: var(--value-40);
	padding-inline: var(--value-80);
	text-align: center;
}
.c-pagetitle h1 {
	font-size: var(--fs-50);
	line-height: calc(50 / 40);
}
.c-pagetitle h1 .text-english {
	color: var(--color-gray7);
	display: block;
	font-size: var(--fs-24);
	font-family: var(--ff-EBGaramond);
	line-height: 1;
	letter-spacing: 0.02em;
	margin-bottom: var(--value-4);
}
.c-pagetitle__summaryText {
	font-size: var(--fs-18);
	font-family: var(--ff-YuGothic);
	margin-top: var(--value-32);
}
.c-pagetitle[data-layout^="bg-type"] {
	padding: 0;
}
.c-pagetitle[data-layout^="bg-type"] .c-pagetitle__main {
	display: flex;
	justify-content: center;
	align-items: center;
	height: calc(300 / 1440 * 100vw);
	overflow: hidden;
	padding-inline: var(--value-80);
	position: relative;
}
.c-pagetitle[data-layout^="bg-type"] .c-pagetitle__main h1,
.c-pagetitle[data-layout^="bg-type"] .c-pagetitle__main h1 .text-english {
	color: var(--color-white);
}
.c-pagetitle[data-layout^="bg-type"] .c-pagetitle__main .image-background img {
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 100%;
  width: 100%;
  z-index: -1;
}
.c-pagetitle[data-layout^="bg-type"] .c-pagetitle__summaryText > p:last-child{
	border-bottom: 1px solid var(--color-gray8);
	padding-bottom: var(--value-32);
}
/* PC */
@media screen and (min-width: 769px), print {
	.c-pagetitle__summaryText {
		margin-inline: auto;
		max-width: 1048px;
	}
}
/* SP */
@media screen and (max-width: 768px) {
	.c-pagetitle {
		padding-block: var(--value-32);
		padding-inline: var(--value-24);
	}
	.c-pagetitle h1 {
		font-size: var(--fs-29);
		line-height: calc(40 / 29);
	}
	.c-pagetitle h1 .text-english {
		font-size: var(--fs-16);
	}
	.c-pagetitle__summaryText {
		font-size: var(--fs-15);
		line-height: calc(24 / 15);
		margin-top: var(--value-40);
	}
	.c-pagetitle__summaryText[data-layout-sp="border-bottom"] {
		border-bottom: 1px solid var(--color-gray8);
		padding-bottom: var(--value-32);
	}
	.c-pagetitle[data-layout^="bg-type"] .c-pagetitle__main {
		height: calc(137 / 375 * 100vw);
		padding-inline: var(--value-18);
	}
	.c-pagetitle[data-layout^="bg-type"] .c-pagetitle__summaryText {
		margin-top: var(--value-28);
		margin-inline: var(--value-18);
	}
}


/* section
----------------------------------------- */
.l-section {
	padding-inline: var(--value-80);
}
.l-section__title {
	font-size: var(--fs-40);
	line-height: calc(56 / 40);
}
/* PC */
@media screen and (min-width: 769px), print {
	.l-section__inner {
		margin-inline: auto;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
}
/* SP */
@media screen and (max-width: 768px) {
	.l-section {
		padding-inline: var(--value-18);
	}
	.l-section__title {
		font-size: var(--fs-30);
		line-height: calc(44 / 30);
	}
}



/* c-icon-arrow
----------------------------------------- */
.c-icon-arrow {
  border-radius: 50%;
  border: 1px solid var(--color-white);
  display: block;
  overflow: hidden;
  position: absolute;
  z-index: 1;
}
.c-icon-arrow:before,
.c-icon-arrow:after {
  content: "";
  position: absolute;
}
.c-icon-arrow:before {
  background-image: url(/common/images/icon_arrow_right_white.svg);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: auto 100%;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 4px;
  transition: 0.4s all;
  width: 14px;
  z-index: 2;
}
.c-icon-arrow:after {
  display: block;
  z-index: 1;
  isolation: isolate;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  border-radius: 50%;
  background: rgba(var(--color-white-rgb), 0.8);
  transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1),border-radius .5s cubic-bezier(0.16, 1, 0.3, 1);
  transform: rotate(15deg) translateY(115%);
}
/* PC */
@media screen and (min-width: 769px), print {
  a:hover .c-icon-arrow:before {
    background-image: url(/common/images/icon_arrow_right_gray.svg);
  }
  a:hover .c-icon-arrow:after {
    border-radius: 0%;
    transform: rotate(0) translateY(0);
  }
}



/* c-link-viewmore
----------------------------------------- */
.c-link-viewmore {
	font-size: var(--fs-26);
	font-family: var(--ff-EBGaramond);
	line-height: 1;
	letter-spacing: 0.05em;
	text-align: right;
}
* + .c-link-viewmore {
	margin-top: var(--value-28);
}
.c-link-viewmore .button-roll {
	position: relative;
}
.c-link-viewmore .text-roll {
	display: block;
	pointer-events: none;
}
.c-link-viewmore .text-roll__in {
	opacity: 0;
	transform: translateY(0.5em);
}
.c-link-viewmore .text-roll__out {
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
	transform: translateY(0);
}
.c-link-viewmore a {
	display: inline-block;
	padding-right: var(--value-64);
	position: relative;
}
.c-link-viewmore a:after {
  background-image: url(/common/images/icon_arrow_right_black_l.svg);
  background-repeat: no-repeat;
  background-position: right bottom;
  background-size: auto 100%;
	content: "";
	position: absolute;
  top: 50%;
	right: 10px;
  transform: translateY(-50%);
  height: 6px;
  transition: 0.4s all;
  width: 43px;
}
/* PC */
@media screen and (min-width: 769px), print {
	.c-link-viewmore a:hover {
		opacity: 1;
	}
	.c-link-viewmore a:hover .text-roll {
		transition: transform .4s ease-out,
								opacity .4s ease-out;
	}
	.c-link-viewmore a:hover .text-roll__in {
		opacity: 1;
		transform: translateY(0);
	}
	.c-link-viewmore a:hover .text-roll__out {
		opacity: 0;
		transform: translateY(-.5em);
	}
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	.c-link-viewmore a:after {
		right: calc(10 / 1240 * 100vw);
		height: calc(6 / 1240 * 100vw);
		width: calc(43 / 1240 * 100vw);
	}
}
/* SP */
@media screen and (max-width: 768px) {
	.c-link-viewmore {
		font-size: var(--fs-15);
	}
	* + .c-link-viewmore {
		margin-top: var(--value-16);
	}
	.c-link-viewmore a {
		padding-right: var(--value-32);
	}
	.c-link-viewmore a:after {
		right: 0;
		height: calc(6 / 375 * 100vw);
		width: calc(24 / 375 * 100vw);
	}
}





/* c-relatedBanner
----------------------------------------- */
.c-relatedBanner__image img {
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 100%;
  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  z-index: -1;
}
.c-relatedBanner__text {
  display: flex;
  flex-direction: column-reverse;
  justify-content: flex-start;
  padding-bottom: var(--value-48);
}
.c-relatedBanner .text-title {
  font-size: var(--fs-32);
  line-height: calc(44 / 32);
  margin-top: var(--value-4);
}
.c-relatedBanner .text-overview {
  font-family: var(--ff-YuGothic);
}
.c-relatedBanner .tag-category {
  background: rgba(var(--color-white-rgb), 0.6);
  color: var(--color-primary);
  display: inline-block;
  line-height: calc(20 / 16);
  padding: 2px 10px;
}
.c-relatedBanner .text-information {
  line-height: calc(20 / 16);
  margin-top: var(--value-16);
}
/* PC */
@media screen and (min-width: 769px), print {
	.c-relatedBanner {
		height: 360px;
		overflow: hidden;
	}
  .c-relatedBanner__inner {
    margin-inline: auto;
    max-width: 1200px;
    width: 100%;
  }
	.c-relatedBanner > a {
		color: var(--color-white);
		display: flex;
		justify-content: flex-start;
		align-items: flex-end;
		height: 100%;
		padding-inline: var(--value-80);
		position: relative;
		width: 100%;
	}
	.c-relatedBanner > a:hover {
    opacity: 1;
  }
	.c-relatedBanner > a:hover .c-relatedBanner__image img {
    transform: translate(-50%,-50%) scale(1.05);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	.c-relatedBanner {
		height: calc(360 / 1240 * 100vw);
	}
}
/* SP */
@media screen and (max-width: 768px) {
	.c-relatedBanner > a {
		display: block;
	}
	.c-relatedBanner__image {
		height: calc(100 / 375 * 100vw);
		overflow: hidden;
		position: relative;
	}
  .c-relatedBanner__text {
		padding-top: var(--value-20);
		padding-inline: var(--value-18);
		padding-bottom: 0;
	}
	.c-relatedBanner .text-title {
		font-size: var(--fs-20);
		line-height: calc(28 / 20);
		margin-top: var(--value-8);
	}
	.c-relatedBanner .text-overview {
		font-family: var(--ff-YuGothic);
	}
	.c-relatedBanner .tag-category {
    background: #E6E6E6;
    font-size: var(--fs-10);
    line-height: 1;
    padding: 4px 6px;
	}
	.c-relatedBanner .text-information {
		color: #ABAFB5;
    font-size: var(--fs-14);
    line-height: calc(20 / 14);
    margin-top: var(--value-8);
	}
}




/* c-relatedLink
----------------------------------------- */
.c-relatedLink {
  margin-top: var(--value-120);
	padding-inline: var(--value-80);
}
.c-relatedLink + .c-relatedLink {
  margin-top: var(--value-80);
}
.c-relatedLink__heading {
  border-bottom: 1px solid var(--color-gray7);
  font-size: var(--fs-25);
  line-height: calc(32 / 25);
  padding-bottom: var(--value-12);
}
.c-relatedLink__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin-top: var(--value-24);
}
.c-relatedLink__list_item > a {
  display: block;
}
.c-relatedLink__list_item .image-thumb {
  overflow: hidden;
  position: relative;
}
.c-relatedLink__list_item .image-thumb img {
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 100%;
  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
}
.c-relatedLink__list_item .text-information {
  margin-top: var(--value-8);
}
.c-relatedLink__list_item .text-title {
  font-family: var(--ff-YuGothic);
	font-size: var(--fs-14);
  line-height: calc(22 / 14);
}
.c-relatedLink__list_item .text-position {
  font-family: var(--ff-YuGothic);
  font-size: var(--fs-14);
  line-height: calc(20 / 14);
}
.c-relatedLink__list_item .text-name {
  font-family: var(--ff-YuGothic);
  font-size: var(--fs-14);
  line-height: calc(18 / 14);
  margin-top: var(--value-4);
}
.c-relatedLink__list .slick-arrow {
	background-repeat: no-repeat;
	background-position: left top;
	background-size: 100% auto;
	border-radius: 50%;
	color: transparent;
	cursor: pointer;
	display: block;
	font-size: 0;
	height: 43px;
	position: absolute;
	width: 43px;
	z-index: 1;
}
/* PC */
@media screen and (min-width: 769px), print {
  .c-relatedLink__inner {
    margin-inline: auto;
    max-width: 1048px;
  }
  .c-relatedLink__list[data-column-pc="4"].slick-slider {
		margin-inline: calc(-8 / 1440 * 100vw);
		overflow: hidden;
		padding-bottom: var(--value-64);
		position: relative;
	}
  .c-relatedLink__list[data-column-pc="4"] .c-relatedLink__list_item {
    margin-inline: calc(8 / 1440 * 100vw) !important;
  }
  .c-relatedLink__list[data-column-pc="5"] .c-relatedLink__list_item {
    margin-left: calc(12 / 1048 * 100%);
    width: calc(200 / 1048 * 100%);
  }
  .c-relatedLink__list[data-column-pc="4"] .c-relatedLink__list_item:nth-of-type(4n+1),
  .c-relatedLink__list[data-column-pc="5"] .c-relatedLink__list_item:nth-of-type(5n+1) {
    margin-left: 0;
  }
	.c-relatedLink__list[data-column-pc="4"] .c-relatedLink__list_item .image-thumb {
		height: 160px;
	}
	.c-relatedLink__list[data-column-pc="5"] .c-relatedLink__list_item .image-thumb {
		height: 132px;
	}
  .c-relatedLink__list_item > a:hover {
    opacity: 1;
  }
  .c-relatedLink__list_item > a:hover .image-thumb img {
    transform: translate(-50%,-50%) scale(1.05);
  }

	
	.c-relatedLink__list .slick-arrow {
		background: var(--color-white);
		border: 1px solid var(--color-gray7);
		bottom: 0;
		overflow: hidden;
	}
	.c-relatedLink__list .slick-prev {
		right: 53px;
	}
	.c-relatedLink__list .slick-next {
		right: 0;
	}
	.c-relatedLink__list .slick-arrow:before,
	.c-relatedLink__list .slick-arrow:after {
		content: "";
		position: absolute;
	}
	.c-relatedLink__list .slick-arrow:before {
		background-repeat: no-repeat;
		background-position: right bottom;
		background-size: auto 100%;
		top: 50%;
		left: 50%;
		transform: translate(-50%,-50%);
		height: 4px;
		transition: 0.4s all;
		width: 14px;
		z-index: 2;
	}
	.c-relatedLink__list .slick-arrow:after {
		display: block;
		z-index: 1;
		isolation: isolate;
		width: 102%;
		height: 102%;
		left: 0;
		top: -2px;
		border-radius: 50%;
		background: #003A7A;
		transition: transform 1400ms cubic-bezier(0.16, 1, 0.3, 1),border-radius .5s cubic-bezier(0.16, 1, 0.3, 1);
		transform: rotate(15deg) translateY(115%);
	}
	.c-relatedLink__list .slick-prev:before {
		background-image: url(/common/images/icon_arrow_left_gray.svg);
	}
	.c-relatedLink__list .slick-next:before {
		background-image: url(/common/images/icon_arrow_right_gray.svg);
	}
	.c-relatedLink__list .slick-arrow:hover {
		border-color: #003A7A;
		opacity: 1 !important;
	}
	.c-relatedLink__list .slick-arrow:hover:after {
    border-radius: 0%;
    transform: rotate(0) translateY(0);
  }
	.c-relatedLink__list .slick-prev:hover:before {
    background-image: url(/common/images/icon_arrow_left_white.svg);
  }
	.c-relatedLink__list .slick-next:hover:before {
    background-image: url(/common/images/icon_arrow_right_white.svg);
  }
	.c-relatedLink__list .slick-arrow.slick-disabled {
		background: var(--color-white);
		pointer-events: none;
	}
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	.c-relatedLink__list[data-column-pc="4"] .c-relatedLink__list_item .image-thumb {
		height: calc(160 / 1240 * 100vw);
	}
	.c-relatedLink__list[data-column-pc="5"] .c-relatedLink__list_item .image-thumb {
		height: calc(132 / 1240 * 100vw);
	}
	.c-relatedLink__list .slick-arrow {
		height: calc(43 / 1240 * 100vw);
		width: calc(43 / 1240 * 100vw);
	}
	.c-relatedLink__list .slick-prev {
		right: calc(53 / 1240 * 100vw);
	}
}
/* SP */
@media screen and (max-width: 768px) {
	.c-relatedLink {
		margin-top: var(--value-100);
		padding-inline: var(--value-18);
	}
	.c-relatedLink + .c-relatedLink {
		margin-top: var(--value-40);
	}
	.c-relatedBanner + .c-relatedLink {
		border-top: calc(1.25 / 375 * 100vw) solid #ABAFB5;
		margin-top: var(--value-80);
		padding-top: var(--value-50);
	}
	.c-relatedLink:nth-last-of-type(1) {
    padding-bottom: var(--value-60);
  }
	.c-relatedLink__heading {
		font-size: var(--fs-20);
		line-height: 1;
	}
	.c-relatedLink__list {
		display: flex;
		flex-wrap: wrap;
		justify-content: flex-start;
		margin-top: var(--value-16);
	}
	.c-relatedLink__list_item .image-thumb {
		height: calc(200 / 375 * 100vw);
	}
	.c-relatedLink__list_item .text-information {
		margin-top: var(--value-12);
	}
	.c-relatedLink__list_item .text-name {
		font-size: var(--fs-18);
	}
	.c-relatedLink__list .slick-arrow {
    height: calc(43 / 375 * 100vw);
    top: calc(80 / 375 * 100vw);
    width: calc(43 / 375 * 100vw);
  }
	.c-relatedLink__list .slick-prev {
	background-image: url(/common/images/btn_slider_prev.svg);
    left: var(--value-12);
  }
	.c-relatedLink__list .slick-next {
	background-image: url(/common/images/btn_slider_next.svg);
    right: var(--value-12);
  }
}



/* c-contentsBanner
----------------------------------------- */
.c-contentsBanner {
	height: 260px;
	margin-top: var(--value-160);
	margin-bottom: calc(-1 * var(--value-100));
	overflow: hidden;
}
.c-contentsBanner > a {
	color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	padding-block: var(--value-40);
	padding-inline: var(--value-80);
	position: relative;
	text-align: center;
	width: 100%;
}
.c-contentsBanner__title {
	font-size: var(--fs-50);
	line-height: calc(50 / 40);
}
.c-contentsBanner__title .text-english {
	display: block;
	font-size: var(--fs-24);
	font-family: var(--ff-EBGaramond);
	line-height: 1;
	letter-spacing: 0.02em;
	margin-bottom: var(--value-4);
}
.c-contentsBanner__background img {
  object-fit: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  height: 100%;
  transition: transform 800ms cubic-bezier(0.215, 0.61, 0.355, 1);
  width: 100%;
  z-index: -1;
}
/* PC */
@media screen and (min-width: 769px), print {
	.c-contentsBanner > a:hover {
    opacity: 1;
  }
	.c-contentsBanner > a:hover .c-contentsBanner__background img {
    transform: translate(-50%,-50%) scale(1.05);
  }
}
@media only screen and (min-width: 769px) and (max-width: 1240px) {
	.c-contentsBanner {
		height: calc(260 / 1240 * 100vw);
	}
}
/* SP */
@media screen and (max-width: 768px) {
	.c-contentsBanner {
		height: calc(137 / 375 * 100vw);
		margin-top: var(--value-80);
		margin-bottom: 0;
	}
	.c-contentsBanner > a {
		padding-block: var(--value-8);
  	padding-inline: var(--value-18);
	}
	.c-contentsBanner__title {
		font-size: var(--fs-29);
		line-height: calc(40 / 29);
	}
	.c-contentsBanner__title .text-english {
		font-size: var(--fs-16);
	}
}


/* quotation */
.c-text-quotation {
	font-feature-settings: "palt";
}



/* animation
----------------------------------------- */
.js-animation-shine {
  background-color: var(--color-primary);
  -webkit-background-clip: text;
  background-clip: text;
  background-position: -250% 50%;
  background-repeat: no-repeat;
  background-size: 50%;
  color: transparent;
  display: inline-block;
  transition: background 2s cubic-bezier(.3,.4,.31,.88) .2s;
}
.js-animation-shine.is-active {
  background-position: 250% 50%;
}


/* SP */
@media screen and (max-width: 768px) {
	#l-footer {
		margin-top: 0;
	}
}


/* Print
------------------------------------------------------ */
@media print {
	#p-loading,
	.l-header__contentsnav .l-secondary-menu,
	.l-header__contentsnav nav > ul > li .text-roll__out {
		display: none;
	}
	#l-header {
		position: absolute;
	}
	.l-header__contentsnav nav > ul > li .text-roll__in {
		opacity: 1;
		transform: none;
	}
}

@media print and (min-width: 769px) and (max-width: 1240px) {
	.l-header__contentsnav nav > ul > li > span > *,
	.l-footer__navBlock_list_item .text-heading *,
	.l-footer__navBlock_list_item .list-secondary *,
	.l-footer__navBlock_list_item .list-other * {
		font-size: calc(14 / 1240 * 100vw);
	}
	#l-footer {
		padding-inline: calc(80 / 1240 * 100vw);
	}
	.l-footer__navBlock_list_item:nth-of-type(n+2) {
		margin-left: calc(40 / 1240 * 100vw);
	}
	.l-footer__logo {
		width: calc(223 / 1240 * 100vw);
	}
	.l-footer__navBlock {
		width: calc(100% - calc(223 / 1240 * 100vw));
	}
	.l-footer__otherlink > li,
	.l-footer__copyright {
		font-size: calc(12 / 1240 * 100vw);
	}
}
