@charset "utf-8";

/* -------------------------------------------------
	main-visual
------------------------------------------------- */

#main-visual {
	width: 100%;
	position: relative;
	overflow: hidden;
}
#main-visual h1 {
	height: 106px;
	padding: 0 0 0 138px;
	box-sizing: border-box;
	border-bottom: solid 1px #fff;
	font-size: 34px;
	font-weight: 700;
	line-height: 1.4;
	color: #fff;
	background: url(../img/logo_02.svg) no-repeat 36px 0 / 92px auto;
}
#main-visual h1 img {
	width: 463px;
	display: block;
}
#main-visual .btn {
	width: 401px;
	height: 56px;
	margin: 20px 0 0 74px;
	border-radius: 28px;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: background 0.2s ease-out;
	box-shadow: 5px 10px 5px 0 rgba(67,74,106,0.58);
	background: #F8D308;
	font-size: 19px;
	font-weight: bold;
	color: #253189;
	letter-spacing: 0.1em;
}
#main-visual .btn span {
	padding: 0.5em 0;
	display: inline-block;
	padding-right: 38px;
	background: url(../img/arrow_02.svg) no-repeat right center / 18.4px auto;
	transform: translateX(4%);
}

@media print, screen and (min-width:768px) {
	#main-visual {
		height: 484px;
		background: url(../img/index/mv.jpg) no-repeat center top;
	}
	#main-visual .group {
		width: 1000px;
		position: absolute;
		left: calc(50% - 40px);
		top: 40px;
	}
	#main-visual .btn:hover {
		background: #F8E47A;
	}
}

@media screen and (max-width:767px) {
	#main-visual {
		height: calc(715 / 375 * 100vw);
		padding: calc(165 / 375 * 100vw) 0 0;
		box-sizing: border-box;
		background: url(../img/index/mv_sp_v2.jpg) no-repeat center top / 100% auto;
	}
	#main-visual .group {
		padding-left: calc(30 / 375 * 100vw);
	}
	#main-visual h1 {
		height: calc(80 / 375 * 100vw);
		padding: 0 0 0 calc(80 / 375 * 100vw);
		background-size: 16.5vw;
		background-position: 0 0;
		font-size: calc(22 / 375 * 100vw);
	}
	#main-visual h1 img {
		width: calc(335 / 375 * 100vw);
	}
	#main-visual .btn {
		width: calc(299 / 375 * 100vw);
		height: calc(45 / 375 * 100vw);
		margin: calc(33 / 375 * 100vw) 0 0 calc(8 / 375 * 100vw);
		border-radius: calc(23 / 375 * 100vw);
		font-size: calc(13 / 375 * 100vw);
	}
	#main-visual .btn span {

		padding-right: 1.7em;
		background-size: calc(9 / 375 * 100vw) auto;
	}
}

/* -------------------------------------------------
	first-points
------------------------------------------------- */

#first-points li {
	transition: all 1.0s cubic-bezier(.77,.09,.31,.95);
	transform: translateY(30%);
	opacity: 0;
}
#first-points li:nth-child(1) { transition-delay: 0.2s; }
#first-points li:nth-child(2) { transition-delay: 0.4s; }
#first-points li:nth-child(3) { transition-delay: 0.6s; }
#first-points li:nth-child(4) { transition-delay: 0.8s; }
#first-points li:nth-child(5) { transition-delay: 1.0s; }

#first-points.on li {
	transform: translateY(0);
	opacity: 1;
}

@media print, screen and (min-width:768px) {
	#first-points {
		max-width: 1021px;
		width: 96%;
		margin: -210px auto 0;
		padding-bottom: 25px;
		display: flex;
		justify-content: space-between;
		transform: translateX(-3px);
		position: relative;
		z-index: 6;
	}
	#first-points li {
		width: 18.4%;
	}
	#first-points li img {
		width: 100%;
		transform-origin: left top;
	}
}

@media screen and (max-width:767px) {
	#first-points {
		margin: -103vw 2vw 0 1.6vw;
		position: relative;
		z-index: 6;
	}
	#first-points li:nth-child(2) { margin-top: -8vw; }
	#first-points li:nth-child(3) { margin-top: -5.4vw; }
	#first-points li:nth-child(4) { margin-top: -5.8vw; }
	#first-points li:nth-child(5) { margin-top: -5vw; }

	#first-points li img {
		width: 100%;
	}
}

/* -------------------------------------------------
	block1
------------------------------------------------- */

#block1 {
	padding: 30px 0 105px;
	text-align: center;
	background: url(../img/logo_06.svg) no-repeat center bottom / 1032px auto;
	position: relative;
}
#block1::before {
	width: 100%;
	height: 168px;
	display: block;
	content: "";
	background: linear-gradient(#fff, rgba(203,207,213,0.41));
	position: absolute;
	bottom: 262px;
	left: 0;
	z-index: 2;
}
#block1 .box-sp {
	position: relative;
	z-index: 4;
}
#block1 .lead {
	max-width: 877px;
	padding-bottom: 0.5em;
	font-size: 20px;
	margin: 0 auto;
	border-bottom: solid 1px #707070;
}
#block1 .logo {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 18px;
}
#block1 .logo .jpx {
	width: 61px;
}
#block1 .logo .tpm {
	width: 566.6px;
	margin-left: 26px;
}
#block1 .copy {
	margin-top: 32px;
	font-size: 22px;
}
#block1 .youtube {
	margin-top: 13px;
	display: inline-block;
	transition: opacity 0.2s ease-out;
	width: 640px; /*for CLS*/
	height: 350px; /*/for CLS*/
}

@media print, screen and (min-width:768px) {
	#block1 .youtube:hover {
		opacity: 0.7;
	}
}

@media screen and (max-width:767px) {
	#block1 {
		padding: calc(33 / 375 * 100vw) 0 calc(39 / 375 * 100vw);
		background-size: 100% auto;
	}
	#block1::before {
		width: 100%;
		height: calc(39 / 375 * 100vw);
		bottom: calc(188 / 375 * 100vw);
	}
	#block1 .lead {
		max-width: none;
		font-size: calc(15 / 375 * 100vw);
		line-height: 1.5;
	}
	#block1 .logo {
		margin-top: calc(12 / 375 * 100vw);
	}
	#block1 .logo .jpx {
		width: calc(29 / 375 * 100vw);
	}
	#block1 .logo .tpm {
		width: calc(272 / 375 * 100vw);
		margin-left: calc(12 / 375 * 100vw);
	}
	#block1 .copy {
		margin: 0.5em 0 2em;
		font-size: calc(18 / 375 * 100vw);
	}
	#block1 .youtube {
		margin-top: 0;
		width: 100%; /*for CLS*/
		height: calc(300 / 640 * 100vw); /*for CLS*/
	}
}

/* -------------------------------------------------
	seminar
------------------------------------------------- */

#seminar {
	margin-top: 35px;
}
#seminar .btn {
	width: 401px;
	height: 55px;
	border-radius: 36px;
	display: flex;
	margin: 0 auto;
	justify-content: center;
	align-items: center;
	font-size: 22px;
	font-weight: bold;
	color: #0E428F;
	background: #FFDB93;
	box-shadow: 0 6px 12px 0 rgba(61,79,118,0.82);
	position: relative;
	letter-spacing: 0.1em;
	transition: background 0.2s ease-out;
}
#seminar .btn img {
	width: 80px;
	position: absolute;
	left: 59px;
	top: 0;
	box-shadow: 2px 8px 15px 0 rgba(0,0,0,0.36);
}
/* #seminar .btn span {
	padding: 0 1.5em 0 0;
	display: inline-block;
	background: url(../img/newwin.svg) no-repeat right 4px / 18px auto;
} */

@media print, screen and (min-width:768px) {
	#seminar .btn:hover {
		background: #F9E3B5;
	}
}

@media screen and (max-width:767px) {
	#seminar {
		margin-top: calc(47 / 375 * 100vw);
	}
	#seminar .btn {
		width: calc(329 / 375 * 100vw);
		height: calc(52 / 375 * 100vw);
		border-radius: calc(26 / 375 * 100vw);
		font-size: calc(17 / 375 * 100vw);
		box-shadow: 0 calc(6 / 375 * 100vw) calc(12 / 375 * 100vw) 0 rgba(61,79,118,0.82);
	}
	#seminar .btn img {
		width: calc(53 / 375 * 100vw);
		left: calc(34 / 375 * 100vw);
		box-shadow: calc(2 / 375 * 100vw) calc(8 / 375 * 100vw) calc(15 / 375 * 100vw) 0 rgba(0,0,0,0.36);
	}
	#seminar .btn span {
		padding-top: 0;
		background-position: right center;
		background-size: calc(15 / 375 * 100vw) auto;
	}
}

/* -------------------------------------------------
	inner-links
------------------------------------------------- */

main .inner-links {
	padding: 37px 0 41px;
	background: #2F50AA;
}
main .inner-links ul li a {
	width: 178px;
	height: 178px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	border: solid 10px #CD9542;
	background: #fff;
	border-radius: 50%;
	text-align: center;
	font-size: 22px;
	line-height: 1.4;
	font-weight: bold;
	color: #2F50AA;
	letter-spacing: 0;
	transition: background 0.2s ease-out;
	box-shadow: 15px 15px 6px 0 rgba(0,0,0,0.16);
}

@media print, screen and (min-width:768px) {
	main .inner-links ul {
		display: flex;
		justify-content: space-between;
	}
	main .inner-links ul li a:hover {
		background: #f5ead9;
	}
}

@media print, screen and (min-width:768px) and (max-width:1044px) {
	main .inner-links ul li a {
		width: calc(178 * 0.098vw);
		height: calc(178 * 0.098vw);
		font-size: calc(22 * 0.098vw);
	}
}

@media screen and (max-width:767px) {
	main .inner-links {
		padding: calc(25 / 375 * 100vw) 0 calc(40 / 375 * 100vw);
	}
	main .inner-links ul li + li {
		margin-top: calc(15 / 375 * 100vw);
	}
	main .inner-links ul li a {
		width: auto;
		height: calc(58 / 375 * 100vw);
		border-width: 3px;
		border-radius: calc(29 / 375 * 100vw);
		font-size: calc(20 / 375 * 100vw);
		line-height: 1;
		box-shadow: calc(6 / 375 * 100vw) calc(6 / 375 * 100vw) calc(10 / 375 * 100vw) 0 rgba(6,32,80,0.78);
	}
}

/* -------------------------------------------------
	effect
------------------------------------------------- */

#effect {
	width: 100%;
	overflow: hidden;
	position: relative;
}
#effect .desc {
	margin-top: 45px;
	font-size: 16px;
	line-height: 1.75;
}

@media print, screen and (min-width:768px) {
	#effect {
		padding-bottom: 795px;
	}
	#effect .box880 {
		z-index: 4;
	}
	#effect .fig {
		width: 2000px;
		max-width: none;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
	}
}

@media print, screen and (min-width:768px) and (max-width:930px) {
	#effect {
		padding-bottom: calc(795 * 0.11vw);
	}
	#effect .fig {
		width: 206vw;
	}
}

@media screen and (max-width:767px){
	#effect .desc {
		margin-top: 1em;
		font-size: calc(15 / 375 * 100vw);
		line-height: 1.7;
	}
	#effect .fig {
		width: 100%;
		max-width: none;
	}
}

/* -------------------------------------------------
	about
------------------------------------------------- */

#about {
	width: 100%;
	overflow: hidden;
}
#about .desc {
	margin-top: 45px;
	font-size: 16px;
	line-height: 1.75;
}

@media print, screen and (min-width:768px) {
	#about {
		position: relative;
		padding-bottom: 1480px;
		margin-bottom: -320px;
	}
	/* #about .fig {
		max-width: none;
		width: 2000px;
		display: block;
		position: absolute;
		bottom: 0;
		left: 50%;
		transform: translateX(-50%);
		margin-left: -27px;
	} */
}
.top-about-picture {
	padding-top: 26px;
}

@media print, screen and (min-width:769px) {
	.top-about-picture {
		position: relative;
	}
	.top-about-picture .fig{
		position: absolute;
		width: 2000px;
		max-width: none;
		/* left: -538px; */
		left: 50%;
		transform: translateX(-50%);
	}
	.top-about-picture-content{
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		padding-top: 94px;
	}
	.top-about-picture-content-dt img{
		width: 386px;
		display: block;
		margin: 0 auto 23px;
	}
	.top-about-picture-content-dd{
		width: 906px;
		margin-bottom: 12px;
	}
	.top-about-picture-content-dd::after{
		content: '';
		background-image: url(/tokyopromarket/common/img/index/stairs.svg);
		background-repeat: no-repeat;
		background-size: contain;
		display: inline-block;
		width: 452px;
		height: 202px;
		position: absolute;
		right: -187px;
		bottom: -72px;
	}
	.top-about-picture-content-dd img{
		width: 100%;
	}
	.top-about-picture-content-p {
		text-align: center;
		color: #2F50AA;
		font-weight: bold;
		font-size: 27px;
	}
	.top-about-picture-content-p span {
		font-size: 19px;
	}
}

@media print, screen and (max-width:768px) {
	.top-about-picture-content {
		display: none;
	}
}

@media print, screen and (min-width:768px) and (max-width:970px) {
	#about {
		/* padding-bottom: 156vw; */
		padding-bottom: 100px;
		margin-bottom: 0;
	}
	#about .fig {
		width: 211vw;
		margin-left: 0px;
	}
}

@media screen and (max-width:767px) {
	#about .box-header {
		margin-bottom: 0;
	}
	#about .bg-gray{
		background-color: #eeeef0;
		padding: calc(40 / 375 * 100vw) 0;
	}
	#about ul.to-index-page {
		margin-top: 0;
	}
	#about ul.to-index-page li .btn-style1 {
		font-size: calc(30 / 750 * 100vw);
	}
	#about .desc {
		margin-top: 1em;
		font-size: calc(15 / 375 * 100vw);
		line-height: 1.7;
	}
	#about .fig {
		width: 122.1%;
		max-width: none;
		margin: 6vw 0 0 calc(-14 / 375 * 100vw);
		display: block;
	}
}

/* -------------------------------------------------
	block2
------------------------------------------------- */

#block2 {
	padding: 0 0 85px;
	text-align: center;
	position: relative;
}
#block2::before {
	content: "";
	width: 100%;
	height: 182px;
	display: block;
	background: linear-gradient(#fff, rgba(1,88,190,0.2));
	position: absolute;
	left: 0;
	bottom: 9px;
}
#block2::after {
	content: "";
	width: 312px;
	height: 312px;
	display: block;
	background: url(../img/index/fig_07.svg) no-repeat 0 0 / contain;
	position: absolute;
	left: 50%;
	bottom: 0;
	z-index: 4;
	transform: translateX(-50%);
}
#block2 .headline {
	font-size: 30px;
	font-weight: bold;
	color: #2F50AA;
}
#block2 .point {
	margin-top: 90px;
	display: flex;
	justify-content: center;
	position: relative;
	z-index: 6;
}
#block2 .point li + li {
	margin-left: 220px;
}
#block2 .point li .text1 {
	font-size: 20px;
	color: #8E908D;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 0.2em;
}
#block2 .point li .text2 {
	margin-top: 1em;
	font-size: 30px;
	font-weight: bold;
	color: #DC000C;
	line-height: 1.2;
}

@media print, screen and (min-width:768px) and (max-width:860px) {
	#block2 .point li + li {
		margin-left: 260px;
	}
	#block2 .point li .text1 {
		font-size: 18px;
		letter-spacing: 0.1em;
	}
	#block2 .point li .text2 {
		font-size: 28px;
	}
}

@media screen and (max-width:767px) {
	#block2 {
		padding: calc(30 / 375 * 100vw) 0 calc(90 / 375 * 100vw);
	}
	#block2::before {
		height: calc(137 / 375 * 100vw);
		bottom: calc(5 / 375 * 100vw);
	}
	#block2::after {
		width: calc(182 / 375 * 100vw);
		height: calc(182 / 375 * 100vw);
	}
	#block2 .headline {
		font-size: calc(17 / 375 * 100vw);
		line-height: 1.5;
	}
	#block2 .point {
		margin-top: calc(18 / 375 * 100vw);
	}
	#block2 .point li + li {
		margin-left: calc(105 / 375 * 100vw);
	}
	#block2 .point li .text1 {
		font-size: calc(12 / 375 * 100vw);
		line-height: 1.5;
		letter-spacing: 0.2em;
	}
	#block2 .point li .text2 {
		margin-top: 1em;
		font-size: calc(16 / 375 * 100vw);
		line-height: 1.2;
	}
}

/* -------------------------------------------------
	block3
------------------------------------------------- */

#block3 {
	padding: 47px 0 68px;
	text-align: center;
}
#block3 p {
	margin-bottom: 1.5em;
	font-size: 18px;
	font-weight: bold;
	color: #2F50AA;
	line-height: 1.7;
}
#block3 img {
	width: 516px;
}

@media screen and (max-width:767px) {
	#block3 {
		padding: calc(52 / 375 * 100vw) 0 calc(29 / 375 * 100vw);
	}
	#block3 p {
		font-size: calc(12 / 375 * 100vw);
	}
	#block3 img {
		width: calc(240 / 375 * 100vw);
	}
}

.box-header {
	position: relative;
	margin-bottom: 55px;
}
.box-header .to-index-page {
	position: absolute;
	bottom: 0;
	right: 0;
	background-color: #fff;
}

@media screen and (max-width:767px) {
	.box-header {
		margin-bottom: 45px;
	}
	ul.to-index-page {
		margin-top: calc(40 / 375 * 100vw);
		display: flex;
		justify-content: center;
		flex-direction: column;
	}
	ul.to-index-page li .btn-style1 {
		width: 100%;
		border-radius: 25px;
		font-size: calc(32 / 750 * 100vw);
		line-height: 1.8125;
		min-height: 34px;
		min-width: auto;
		background-color: #fff;
	}
}
/* -------------------------------------------------
	j-adviser
------------------------------------------------- */

#j-adviser {
	padding-bottom: 85px;
	background: #d9e7fc;
	position: relative;
	z-index: 2;
}
#j-adviser ul.to-index-page {
	margin: calc(40 / 375 * 100vw) 0;
}
#j-adviser .desc {
	margin-top: 45px;
	font-size: 16px;
	line-height: 1.75;
}
#j-adviser .fig-area {
	margin-top: 40px;
}
#j-adviser .fig-area .group {
	display: flex;
	justify-content: space-between;
}
#j-adviser .fig-area .item {
	width: 176px;
	height: 176px;
	border-radius: 50%;
	box-sizing: border-box;
}
#j-adviser .fig-area .item.i1 { background: #2F50AA url(../img/index/fig_02.svg) no-repeat center 99px / 62px auto; padding-top: 27px; }
#j-adviser .fig-area .item.i2 { background: #2F50AA url(../img/index/fig_03.svg) no-repeat center 88px / 70px auto; padding-top: 42px; }
#j-adviser .fig-area .item.i3 { background: #2F50AA url(../img/index/fig_04.svg) no-repeat center 92px / 74px auto; padding-top: 27px; }
#j-adviser .fig-area .item.i4 { background: #2F50AA url(../img/index/fig_05.svg) no-repeat center 88px / 74px auto; padding-top: 27px; }

#j-adviser .fig-area .item p {
	color: #fff;
	text-align: center;
	font-weight: bold;
	line-height: 1.3;
	font-size: 19px;
}
#j-adviser .fig-area .item p.normal {
	font-weight: normal;
}
#j-adviser .fig-area .item p .small {
	margin-top: 0.1em;
	font-size: 16px;
	font-weight: normal;
	display: inline-block;
}

#j-adviser .strong {
	padding-bottom: 0.2em;
	margin-top: 1.5em;
	font-size: 22px;
	color: #2F50AA;
	letter-spacing: 0.1em;
	font-weight: bold;
	text-align: center;
	line-height: 1.4;
	border-bottom: solid 12px #fff;
}

@media print, screen and (min-width:768px) {
	#j-adviser .fig-area {
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#j-adviser .fig-area .group {
		width: calc(572 / 880 * 100%);
	}
	#j-adviser .fig-area .plus {
		width: calc(94 / 880 * 100%);
	}
	#j-adviser .fig-area .item.i4 {
		width: calc(176 / 880 * 100%);
	}
}

@media print, screen and (min-width:768px) and (max-width:935px) {
	#j-adviser .fig-area {
		display: block;
	}
	#j-adviser .fig-area .group {
		width: 572px;
		margin: 0 auto;
	}
	#j-adviser .fig-area .plus {
		margin: 15px auto;
		display: block;
	}
	#j-adviser .fig-area .item.i4 {
		width: 176px;
		margin: 0 auto;
	}
}

@media screen and (max-width:767px) {
	#j-adviser {
		padding-bottom: calc(30 / 375 * 100vw);
	}
	#j-adviser .desc {
		margin-top: 1em;
		font-size: calc(15 / 375 * 100vw);
		line-height: 1.7;
	}
	#j-adviser .fig-area {
		width: 110%;
		margin-top: calc(40 / 375 * 100vw);
		margin-left: -5%;
	}
	#j-adviser .fig-area .item {
		width: calc(113 / 375 * 100vw);
		height: calc(113 / 375 * 100vw);
	}
	#j-adviser .fig-area .item.i1 {
		background-size: calc(62 * 0.17vw) auto;
		background-position: center calc(99 * 0.17vw);
		padding-top: calc(17 / 375 * 100vw);
	}
	#j-adviser .fig-area .item.i2 {
		background-size: calc(70 * 0.17vw) auto;
		background-position: center calc(88 * 0.17vw);
		padding-top: calc(25 / 375 * 100vw);;
	}
	#j-adviser .fig-area .item.i3 {
		background-size: calc(74 * 0.17vw) auto;
		background-position: center calc(92 * 0.17vw);
		padding-top: calc(17 / 375 * 100vw);
	}
	#j-adviser .fig-area .item.i4 {
		background-size: calc(74 * 0.17vw) auto;
		background-position: center calc(88 * 0.17vw);
		padding-top: calc(17 / 375 * 100vw);
		margin: 0 auto;
	}

	#j-adviser .fig-area .item p {
		font-size: calc(12 / 375 * 100vw);
	}
	#j-adviser .fig-area .item p .small {
		font-size: calc(10 / 375 * 100vw);
	}

	#j-adviser .fig-area .plus {
		width: calc(39 / 375 * 100vw);
		margin: calc(9 / 375 * 100vw) auto;
		display: block;
	}

	#j-adviser .strong {
		padding-bottom: 0.4em;
		margin-top: 1em;
		font-size: calc(17 / 375 * 100vw);
		line-height: 1.5;
		border-width: 6px;
		letter-spacing: 0.03em;
	}
}

/* -------------------------------------------------
	reason
------------------------------------------------- */

#reason .headline {
	width: 665px;
	margin: 0 auto 20px;
	padding-bottom: 27px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	color: #2F50AA;
	border-bottom: solid 1px #255091;
	letter-spacing: 0.3em;
	position: relative;
	z-index: 4;
}
#reason .copy {
	text-align: center;
	font-size: 26px;
	font-weight: bold;
	color: #2F50AA;
	line-height: 1.8;
	letter-spacing: 0.1em;
}
#reason dl {
	width: 96%;
	max-width: 793px;
	margin: 35px auto 0;
	color: #2F50AA;
	position: relative;
	z-index: 20;
}
#reason dl dt {
	width: 224px;
	height: 96px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
	background: #fff;
	font-size: 20px;
	font-weight: bold;
	border-radius: 23px;
}
#reason dl dd {
	padding-bottom: 0.7em;
	font-size: 18px;
	font-weight: bold;
	line-height: 1.7;
}

#reason .fig1 {
	position: absolute;
	left: 50%;
	top: -40px;
	z-index: 10;
	margin-left: -487px;
}

#reason .service-name {
	width: 130px;
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 10;
	margin-left: 325px;
	box-shadow: 2px 8px 15px 0 rgba(0,0,0,0.36);
}

@media print, screen and (min-width:768px) {
	#reason {
		padding: 50px 0 45px;
		background: url(../img/index/bg_01.jpg) no-repeat center top / cover;
		position: relative;
	}
	#reason dl {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		align-items: center;
	}
	#reason dl dt {
		width: calc(224 / 793 * 100%);
		line-height: 1.5;
	}
	#reason dl dd {
		width: calc(533 / 793 * 100%);
		border-bottom: solid 1px #2F50AA;
	}
	#reason dl dd:nth-child(2) ~ * {
		margin-top: 25px;
	}
}

@media print, screen and (min-width:768px) and (max-width:930px) {
	#reason .service-name {
		left: auto;
		margin-left: 0;
		right: 0;
	}
}

@media screen and (max-width:767px) {
	#reason {
		padding: calc(125 / 375 * 100vw) 0 calc(35 / 375 * 100vw);
		background: url(../img/index/bg_01_sp.jpg) no-repeat center top / cover;
		position: relative;
	}
	#reason .headline {
		width: auto;
		font-size: calc(14 / 375 * 100vw);
	}
	#reason .copy {
		font-size: calc(17 / 375 * 100vw);
		line-height: 1.4;
	}
	#reason dl {
		width: calc(356 / 375 * 100%);
		margin: calc(20 / 375 * 100%) auto 0;
	}
	#reason dl dt {
		width: 100%;
		height: calc(42 / 375 * 100vw);
		border-radius: calc(12 / 375 * 100vw);
		font-size: calc(16 / 375 * 100vw);
		line-height: 1;
	}
	#reason dl dd {
		margin-top: 1em;
		padding-bottom: 0;
		font-size: calc(14 / 375 * 100vw);
		letter-spacing: 0;
	}
	#reason dl dd + dt {
		margin-top: 5vw;
	}

	#reason .fig1 {
		width: calc(116 / 375 * 100vw);
		left: calc(16 / 375 * 100vw);
		top: calc(-22 / 375 * 100vw);
		margin-left: 0;
	}

	#reason .service-name {
		width: calc(79 / 375 * 100vw);
		transform: translateX(-50%);
		margin-left: 0;
		box-shadow: calc(2 / 375 * 100vw) calc(3 / 375 * 100vw) calc(10 / 375 * 100vw) 0 rgba(0,0,0,0.36);
	}
}

/* -------------------------------------------------
	study
------------------------------------------------- */
#study {
	position: relative;
	padding-bottom: 80px;
}
#study::before {
	width: 100%;
	height: 168px;
	display: block;
	content: "";
	background: linear-gradient(#fff, rgba(203,207,213,0.41));
	position: absolute;
	bottom: 0;
	left: 0;
}
#study .tag-area ul {
	display: flex;
	flex-direction: row;
}
#study .tag-area ul li .tag-item {
	display: inline-block;
	box-sizing: border-box;
	background-color: #707070;
	color: #fff;
	padding: 5px 20px;
	border-radius: 30px;
	font-size: 14px;
	line-height: 1.3571428571;
}
#study article .category {
	display: inline-block;
	background-color: #105FDF;
	color: #fff;
	padding: 5px 10px;
	margin-right: 18px;
	font-size: 14px;
	line-height: 1.3571428571;
}
#study article .date {
	padding: 5px 0;
	display: inline-block;
	font-size: 14px;
	line-height: 1.2142857143;
}

#study .articles {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
#study .articles .item {
	box-sizing: border-box;
	width: 280px;
	margin-bottom: 50px;
}
#study .articles .item article {
	position: relative;
}
#study .articles .item .category {
	position: absolute;
	top: 0;
	left: 0;
}
#study .articles .item .item-info {
	margin-top: 10px;
}
#study .articles .item .item-info .date {
	color: #878787;
}
#study .articles .item .title {
	font-size: 18px;
	line-height: 1.6666666667;
	font-weight: bold;
	margin: 20px 0;
}
#study .articles .item .description {
	color: #878787;
	font-size: 14px;
	line-height: 1.7142857143;
}
#study .articles .item .description p {
	word-wrap: break-word;
}

#study .tag-area {
	margin-top: 20px;
}
#study .tag-area ul {
	flex-wrap: wrap;
}
#study .tag-area ul li {
	margin-bottom: 10px;
}
#study .tag-area ul li .tag-item {
	background-color: #EEEEEE;
	color: #707070;
	padding: 5px 10px;
	font-size: 12px;
}
#study .tag-area ul li:not(:last-child) {
	margin-right: 10px;
}
@media screen and (min-width: 767px) {
	#study .articles .item:not(:nth-child(3n+1)) {
		margin-left: 30px;
	}
}
@media (min-width: 767px) and (max-width: 937px) {
	#study .articles .item {
		width: 30%;
	}
}
@media screen and (max-width: 767px) {
	#study .tag-area ul li .tag-item {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.3571428571;
	}
	#study article .category {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.3571428571;
	}
	#study article .date {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.2142857143;
	}

	#study .articles .item {
		width: 100%;
		margin-bottom: calc(90 / 750 * 100vw);
	}
	#study .articles .item .title {
		font-size: calc(32 / 750 * 100vw);
		line-height: 1.5;
	}
	#study .articles .item .description {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.7142857143;
	}
	#study .articles .item:last-child {
		margin-bottom: 0;
	}
	#study .articles .item .thumbnail {
		margin: 0 auto;
		display: block;
	}
}
/* -------------------------------------------------
	works
------------------------------------------------- */
#works .item p,
#works .item a {
	color: #fff;
}
#works .item {
	position: relative;
}
#works .item + .item {
	margin-top: 12px;
}
#works .item .pic::after,
#works .item .text::after {
	width: 100%;
	height: 100%;
	content: "";
	display: block;
	background: rgba(0,0,0,0.4);
	position: absolute;
	left: 0;
	top: 0;
	z-index: 2;
}
#works .item .pic {
	position: relative;
}
#works .item .pic img {
	width: 100%;
}
#works .item .pic .desc {
	font-size: 12px;
	line-height: 2;
	font-weight: bold;
	text-align: right;
	position: absolute;
	right: 1.5em;
	bottom: 2em;
	z-index: 4;
}
#works .item .text {
	padding: 0 2.6%;
	box-sizing: border-box;
	position: relative;
}
#works .item .text .group {
	position: relative;
	z-index: 4;
}
#works .item .text .crient {
	font-size: 16px;
	font-weight: bold;
	line-height: 1.3;
}
#works .item .text .desc {
	margin-top: 1.4em;
	font-size: 12px;
	font-weight: bold;
	line-height: 1.4;
}
#works .item .text .desc a {
	text-decoration: underline;
}
#works .item .text .buttons {
	margin-top: 25px;
}
#works .item .text .btn {
	height: 48px;
	display: flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	border: solid 1px #fff;
	border-radius: 24px;
	transition: background 0.2s ease-out;
}
#works .item .text .btn.pdf {
	width: 139px;
}
#works .item .text .btn.yt {
	width: 185px;
}
#works .item .text .btn span {
	display: inline-block;
	font-size: 15px;
	font-weight: bold;
}
#works .item .text .btn.pdf span::after {
	width: 24px;
	height: 24px;
	content: "";
	background: url(../img/pdf.svg) no-repeat 0 0 / contain;
	vertical-align: middle;
	display: inline-block;
	margin-left: 0.5em;
}
#works .item .text .btn.yt span::after {
	width: 26px;
	height: 19px;
	content: "";
	background: url(../img/yt.png) no-repeat 0 0 / 100% auto;
	vertical-align: middle;
	margin-left: 0.7em;
	display: inline-block;
}

#works .item .text .btn-group.no-ceremony a.hidden {
	visibility: hidden;
}

#works .marcket-change .headline {
	margin: 17px 0 -12px;
	padding: 1em 0 1.7em 2em;
	font-size: 15px;
	font-weight: bold;
	border-left: solid 8px #FE0002;
	color: #2E50AA;
	position: relative;
	z-index: 4;
}

@media print, screen and (min-width:768px) {
	#works-direct {
		transform: translateY(-70px);
	}

	#works .item {
		display: flex;
	}
	#works .item .pic {
		width: calc(510 / 1100 * 100%);
	}

	#works .item .text {
		width: calc(590 / 1100 * 100%);
	}
	#works .item .text .group {
		height: 262px;
	}
	#works .item .text .crient {
		padding: 1.5em 0 0.4em 1em;
		border-left: solid 1px #fff;
	}
	#works .item .text .desc a:hover {
		text-decoration: none;
	}
	#works .item .text .buttons {
		display: flex;
		position: absolute;
		left: 0;
		bottom: 24px;
	}
	#works .item .text .btn-group {
		display: flex;
	}
	#works .item .text .btn-group.with-blank {
		margin-left: 149px;
	}
	#works .item .text .btn + .btn,
	#works .item .text .btn + .btn-group {
		margin-left: 10px;
	}
	#works .item .text .btn:hover {
		background: rgba(255,255,255,0.3);
	}
}

@media print, screen and (min-width:768px) and (max-width:1170px) {
	#works .item {
		width: 720px;
		display: block;
		margin: 0 auto;
	}
	#works .item .pic {
		width: 100%;
		height: 262px;
		overflow: hidden;
	}
	#works .item .text {
		width: 100%;
	}
}

@media screen and (max-width:767px) {
	#works-direct {
		transform: translateY(-16.8vw);
	}

	#works {
		position: relative;
		padding-bottom: 80px;
	}
	#works::before {
		width: 100%;
		height: 84px;
		display: block;
		content: "";
		background: linear-gradient(#fff, rgba(203,207,213,0.41));
		position: absolute;
		bottom: 0;
		left: 0;
	}
	#works .item + .item {
		margin-top: 4px;
	}
	#works .item .pic .desc {
		width: 100%;
		text-align: left;
		font-size: calc(12 / 375 * 100vw);
		position: absolute;
		right: 50%;
		bottom: 1.5em;
		z-index: 4;
		transform: translateX(50%);
	}
	#works .item .pic .desc br {
		display: none;
	}
	#works .item .text {
		padding: 0 0 calc(30 / 375 * 100vw);
	}
	#works .item .text .crient {
		padding: 1.6em 0 0 0.8em;
		font-size: calc(16 / 375 * 100vw);
		border-left: solid 1px #fff;
	}
	#works .item .text .desc {
		font-size: calc(12 / 375 * 100vw);
	}
	#works .item .text .buttons {
		width: calc(328 / 375 * 100vw);
		margin: 0 auto;
	}
	#works .item .text .btn-group {
		display: flex;
		justify-content: space-between;
	}
	#works .item .text .btn {
		width: calc(155 / 375 * 100vw) !important;
		height: calc(45 / 375 * 100vw) !important;
		margin: calc(30 / 375 * 100vw) 0 0;
		border-radius: calc(24 / 375 * 100vw);
		position: relative;
		z-index: 6;
	}
	#works .item .text .btn-group .btn {
		margin-top: calc(16 / 375 * 100vw);
	}
	#works .item .text .btn span {
		width: 76%;
		font-size: calc(10 / 375 * 100vw);
		display: flex;
		justify-content: space-between;
		align-items: center;
	}
	#works .item .text .btn.pdf span::after {
		width: calc(25 / 375 * 100vw);
		height: calc(25 / 375 * 100vw);
		margin-left: 0;
	}
	#works .item .text .btn.yt span::after {
		width: calc(26 * 0.24vw);
		height: calc(19 * 0.24vw);
		margin-left: 0;
	}

	#works .marcket-change .headline {
		margin: 0 0 calc(-11 / 375 * 100vw);
		padding: 1.5em 0 1.7em 2em;
		font-size: calc(15 / 375 * 100vw);
		border-width: calc(8 / 375 * 100vw);
	}

	#works .to-index-page {
		margin-top: calc(60 / 375 * 100vw);
	}
}

/* -------------------------------------------------
	news
------------------------------------------------- */
#news article .category {
	display: inline-block;
	box-sizing: border-box;
	background-color: #979797;
	color: #fff;
	padding: 5px 20px;
	border-radius: 30px;
	font-size: 14px;
	line-height: 1.3571428571;
	margin-right: 10px;
	text-align: center;
}
#news article .date {
	padding: 5px 0;
	display: inline-block;
	color: #8B8787;
	font-size: 14px;
	line-height: 1.5;
}

#news .articles {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
}
#news .articles .item {
	box-sizing: border-box;
	width: 100%;
	padding: 30px 0;
	border-bottom: 2px solid #B1B1B1;
}
#news .articles .item:first-child {
	border-top: 2px solid #B1B1B1;
}
#news .articles .item article {
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	align-items: center;
}
#news .articles .item article .category {
	width: 200px;
}
#news .articles .item .item-info {
	padding: 0;
	width: 34%;
}
#news .articles .item .title {
	font-size: 19px;
	line-height: 1.4210526316;
	color: #2f50aa;
	padding: 0;
	width: 66%;
}
@media screen and (max-width: 767px) {
	#news article .category {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.3571428571;
	}
	#news article .date {
		font-size: calc(28 / 750 * 100vw);
		line-height: 1.2142857143;
	}

	#news .articles .item article {
		flex-wrap: wrap;
	}
	#news .articles .item .item-info {
		width: 100%;
		margin-bottom: 10px;
	}
	#news .articles .item .title {
		width: 100%;
		font-size: calc(36 / 750 * 100vw);
		line-height: 1.5;
	}
	#news .to-index-page {
		margin-bottom: calc(40 / 375 * 100vw);
	}
}
/*
#news {

}
#news .headline {
	height: 46px;
	padding: 1em 0 0 0.5em;
	border-left: solid 8px #FE0002;
	font-size: 21px;
	color: #2E50AA;
	box-sizing: border-box;
	letter-spacing: 0.1em;
}
#news .headline .large {
	font-weight: bold;
}

#news ul {
	margin-top: 30px;
	border-top: solid 2px #B1B1B1;
}
#news ul li {
	box-sizing: border-box;
	position: relative;
	border-bottom: solid 2px #B1B1B1;
}
#news ul li a {
	padding: 18px 0;
	display: flex;
	align-items: center;
	transition: background 0.2s ease-out;
}
#news ul li .date {
	margin-left: 1.5em;
	font-size: 17px;
	color: #979797;
	display: inline-block;
}
#news ul li .type {
	width: 134px;
	height: 31px;
	margin-left: 20px;
	font-size: 17px;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #979797;
	border-radius: 15.5px;
}
#news ul li .newwin {
	margin-left: 20px;
}
#news ul li .pdf {
	width: 74px;
	height: 28px;
	margin-left: 18px;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	box-sizing: border-box;
	border: solid 3px #B1B1B1;
	font-size: 16px;
	color: #B3B3B3;
	font-weight: bold;
	border-radius: 14px;
}
#news ul li .title {
	margin-left: 20px;
	width: calc(100% - 400px);
	display: block;
	font-size: 19px;
	color: #0f21b2;
	line-height: 1.5;
}

@media print, screen and (min-width:768px) {
	#news-direct {
		transform: translateY(-120px);
	}
	#news ul li a:hover {
		background: #ebeef7;
	}
}

@media screen and (max-width:767px) {
	#news-direct {
		transform: translateY(-16.8vw);
	}
	#news {
		padding-top: 0;
	}
	#news .headline {
		height: calc(46 / 375 * 100vw);
		padding-top: 1.8em;
		font-size: calc(15 / 375 * 100vw);
		border-left: solid calc(8 / 375 * 100vw) #FE0002;
	}
	#news ul {
		margin-top: calc(25 / 375 * 100vw);
		border-width: 1px;
	}
	#news ul li {
		border-width: 1px;
	}
	#news ul li a {
		padding: 1.5vw 0;
		flex-wrap: wrap;
	}
	#news ul li .date {
		margin-left: 0;
		font-size: calc(12 / 375 * 100vw);
	}
	#news ul li .type {
		width: calc(86 / 375 * 100vw);
		height: calc(20 / 375 * 100vw);
		margin-left: 3vw;
		font-size: calc(12 / 375 * 100vw);
		border-radius: calc(20 / 375 * 100vw);
	}
	#news ul li .newwin {
		width: calc(16 / 375 * 100vw);
		margin-left: 0;
		position: absolute;
		top: 1.9vw;
		left: 59%;
	}
	#news ul li .pdf {
		width: calc(50 / 375 * 100vw);
		height: calc(20 / 375 * 100vw);
		margin-left: 0;
		border-radius: calc(19 / 375 * 100vw);
		border-width: 2px;
		font-size: calc(12 / 375 * 100vw);
		position: absolute;
		top: 1.4vw;
		left: 59%;
	}
	#news ul li .title {
		width: 100%;
		margin: 1.5vw 0 0;
		font-size: calc(12 / 375 * 100vw);
	}
}
*/
/* -------------------------------------------------
	BELLS
------------------------------------------------- */
#bells{
	background-color: #fef8ed;
	padding:0 0 45px 0;
}
#bells .read{
	text-align: center;
}
#bells .text{
	margin: 45px 0;
    font-size: 16px;
    line-height: 1.75;
}

#bells .link{
	text-align: center;
}

#bells a.tg_blank_b{
    background-image: url(../img/index/icon_blank_b.png);
    background-position: 90% 50%;
    background-repeat: no-repeat;
    background-size: 14px 10px;
}

@media screen and (max-width: 767px){
	#bells .h-style1{
		line-height: 1.5;
	}
	#bells .text{
		margin: 25px 0;
	}
	#bells .read p{
		text-align: left;
	}
}