@charset "utf-8";

/* -----------------------------
	制作実績一覧
-------------------------------- */
/* -----------------------------
	intro-area
-------------------------------- */
.intro-area {
	
}

.intro-area .slider-block {
    position: relative;
    overflow: hidden;
	height: 450px;
}

.intro-area .slider-block::before {
    content: "";
    background: url("../img/works-slider.png") center/cover;
    width: 440%;
    height: initial;
    aspect-ratio: 8920 / 2680;
    position: absolute;
    top: -200%;
    left: -300%;
    animation: works-slider 60s linear infinite;
    transform: rotate(10deg) translateX(0%);
}
/*
.intro-area .slider-block::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #122C5A;
	opacity: .7;
}
*/

@keyframes works-slider {
  0% {
    -webkit-transform: rotate(15deg) translateX(0%);
    transform: rotate(15deg) translateX(0%);
  }
  100% {
    -webkit-transform: rotate(15deg) translateX(50%);
    transform: rotate(15deg) translateX(50%);
  }
}

.intro-area .news-block {
	background: #EDEDF1;
}

.intro-area .news-block .ticker {
	background: transparent;
}

.intro-area .news-block ul li a {
	display: block;
	padding: 20px 0;
	width: 100%;
	font-size: 1.5rem;
}
.intro-area .news-block ul li a .date {
	display: inline-block;
	margin-right: 20px;
	font-size: 1.6rem;
}

.intro-area .reputation-block {
	padding: 100px 0 0;
}

.intro-area .reputation-block .inner {
	display: flex;
	justify-content: center;
	gap: 60px;
}

.intro-area .reputation-block .star-wrap {
    text-align: center;
	position: relative;
	padding: 0 40px;
	width: initial;
}

.intro-area .reputation-block .star-wrap::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 9px;
	left: 0;
	background: url("../img/star-brackets.svg") center/cover, no-repeat;
	width: 20px;
	height: initial;
	aspect-ratio: 17 / 120;
}
	
.intro-area .reputation-block .star-wrap::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 9px;
	right: 0;
	background: url("../img/star-brackets.svg") center/cover, no-repeat;
	width: 20px;
	height: initial;
	aspect-ratio: 17 / 120;
	transform: scale(-1,1);
}

.intro-area .catch-block {
	padding: 100px 0 160px;
}

.intro-area .catch-block .inner {
	display: flex;
	justify-content: space-between;
}

.intro-area .catch-block .left-box {
	width: calc( 100% - 720px );
}

.intro-area .catch-block .sub-catch {
	color: var(--blue);
	font-weight: bold;
	font-size: 2.2rem;
	line-height: 1.5;
}

.intro-area .catch-block .catch {
	font-size: 5.0rem;
	font-weight: bold;
	line-height: 1.5;
	margin: 20px 0 0;
}

.intro-area .catch-block .right-box {
	width: 660px;
}


.intro-area .catch-block .more-txt,
.works-area .more-txt{
	display: none;
	line-height: 2.0;
}
.intro-area .catch-block .read-more,
.works-area .read-more {
	text-decoration-line: underline;
	cursor: pointer;
	display: inline-block;
	font-size: 1.5rem;
}
.intro-area .catch-block .read-more.active,
.works-area .read-more.active {
	visibility: hidden;
}


@media screen and (max-width: 768px){
	.intro-area .slider-block {
		height: 56vw;
	}
	
	.intro-area .slider-block::before {
		top: -170%;
	}
	
	.intro-area .news-block {
		padding: 10px 15px;
	}
	
	.intro-area .news-block ul li a {
		padding: 0;
		line-height: 1.5;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	
	.intro-area .reputation-block {
		padding: 30px 0;
	}
	
	.intro-area .reputation-block .inner {
		flex-wrap: wrap;
		gap: 30px;
	}
	
	.intro-area .reputation-block .star-wrap {
		text-align: center;
		position: relative;
		padding: 0 30px;
		width: 200px;
	}
	
	.intro-area .reputation-block .star-wrap::before {
		width: 17px;
	}
	
	.intro-area .reputation-block .star-wrap::after {
		width: 17px;
	}
	
	.intro-area .catch-block {
		padding: 0 0 60px;
	}
	
	.intro-area .catch-block .inner {
		flex-wrap: wrap;
		gap: 15px;
	}
	
	.intro-area .catch-block .left-box {
		width: 100%;
	}
	
	.intro-area .catch-block .right-box {
		width: 100%;
	}
	
	.intro-area .catch-block .sub-catch {
		font-size: 1.8rem;
	}
	
	.intro-area .catch-block .catch {
		font-size: 3.0rem;
		margin: 5px 0 0;
	}
	
	.works-area .more-txt{
		display: none;
	}
	.works-area .read-more {
		display: none;
	}
	
}


/* -----------------------------
	pickup-area
-------------------------------- */
.pickup-area {
	position: relative;
	background: var(--navy);
	padding: 70px 0 50px;
}

.pickup-area .marquee {
	position: absolute;
	top: -110px;
	left: 0;
	font-size: 18.0rem;
	overflow: hidden;
	white-space: nowrap;
	font-weight: bold;
	font-family: 'Poppins', sans-serif;
  	animation: marquee 120s linear infinite;
	letter-spacing: .5rem;
	color: #F3F4F7;
	-webkit-text-stroke: 1px rgba(255,255,255,.8);
	display: inline-block;
	z-index: 1;
}

.pickup-area .marquee span {
	color: transparent;
	-webkit-text-stroke: 1px #DCDCDC;
	padding: 0 30px 0 0;
}

@keyframes marquee {
  0% {
    -moz-transform: translateX(0%);
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
  }
  100% {
    -moz-transform: translateX(-75%);
    -webkit-transform: translateX(-75%);
    transform: translateX(-75%);
  }
}

.pickup-area .fukidashi {
	color: #fff;
	position: relative;
	font-weight: 800;
	margin: 30px 0 0;
	display: inline-block;
	width: 171px;
	text-align: center;
}

.pickup-area .fukidashi::before {
    content: "";
    display: inline-block;
    position: absolute;
    top: -12px;
    left: 50%;
    transform: translateX(-50%);
    background: url("../img/fukidashi04.svg") center/cover, no-repeat;
    width: 171px;
    height: 55px;
    z-index: -1;
}

@media screen and (max-width: 768px){
	.pickup-area {
		padding: 40px 0;
	}
	
	.pickup-area .marquee {
		top: -50px;
		font-size: 9.0rem;
	}
}


/* -----------------------------
	anchor-area
-------------------------------- */
.anchor-area {
	background: #365B86;
	width: 100%;
	position: relative;
}

.anchor-area .anchor-wrap {}

.anchor-area .anchor-list {
	display: flex;
	margin: 0 auto;
	width: 1200px;
}

.anchor-area .anchor-list li a {
	padding: 21px 20px;
	display: block;
	color: #fff;
	font-weight: bold;
	line-height: 1.5;
	position: relative;
	z-index: 1;
	overflow: hidden;
}

.anchor-area .anchor-list li a::before {
	content: "";
	display: block;
	position: absolute;
	width: 0;
	height: 100%;
	left: 0;
	top: 0;
	background: #254974;
	z-index: -1;
	transition: all .4s;
}

.anchor-area .narrow-down-btn {
	width: 82px;
	height: 66px;
	position: absolute;
	top: 0;
	right: calc( ( 100% - 1200px ) / 2 );
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	align-content: center;
	color: var(--navy);
	background: #EDEDF1;
	z-index: 1;
}

.anchor-area .narrow-down-btn .accordion-icon {
	display: none;
	width: 15px;
}

.anchor-area .narrow-down-btn img {
	width: 28px;
	height: initial;
	margin: 0 auto;
}

.anchor-area .narrow-down-btn span {
	display: inline-block;
	margin: 5px 0 0;
	width: 100%;
	font-size: 1.1rem;
	font-weight: bold;
}

.anchor-area .narrow-down-block {
	background: #EDEDF1;
	padding: 50px 0 60px;
	display: none;
}

.anchor-area .narrow-down-block .cate-box {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	align-items: flex-start;
}

.anchor-area .narrow-down-block .cate-box + .cate-box {
	margin: 20px 0 0;
}

.anchor-area .narrow-down-block .cate {
	line-height: 1.5;
	position: relative;
	padding: 3px 0 0 15px;
	width: 150px;
}

.anchor-area .narrow-down-block .cate::before {
	content: "";
	width: 8px;
	height: 2px;
	background: linear-gradient(90deg, #3b90ff, #3588f2, #2e7fe5, #2777d8, #206fcc, #1867bf, #0f5fb3, #0457a7);
	display: inline-block;
	position: absolute;
	top: 14px;
	left: 0;
}

.anchor-area .narrow-down-block .cate-wrap {
	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px;
	width: calc( 100% - 150px );
}

.anchor-area .narrow-down-block input[type='checkbox'] {
	visibility: hidden;
	position: absolute;
	top: 0;
	left: 0;
}

.anchor-area .narrow-down-block input[type='checkbox']:checked + label {
	background: var(--indigo);
	/*border: 1px solid var(--indigo);*/
	color: #fff;
}

.anchor-area .narrow-down-block label {
    cursor: pointer;
    display: inline-block;
    background: #fff;
    /*border: 1px solid  #fff;*/
    padding: 5px 15px;
    position: relative;
    font-size: 1.4rem;
    font-weight: 500;
    line-height: 1.5;
    min-width: 100px;
    text-align: center;
    transition: all .6s;
	border-radius: 20px;
}

.anchor-area .narrow-down-block input[type="submit"] {
    width: 180px;
    display: block;
    cursor: pointer;
    font-size: 1.6rem;
    font-weight: bold;
	border-radius: 30px;
    color: #fff;
    background: #365B86 url(../img/icon-search.svg) no-repeat 29% 49%;
    border: none;
    margin: 49px auto 0;
    padding: 15px 10px 15px 30px;
    font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
    transition: all .4s;
}

@media (hover: hover) and (pointer: fine) {
	.anchor-area .anchor-list li a:hover::before {
		width: 100%;
	}
	
	.anchor-area .narrow-down-block label:hover {
		background: #CDDDEF;
	}
	
	.anchor-area .narrow-down-block input[type="submit"]:hover {
		background: #234771 url(../img/icon-search.svg) no-repeat 26% 49%;
	}
}

@media screen and (max-width: 768px){
	.anchor-area {
		display: flex;
		flex-wrap: wrap;
		background: transparent;
	}
	
	.anchor-area .anchor-wrap {
		width: 100%;
		overflow-x: scroll;
		background: #365B86;
	}
	
	.anchor-area .anchor-list {
		width: fit-content;
	}
	
	.anchor-area .anchor-list li a {
		padding: 18px 20px 25px;
		white-space: nowrap;
	}
	
	.anchor-area .anchor-list li a::after {
		content: "\f107";
		display: inline-block;
		position: absolute;
		bottom: 10px;
		left: 50%;
		transform: translateX(-50%);
		font-size: 1.2rem;
	}
	
	.anchor-area .narrow-down-btn {
		width: calc( 100% - 40px );
		max-width: 400px;
		height: 64px;
		position: relative;
		top: initial;
		right: initial;
		gap: 10px;
		margin: 20px auto;
		padding-right: 20px;
	}
	
	.anchor-area .narrow-down-btn .accordion-icon {
		display: initial;
		width: 15px;
		right: 30px;
	}
	
	.anchor-area .narrow-down-btn .accordion-icon span {
		width: 15px;
	}
	
	.anchor-area .narrow-down-btn img {
		margin: 0;
	}
	
	.anchor-area .narrow-down-btn span {
		margin: 0;
		width: initial;
		font-size: 1.6rem;
	}
	
	.anchor-area .narrow-down-block {
		padding: 30px 0 40px;
	}
	
	.anchor-area .narrow-down-block .cate {
		padding: 0 0 15px 15px;
		width: 100%;
	}
	
	.anchor-area .narrow-down-block .cate::before {
		top: 11px;
	}
	
	.anchor-area .narrow-down-block .cate-wrap {
		width: 100%;
	}
	
	.anchor-area .narrow-down-block .cate-box + .cate-box {
		margin: 30px 0 0;
	}
	
	.anchor-area .narrow-down-block label {
		padding: 10px 15px;
		font-size: 1.5rem;
		min-width: 120px;
		border-radius: 25px;
	}
	
	.anchor-area .narrow-down-block input[type="submit"] {
		width: 230px;
		border-radius: 35px;
		background: #365B86 url(../img/icon-search.svg) no-repeat 33% 49%;
		margin: 30px auto 0;
		padding: 20px 10px 20px 30px;
	}
}


/* -----------------------------
	一覧
-------------------------------- */
.works-area .lead-txt,
.works-area .more-txt{
	font-weight: 400;
}



/* -----------------------------
	制作実績詳細
-------------------------------- */
#works.detail .breadcrumbs {
    margin-top: 20px;
    margin-bottom: 20px;
}

/* -----------------------------
	catch-area
-------------------------------- */
.catch-area {
	margin: 40px 0 0;
	padding: 0 0 100px;
	/*
	background: #EDEDF1;
	*/
	position: relative;
	animation: catch-bgchange 10s ease infinite;
	background: linear-gradient(135deg, #F8F4F7, #EDEDF1, #D5DFF0);
	background-size: 300% 300%;
}
@keyframes catch-bgchange {
	0%{background-position:0% 50%}
	50%{background-position:100% 50%}
	100%{background-position:0% 50%}
}
.catch-area::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: auto;
	bottom: 0;
	right: calc( ( 100% - 1200px ) / 2 );
	background: url("../img/bg-page-title.svg") center/cover, no-repeat;
	width: 856px;
	height: 267px;
}

.catch-area .inner {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	position: relative;
	z-index: 1;
	padding: 50px 0 0;
}

.catch-area .img-wrap {
	width: 530px;
}

.catch-area .txt-wrap {
	width: calc( 100% - 530px );
	padding-left: 5%;
	padding-top: 80px;
}

.catch-area .txt-wrap .works-catch {
	font-size: 3.6rem;
	font-weight: 600;
	line-height: 1.6;
}

.catch-area .img-wrap img {
	width: 100%;
}

.catch-area .works-table {
	margin: 20px 0 0;
	width: 100%;
}

.catch-area .works-table th {
	color: var(--navy);
	font-weight: 500;
	position: relative;
	width: 26%;
	text-align: left;
	vertical-align: text-top;
	padding: 12px 0 12px 20px;
}

.catch-area .works-table th::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 19px;
	left: 0;
	width: 10px;
	height: 2px;
	background: linear-gradient(90deg, #3b90ff, #3288fb, #297ff6, #2076f2, #176eed, #0f65e8, #085ce3, #0553dd);
}

.catch-area .works-table td {
	width: 74%;
	padding: 12px 0;
	font-weight: 400;
}

.catch-area .works-table .cate {
	position: relative;
	padding-left: 12px;
}

.catch-area .works-table .cate::before {
	content: "#";
	display: inline-block;
	position: absolute;
	top: 2px;
	left: 0;
	font-size: 1.7rem;
	font-family: var(--lato);
	font-weight: 400;
}

.catch-area .works-table .cate + .cate {
	margin-left: 10px;
}

.catch-area .works-table .member-list {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	gap: 20px;
}

.catch-area .works-table .member-list li {
	/*width: calc( ( 100% - 20px ) / 2 );*/
	display: flex;
	justify-content: flex-start;
	align-items: center;
	gap: 10px;
	min-width: 180px;
}

.catch-area .works-table .member-list li .icon-wrap {
	width: 60px;
	height: 60px;
}

.catch-area .works-table .member-list li .name {
	width: calc( 100% - 70px );
	line-height: 1.4;
}

.catch-area .works-table .member-list li .name .position {
	display: inline-block;
	width: initial;
	font-size: 1.2rem;
}

@media (hover: hover) and (pointer: fine) {
	.catch-area .works-table a:hover {
		opacity: .7;
	}
}

@media screen and (max-width: 768px){
	.catch-area {
		margin: 0;
		padding: 20px 0 40px;
	}
	
	.catch-area::before {
		right: 10px;
		aspect-ratio: 856 / 267;
		width: 80%;
		height: initial;
		max-width: 500px;
	}
	
	.catch-area .inner {
		padding: 0 20px;
		gap: 20px;
	}
	
	.catch-area .img-wrap {
		/*
		width: 80%;
		*/
		width: 100%;
		margin: 0 auto;
		max-width: 500px;
	}
	
	.catch-area .txt-wrap {
		width: 100%;
		padding-left: 0;
		padding-top: 0;
	}
	
	.catch-area .txt-wrap .works-catch {
		font-size: 2.4rem;
	}
	
	.catch-area .works-table th {
		width: 100%;
		display: block;
		padding: 10px 0 8px 18px;
		line-height: 1.4;
		font-weight: 600;
	}
	
	.catch-area .works-table td {
		width: 100%;
		display: block;
		padding: 0 0 12px;
		line-height: 1.4;
		font-weight: 600;
	}
	
	.catch-area .works-table .member-list {
		gap: 20px 10px;
	}
	
	.catch-area .works-table .member-list li {
		width: calc( ( 100% - 10px ) / 2 );
		min-width: initial;
	}
	
	.catch-area .works-table .member-list li .icon-wrap {
		width: 50px;
		height: 50px;
	}
	
	.catch-area .works-table .member-list li .name {
		width: calc( 100% - 60px );
	}
}


/* -----------------------------
	scroll-area
-------------------------------- */
.scroll-area {
	padding: 40px 0 20px;
}

.scroll-area .contents-main {
	width: 900px;
}

.scroll-area .contents-main .contents-block {
	margin: 0 0 100px;
}
/*
.scroll-area .contents-main .contents-block + .contents-block {
	margin: 100px 0 0;
}
*/
.scroll-area .contents-main .sec-ttl {
	font-size: 3.4rem;
	line-height: 1.5;
	font-weight: bold;
	margin: 0 0 30px;
}

.scroll-area .contents-main .sec-catch {
	font-size: 2.0rem;
	line-height: 1.5;
}

.scroll-area .contents-main .point-ttl {
	width: 100%;
	position: relative;
}

.scroll-area .contents-main .point-ttl::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 16px;
	left: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, #3b90ff, #3588f2, #2e7fe5, #2777d8, #206fcc, #1867bf, #0f5fb3, #0457a7);
}

.scroll-area .contents-main .point-ttl span {
	display: inline-block;
	font-size: 2.0rem;
	color: var(--navy);
	font-weight: bold;
	background: #fff;
	padding: 0 12px 0 0;
	position: relative;
	z-index: 1;
}

.scroll-area .contents-main .check-list {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	margin: 30px 0;
}

.scroll-area .contents-main .check-list li {
	font-weight: 600;
	width: 100%;
	position: relative;
	padding-left: 24px;
}

.scroll-area .contents-main .check-list li::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 0;
	left: 0;
	background: url("../img/check-circle.svg") center/cover, no-repeat;
	width: 16px;
	height: 16px;
}

.scroll-area .contents-main .point-box {
	background: #ECF1F9;
	padding: 60px 40px;
	display: flex;
	justify-content: flex-start;
	position: relative;
	margin: 60px 0 0;
	gap: 40px;
}

.scroll-area .contents-main .point-box .name {
	text-align: center;
	line-height: 1.3;
	margin: 10px 0 0;
}

.scroll-area .contents-main .point-box .position {
	text-align: center;
	font-size: 1.2rem;
}

.scroll-area .contents-main .point-box .icon-block {
	flex-shrink: 0;
	text-align: center;
}

.scroll-area .contents-main .point-box .icon-block img {
	width: 80px;
}

.scroll-area .contents-main .point-box .fukidashi {
	position: absolute;
    top: -26px;
    left: 40px;
    z-index: 1;
}

.scroll-area .contents-main .point-box .works-txt {
	line-height: 1.7;
	/*overflow: hidden;
	height: calc( 1.7 * 5em );*/
	transition: all .4s;
}

.scroll-area .contents-main .point-box .works-more {
	width: 100%;
	padding: 20px;
	border: 1px solid var(--navy);
	font-size: 1.4rem;
	margin: 20px 0 0;
	transition: all .4s;
	position: relative;
}

.scroll-area .contents-main .point-box .works-more::before {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 20px;
	width: 14px;
	height: 2px;
	background: var(--blue);
}

.scroll-area .contents-main .point-box .works-more::after {
	content: "";
	display: inline-block;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: 26px;
	width: 2px;
	height: 14px;
	background: var(--blue);
}

.scroll-area .contents-main .support-box {
	background: #F6F7F9;
	padding: 40px;
	margin: 40px 0 0;
}

.scroll-area .contents-main .support-box .basic-txt {
	font-size: 1.4rem;
	margin: 10px 0 0;
}

.scroll-area .contents-main .before-after-block {
	display: flex;
	width: 100%;
	align-items: flex-start;
	margin: 60px 0 0;
}

.scroll-area .contents-main .before-after-block .box {
	padding: 50px 30px;
	width: 50%;
	position: relative;
}

.scroll-area .contents-main .before-after-block .before {
	background: #F6F7F9;
}

.scroll-area .contents-main .before-after-block .after {
	background: #FCEDD1;
}

.scroll-area .contents-main .before-after-block .fukidashi {
	display: inline-block;
	padding: 5px 30px;
	line-height: 1.5;
	font-weight: bold;
	color: #fff;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	border-radius: 20px;
}

.scroll-area .contents-main .before-after-block .before .fukidashi {
	background: #9A9DAA;
}

.scroll-area .contents-main .before-after-block .after .fukidashi {
	background: #F68765;
}

.scroll-area .contents-main .before-after-block .fukidashi::before {
	content: "";
	display: inline-block;
	position: absolute;
	bottom: -9px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 10px solid #9A9DAA;
	border-bottom: 0;
}

.scroll-area .contents-main .before-after-block .after .fukidashi::before {
	border-top: 10px solid #F68765;
}

.scroll-area .contents-main .before-after-block .basic-txt {
	margin: 30px 0 0;
}

.scroll-area .contents-main .works-img-flex {
	display: flex;
	gap: 30px;
	justify-content: flex-start;
	align-items: flex-start;
}

.scroll-area .contents-main .works-img-flex .works-img {
	width: calc( (100% - 60px ) / 3 );
}

.scroll-area .contents-main .works-img {
	border: 1px solid #ddd;
	margin: 30px 0 0;
	width: 100%;
}

.scroll-area .contents-main .works-img img {
	width: 100%;
	height: initial;
}

@media screen and (max-width: 768px){
	.scroll-area {
		padding: 0 0 5px;
	}
	
	.scroll-area .contents-main {
		width: 100%;
		padding: 80px 20px 0;
	}
	
	.scroll-area .contents-main .sec-ttl {
		font-size: 2.6rem;
		margin: 0 0 20px;
	}
	
	.scroll-area .contents-main .sec-catch {
		font-size: 1.8rem;
	}
	
	.scroll-area .contents-main .contents-block {
		margin: 0 0 50px;
	}
	/*
	.scroll-area .contents-main .contents-block + .contents-block {
		margin: 50px 0 0;
	}
	*/
	.scroll-area .contents-main .point-ttl span {
		font-size: 1.8rem;
	}
	
	.scroll-area .contents-main .check-list {
		gap: 15px;
		margin: 20px 0;
	}
	
	.scroll-area .contents-main .point-box {
		padding: 40px 20px 20px;
		margin: 40px 0 0;
		gap: 15px;
		flex-wrap: wrap;
	}
	
	.scroll-area .contents-main .point-box .fukidashi {
		top: -20px;
		left: 12%;
		height: 50px;
	}
	
	.scroll-area .contents-main .point-box .fukidashi img {
		height: 100%;
		width: initial;
		object-fit: cover;
	}
	
	.scroll-area .contents-main .point-box .icon-block {
		display: flex;
		align-items: center;
		gap: 20px;
	}
	
	.scroll-area .contents-main .point-box .name {
		text-align: left;
		font-size: 1.8rem;
		margin: 0;
	}
	
	.scroll-area .contents-main .point-box .position {
		text-align: center;
		font-size: 1.5rem;
	}
	
	.scroll-area .contents-main .support-box {
		padding: 20px;
		margin: 20px 0 0;
	}
	
	.scroll-area .contents-main .before-after-block {
		flex-wrap: wrap;
		margin: 40px 0 0;
		gap: 40px;
	}
	
	.scroll-area .contents-main .before-after-block .box {
		padding: 30px 20px 20px;
		width: 100%;
	}
	
	.scroll-area .contents-main .before-after-block .basic-txt {
		margin: 20px 0 0;
	}
	
	.scroll-area .contents-main .works-img-flex {
		flex-wrap: wrap;
		gap:0;
	}

	.scroll-area .contents-main .works-img-flex .works-img {
		width: 100%;
	}
}


/* -----------------------------
	under-works-area
-------------------------------- */
.under-works-area {
	padding: 100px 0;
	background: #F6F7F9;
}

.under-works-area .ttl-block {
	width: 100%;
}

.under-works-area .sec-ttl {
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.5;
}

.under-works-area .scroll-wrap {
	width: 100%;
	padding-left: calc( ( 100% - 1200px ) / 2 );
}

.under-works-area .works-list {
	display: flex;
	align-items: flex-start;
	margin: 40px 0 0;
}

.under-works-area .works-item {
	width: 340px;
}

.under-works-area .works-item a {
	display: block;
}

.under-works-area .works-item + .works-item {
	margin-left: 30px;
}

.under-works-area .works-item .img-wrap {
	width: 100%;
	height: initial;
	overflow: hidden;
}

.under-works-area .works-item .img-wrap img {
	transition: all .4s;
	transform: scale(1);
}

.under-works-area .works-item .txt-box {
	margin: 20px 0 0;
}

.under-works-area .works-item .plan {
	font-size: 1.2rem;
	line-height: 1.5;
	color: #777;
	margin: 15px 0 0;
	letter-spacing: 0;
}

.under-works-area .works-item .cate {
	font-size: 1.2rem;
	line-height: 1.5;
	color: #777;
	display: flex;
	width: 100%;
	flex-wrap: wrap;
	gap: 5px;
	margin: 5px 0 0;
	letter-spacing: 0;
}

.under-works-area .works-item .cate span::before {
	content: "#";
	font-family: var(--basefont);
	font-weight: 500;
}

.under-works-area .more-txt {
	width: 100%;
	padding-right: calc( ( 100% - 1200px ) / 2 );
	text-align: right;
	font-size: 1.5rem;
	margin: 40px 0 0;
}

.under-works-area .more-txt i {
	color: var(--blue);
	font-size: 1.3rem;
	display: inline-block;
	padding-right: 5px;
}

@media (hover: hover) and (pointer: fine) {
	.under-works-area .works-item a:hover {
		opacity: .7;
	}
	
	.under-works-area .works-item a:hover .img-wrap img {
		transform: scale(1.05);
	}
	
	.under-works-area .more-txt a:hover {
		opacity: .6;
	}
}


@media screen and (max-width: 768px){
	.under-works-area {
		margin: 0;
		padding: 40px 0;
	}
	
	.under-works-area .ttl-block {
		flex-wrap: wrap;
		gap: 10px;
		margin: 0 0 20px;
	}
	
	.under-works-area .sec-ttl {
		font-size: 2.8rem;
	}
	
	.under-works-area .line {
		position: relative;
		display: inline-block;
		line-height: 2.0;
	}
	
	.under-works-area .line::before {
		content: "";
		display: inline-block;
		position: absolute;
		bottom: 0;
		width: 100%;
		height: 3px;
		background: linear-gradient(90deg, #3b90ff, #3588f2, #2e7fe5, #2777d8, #206fcc, #1867bf, #0f5fb3, #0457a7);
	}
	
	.under-works-area .scroll-wrap {
		width: 100%;
		padding-left: 20px;
		padding-bottom: 20px;
		overflow-x: scroll;
	}
	
	.under-works-area .works-list {
		width: fit-content;
		padding-right: 20px;
		margin: 0;
	}
	
	.under-works-area .works-item {
		width: 230px;
	}
	
	.under-works-area .works-item .img-wrap {
		/*height: 140px;*/
	}
	
	.under-works-area .works-item .txt-box {
		margin: 10px 0 0;
	}
	
	.under-works-area .works-item .ttl {
		line-height: 1.6;
	}
	
	.under-works-area .works-item .plan {
		margin: 5px 0 0;
	}
	
	.under-works-area .works-item + .works-item {
		margin-left: 20px;
	}
	
	.under-works-area .more-txt {
		padding-right: 0;
		padding-left: 20px;
		text-align: left;
		font-size: 1.5rem;
		margin: 20px 0 0;
	}
}


/* -----------------------------
	〇〇〇
-------------------------------- */

@media screen and (max-width: 768px){
	
}

/* -----------------------------
	〇〇〇
-------------------------------- */

@media screen and (max-width: 768px){
	
}
