@charset "utf-8";

/*====================================================================================

		#top layout

====================================================================================*/

/*===============================================================

		#top #contents .main_img layout

===============================================================*/

#top #contents .main_img {
	height: 440px;
	background: url("../../img/top/main_img.jpg?ver=250327") center top / cover no-repeat;
}

#top #contents .main_img .inner {
	width: 84%;
	height: 100%;
	margin: 0 auto;
	padding: 0 0 20px;
	display: flex;
	flex-flow: column wrap;
	/*justify-content: flex-end;*/
	/*gap: 95px 0;*/
}

#top #contents .main_img .inner h2 {
	width: 100%;
    margin: 0 auto;
	color: var(--base_black);
	font-size: 60px;
	font-weight: 900;
	line-height: 1.35;
}

#top #contents .main_img .inner h2 em {
	color: var(--base_blue);
}

#top #contents .main_img .inner .pick_up {
	width: 100%;
	/*margin: 0 auto;*/
    margin: 60px auto -90px;
	padding: 20px 80px 20px 35px;
	background-color: #F2F5F7;
	border-radius: 80px;
	display: flex;
	justify-content: space-between;
	gap: 0 30px;
	overflow: hidden;
	position: relative;
	line-height: 1.3;
}

#top #contents .main_img .inner .pick_up p.title {
	flex-shrink: 0;
	font-size: 16px;
	font-weight: 700;
}

#top #contents .main_img .inner .pick_up .swiper-button-prev {
	position: absolute;
	right: 55px;
	top: 20px;
	z-index: 2;
}

#top #contents .main_img .inner .pick_up .swiper-button-next {
	position: absolute;
	right: 35px;
	top: 20px;
	z-index: 2;
}

#top #contents .main_img .inner .pick_up .box {
	width: 100%;
	overflow: hidden;
}

#top #contents .main_img .inner .pick_up .box .slide_item a {
	display: flex;
	align-items: flex-start;
	gap: 0 min(30px, 3vw);
}

#top #contents .main_img .inner .pick_up .box .slide_item a p.title {
	display: none;
}

#top #contents .main_img .inner .pick_up .box .slide_item a p.date {
	flex-shrink: 0;
	display: flex;
	align-items: center;
	gap: 0 15px;
}

#top #contents .main_img .inner .pick_up .box .slide_item a p.date .en {
	font-size: 13px;
	font-weight: 700;
}

#top #contents .main_img .inner .pick_up .box .slide_item a p.date .attr {
	padding: 3px 10px 5px;
	background-color: #fff;
	border-radius: 20px;
	font-size: 12px;
	font-weight: 500;
}

#top #contents .main_img .inner .pick_up .box .slide_item a p.txt {
	font-size: 15px;
	font-weight: 500;
}


@media screen and (max-width: 768px){
	#top #contents .main_img {
		height: auto;
		background: url("../../img/top/sp/main_img.jpg?ver=250319") center top / 100% auto no-repeat;
	}
	
	#top #contents .main_img .inner {
		width: auto;
		margin: 0;
		padding: 0;
		display: block;
	}
	
	#top #contents .main_img .inner h2 {
		padding: 70% 6vw 5.75vw;
		font-size: 8.5vw;
	}
	
	#top #contents .main_img .inner .pick_up {
		width: auto;
		margin: 0 0 0 6vw;
		padding: 20px;
		border-radius: 10px;
		display: block;
	}
	
	#top #contents .main_img .inner .pick_up > p.title {
		display: none;
	}
	
	#top #contents .main_img .inner .pick_up .swiper-button-prev {
		right: 40px;
		top: 18px;
	}
	
	#top #contents .main_img .inner .pick_up .swiper-button-next {
		right: 20px;
		top: 18px;
	}
	
	#top #contents .main_img .inner .pick_up .box .slide_item a {
		display: block;
	}
	
	#top #contents .main_img .inner .pick_up .box .slide_item a p.title {
		margin: 0 10px 10px 0;
		float: left;
		display: block;
		font-size: 3.7vw;
		font-weight: 700;
	}
	
	#top #contents .main_img .inner .pick_up .box .slide_item a p.date {
		gap: 0 10px;
	}
	
	#top #contents .main_img .inner .pick_up .box .slide_item a p.date .en {
		font-size: 3.2vw;
		font-weight: 700;
	}
	
	#top #contents .main_img .inner .pick_up .box .slide_item a p.date .attr {
		padding: 3px 10px 5px;
		background-color: #fff;
		border-radius: 20px;
		font-size: 3.0vw;
		font-weight: 500;
	}
	
	#top #contents .main_img .inner .pick_up .box .slide_item a p.txt {
		clear: both;
		font-size: 15px;
		font-weight: 500;
		line-height: 1.5;
	}
}



/*===============================================================

		#top #contents .about layout

===============================================================*/

#top #contents .about {
	margin: 55px 0 0;
	background: url("../../img/top/bg01.png") left -20px top / 162px auto no-repeat;
}

#top #contents .about .inner {
	max-width: 1075px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#top #contents .about .inner p.img {
	width: 47.826%;
	max-width: 495px;
	flex-shrink: 1;
}

#top #contents .about .inner dl {
	width: 42.512%;
	max-width: 440px;
	flex-shrink: 1;
}

#top #contents .about .inner dl dt {
	margin: 0 0 20px;
	font-size: min(32px, 3.2vw);
	font-weight: 700;
	line-height: 1.5;
}

#top #contents .about .inner dl dt span {
	margin: 0 0 5px;
	display: block;
	color: var(--base_blue);
	font-size: min(16px, 1.6vw);
}

#top #contents .about .inner dl dd {
	font-size: min(15px, 1.5vw);
	font-weight: 500;
}

#top #contents .about .inner dl dd.link {
	margin: 1.8em 0 0;
}


@media screen and (max-width: 768px){
	#top #contents .about {
		margin: 5vw 0 0;
		background: none;
	}
	
	#top #contents .about .inner {
		max-width: inherit;
		display: block;
	}
	
	#top #contents .about .inner p.img {
		width: auto;
		max-width: inherit;
		margin: 0 0 5vw;
	}
	
	#top #contents .about .inner dl {
		width: auto;
		max-width: inherit;
	}
	
	#top #contents .about .inner dl dt {
		margin: 0 0 25px;
		font-size: 6.2vw;
	}
	
	#top #contents .about .inner dl dt span {
		font-size: 3.8vw;
	}
	
	#top #contents .about .inner dl dd {
		font-size: 3.58vw;
		line-height: 1.5;
	}
	
	#top #contents .about .inner dl dd.link {
		font-weight: 700;
	}
}



/*===============================================================

		#top #contents .service layout

===============================================================*/

#top #contents .service {
	padding: 200px 0 calc( calc(100%*1000/2880) + 100px);
	background: url("../../img/top/bg03.jpg?ver=250317") center bottom / 100% auto no-repeat,
				url("../../img/top/bg02.png") center top / 100% auto no-repeat var(--light_blue);
	position: relative;
}

#top #contents .service h3 {
	margin: 0 0 40px;
}

#top #contents .service .inner ul {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
	gap: 24px 0;
}

#top #contents .service .inner ul li {
	width: 49%;
	min-height: 240px;
	padding: 8px 8px 8px min(29px, 2.5vw);
	background-color: #fff;
	border-radius: 8px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 20px;
}

#top #contents .service .inner ul li .txt {
	width: 57%;
	height: 100%;
	display: flex;
	flex-flow: column wrap;
	justify-content: space-between;
}

#top #contents .service .inner ul li .txt dl dt {
	margin: 0 0 10px;
	font-size: min(24px, 2.4vw);
	font-weight: 700;
}

#top #contents .service .inner ul li .txt dl dd {
	margin: 0 0 10px;
	font-size: min(14px, 1.4vw);
}

#top #contents .service .inner ul li .txt dl dd.sp {
	display: none;
}

#top #contents .service .inner ul li .txt .link a {
	font-weight: 700;
}


#top #contents .service .inner ul li p.img {
	width: 43%;
	max-width: 200px;
	height: 100%;
}

#top #contents .service .inner ul li p.img img {
	border-radius: 6px;
}


@media screen and (max-width: 768px){
	#top #contents .service {
		margin: 10vh 0 0;
		padding: 11vh 0 calc( calc(100%*300/750) + 70px);
		background: url("../../img/top/sp/bg03.jpg") center bottom / 100% auto no-repeat,
					url("../../img/top/sp/bg02.png") center top / 100% auto no-repeat var(--light_blue);
		position: relative;
	}
	
	#top #contents .service h3 {
		margin: 0 0 30px;
	}
	
	#top #contents .service .inner ul {
		gap: 15px 0;
	}
	
	#top #contents .service .inner ul li {
		width: 100%;
		min-height: inherit;
		padding: 10px 10px 10px 15px;
		border-radius: 5px;
		align-items: flex-start;
		gap: 0 5%;
	}
	
	#top #contents .service .inner ul li .txt {
		width: 60%;
		height: 100%;
		display: flex;
		flex-flow: column wrap;
		justify-content: space-between;
	}
	
	#top #contents .service .inner ul li .txt dl dt {
		margin: 0 0 5px;
		font-size: 3.8vw;
	}
	
	#top #contents .service .inner ul li .txt dl dd {
		margin: 0 0 15px;
		font-size: 3.5vw;
	}
	
	#top #contents .service .inner ul li .txt dl dd.pc {
		display: none;
	}
	
	#top #contents .service .inner ul li .txt dl dd.sp {
		display: block;
	}
	
	#top #contents .service .inner ul li .txt .link a {
		font-size: 3.5vw;
	}
	
	
	#top #contents .service .inner ul li p.img {
		width: 35%;
		max-width: inherit;
		height: auto;
	}
	
	#top #contents .service .inner ul li p.img img {
		border-radius: 3px;
	}
}



/*===============================================================

		#top #contents .case layout

===============================================================*/

#top #contents .case {
	margin: 150px 0;
	overflow-x: hidden;
}

#top #contents .case .inner h3 + p {
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: 700;
}

#top #contents .case .inner .case_slider {
	margin: 0;
}

#top #contents .case .inner .case_slider .slide_item {
	width: 386px;
}

#top #contents .case .inner .case_slider .slide_item a {
	display: block;
}

#top #contents .case .inner .case_slider .slide_item a:hover {
	opacity: 0.8;
}

#top #contents .case .inner .case_slider .slide_item p.img img {
	border-radius: 8px;
}

#top #contents .case .inner .case_slider .slide_item ul.attr {
	margin: 20px 0 12px;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

#top #contents .case .inner .case_slider .slide_item ul.attr li {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	font-size: 12px;
	line-height: 1.0;
}

#top #contents .case .inner .case_slider .slide_item dl.txt dt {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

#top #contents .case .inner .case_slider .slide_item dl.txt dd {
	font-size: 14px;
}

#top #contents .case .inner .case_slider .slide_item dl.client {
	margin: 10px 0 0;
	display: flex;
	align-items: center;
	gap: 0 30px;
	color: var(--base_blue);
	font-size: 14px;
	line-height: 1.4;
}

#top #contents .case .inner .case_slider .slide_item dl.client dt {
	position: relative;
}

#top #contents .case .inner .case_slider .slide_item dl.client dt::after {
	content: "｜";
	position: absolute;
	right: -23px;
}


#top #contents .case .inner .btn_01 {
	position: absolute;
	right: 0;
	top: 20px;
}


#top #contents .case .inner .case_slider .swiper-button-prev,
#top #contents .case .inner .case_slider .swiper-button-next {
/*	display: none;*/
}
#top #contents .case .inner .case_slider .swiper-button-prev{
    position: absolute;
    right: 65px;
    top: 17%;
    z-index: 2;
}
#top #contents .case .inner .case_slider .swiper-button-next{
    position: absolute;
    right: 0;
    top: 17%;
    z-index: 2;
}
#top #contents .case .inner .case_slider .swiper-button-prev .circle_02,
#top #contents .case .inner .case_slider .swiper-button-next .circle_02 {
    width: 50px;
    height: 50px;
}

@media (min-width:769px){
    #top #contents .case .inner .case_slider .swiper-button-prev:hover .circle_02,
    #top #contents .case .inner .case_slider .swiper-button-next:hover .circle_02{
        background-color: #C2DCDF;
    }
    #top #contents .case .inner .case_slider .swiper-button-prev:hover .circle_02 path,
    #top #contents .case .inner .case_slider .swiper-button-next:hover .circle_02 path{
        stroke: #fff;
    }
}

@media screen and (max-width: 768px){
	#top #contents .case {
		margin: 15vh 0;
	}
	
	#top #contents .case .inner h3 + p {
		font-size: 3.5vw;
	}
	
	#top #contents .case .inner .case_slider {
		margin: 0 0 4vh;
	}
	
	#top #contents .case .inner .case_slider .slide_item {
		width: auto;
	}
	
	#top #contents .case .inner .case_slider .slide_item a:hover {
		opacity: 1;
	}
	
	#top #contents .case .inner .case_slider .slide_item ul.attr {
		margin: 15px 0 10px;
		gap: 0 6px;
	}
	
	#top #contents .case .inner .case_slider .slide_item ul.attr li {
		padding: 5px 8px;
		font-size: 2.7vw;
	}
	
	#top #contents .case .inner .case_slider .slide_item dl.txt dt {
		font-size: 3.7vw;
	}
	
	#top #contents .case .inner .case_slider .slide_item dl.txt dd {
		font-size: 3.4vw;
	}
	
	#top #contents .case .inner .case_slider .slide_item dl.client {
		gap: 0 25px;
		font-size: 3.4vw;
	}
	
	#top #contents .case .inner .case_slider .slide_item dl.client dt {
		position: relative;
	}
	
	#top #contents .case .inner .case_slider .slide_item dl.client dt::after {
		right: -20px;
	}
	
	
	#top #contents .case .inner .btn_01 {
		position: static;
	}
	
	#top #contents .case .inner .case_slider .swiper-button-prev {
		display: block;
		position: absolute;
		right: 16vw;
		top: 17%;
		z-index: 2;
	}
	
	#top #contents .case .inner .case_slider .swiper-button-next {
		display: block;
		position: absolute;
		right: 5vw;
		top: 17%;
		z-index: 2;
	}
	
	#top #contents .case .inner .case_slider .swiper-button-prev .circle_02,
	#top #contents .case .inner .case_slider .swiper-button-next .circle_02 {
		width: 9vw;
		height: 9vw;
	}
}



/*===============================================================

		#top #contents .member layout

===============================================================*/

#top #contents .member {
	padding: 100px 0 70px;
	background: url("../../img/top/bg05.png") left bottom / 116px auto no-repeat,
				url("../../img/top/bg04.png") right top / 414.5px auto no-repeat var(--base_blue);
	border-radius: 0 0 45px 45px;
}

#top #contents .member .inner h3,
#top #contents .member .inner h3 span {
	color: #fff;
}

#top #contents .member .inner h3 + p {
	margin: 0 0 20px;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
}

#top #contents .member .inner ul {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#top #contents .member .inner ul li {
	width: 32%;
	max-width: 384px;
}

#top #contents .member .inner ul li a {
	display: block;
}

#top #contents .member .inner ul li a:hover {
	opacity: 0.8;
}

#top #contents .member .inner ul li a p.img img {
	border-radius: 8px;
}

#top #contents .member .inner ul li a p.txt {
	margin: 20px 0;
	color: #fff;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}

#top #contents .member .inner ul li a dl {
    margin: 20px 0 0;
	color: #fff;
	font-size: min(16px, 1.6vw);
	font-weight: 700;
	line-height: 1.2;
}

#top #contents .member .inner ul li a dl dt {
	margin: 0 0 10px;
	font-size: min(26px, 2.6vw);
}

#top #contents .member .inner ul li a dl dt span {
	margin-left: 15px;
	display: inlinie-block;
	font-size: min(14px, 1.4vw);
}


#top #contents .member .inner .btn_01 {
	position: absolute;
	right: 0;
	top: 10px;
}
#top #contents .member .inner .btn_01 a{
    border: none;
}


@media screen and (max-width: 768px){
	#top #contents .member {
		padding: 6vh 0;
		background: url("../../img/top/sp/bg05.png") left bottom / 18% auto no-repeat,
					url("../../img/top/sp/bg04.png") right top / 25% auto no-repeat var(--base_blue);
		border-radius: 0 0 30px 30px;
	}
	
	#top #contents .member .inner {
		padding: 0 7vw;
	}
	
	#top #contents .member .inner h3 + p {
		font-size: 3.8vw;
	}
	
	#top #contents .member .inner ul {
		margin: 0 0 5vh;
		flex-flow: row wrap;
		gap: 4vh 0;
	}
	
	#top #contents .member .inner ul li {
		width: 100%;
		max-width: inherit;
	}
	
	#top #contents .member .inner ul li a:hover {
		opacity: 1;
	}
	
	#top #contents .member .inner ul li a p.txt {
		margin: 2vh 0;
		font-size: 3.5vw;
	}
	
	#top #contents .member .inner ul li a dl {
		font-size: 3.6vw;
	}
	
	#top #contents .member .inner ul li a dl dt {
		font-size: 6vw;
	}
	
	#top #contents .member .inner ul li a dl dt span {
		margin-left: 10px;
		font-size: 3.4vw;
	}
	
	
	#top #contents .member .inner .btn_01 {
		width: 100%;
		position: static;
	}
}



/*===============================================================

		#top #contents .news layout

===============================================================*/

#top #contents .news {
	padding: 150px 0 120px;
	background: url("../../img/top/bg06.png") left calc(50% + 533px) top -80px / 233px auto no-repeat;
}

#top #contents .news .inner .box {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#top #contents .news .inner .box section {
	width: 48.167%;
	max-width: 578px;
}

#top #contents .news .inner .box section h3 {
	margin: 0;
	font-size: min(14px, 1.4vw);
}

#top #contents .news .inner .box section h3 span {
	font-size: min(54px, 5.4vw);
}

#top #contents .news .inner .box section ul.list {
	margin: 0 0 40px;
	font-weight: 700;
}

#top #contents .news .inner .box section ul.list > li {
	border-bottom: solid 1px #E6E6E6;
}
#top #contents .news .inner .box section ul.list > li.no-post {
	border-bottom: none;
    margin: 20px 0 0;
}

#top #contents .news .inner .box section ul.list li a {
	padding: 25px 0;
	display: block;
}

#top #contents .news .inner .box section ul.list li a ul.info {
	margin: 0 0 15px;
	display: flex;
	align-items: center;
	gap: 0 15px;
	font-size: 12px;
}

#top #contents .news .inner .box section ul.list li a ul.info li.attr {
	padding: 6px 10px;
	background-color: #eee;
	border-radius: 20px;
	font-weight: 500;
	line-height: 1.0;
}

#top #contents .news .inner .box section ul.list li a .txt {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 20px;
	font-size: 16px;
	line-height: 1.5;
}

#top #contents .news .inner .box section ul.list li a .txt span {
	display: block;
	transition: all 0.3s;
}

#top #contents .news .inner .box section ul.list li a:hover .txt span {
	color: var(--base_blue);
}

#top #contents .news .inner .box section ul.list li a .txt .circle_02 {
	width: 36px;
	height: 36px;
	flex-shrink: 0;
	transition: all 0.3s;
}

#top #contents .news .inner .box section ul.list li a:hover .txt .circle_02 {
	transform: translateX(5px);
}


#top #contents .news .inner .box section .link a {
	font-weight: 700;
}


@media screen and (max-width: 768px){
	#top #contents .news {
		padding: 12vh 0 8vh;
		background: none;
	}
	
	#top #contents .news .inner .box {
		gap: 5vh 0;
	}
	
	#top #contents .news .inner .box section {
		width: 100%;
		max-width: inherit;
	}
	
	#top #contents .news .inner .box section h3 {
		font-size: 3.8vw;
	}
	
	#top #contents .news .inner .box section h3 span {
		font-size: 10vw;
	}
	
	#top #contents .news .inner .box section ul.list {
		margin: 0 0 20px;
		font-weight: 700;
	}
	
	#top #contents .news .inner .box section ul.list li a {
		padding: 20px 0;
	}
	
	#top #contents .news .inner .box section ul.list li a ul.info {
		margin: 0 0 10px;
		gap: 0 10px;
		font-size: 3vw;
	}
	
	#top #contents .news .inner .box section ul.list li a ul.info li.attr {
		padding: 5px 9px;
	}
	
	#top #contents .news .inner .box section ul.list li a .txt {
		align-items: flex-start;
		font-size: 3.8vw;
	}
	
	#top #contents .news .inner .box section ul.list li a:hover .txt span {
		color: var(--base_black);
	}
	
	#top #contents .news .inner .box section ul.list li a:hover .txt .circle_02 {
		transform: translateX(0);
	}
	
	#top #contents .news .inner .box section .link a {
		justify-content: flex-end;
	}
}



/*===============================================================

		#top #contents .join layout

===============================================================*/

#top #contents .join {
	padding: 0 20px;
	background: url("../../img/top/bg07.png") left bottom / 97.5px auto no-repeat;
}

#top #contents .join .inner {
	padding: 65px 0 65px min(80px, 7vw);
	background: url("../../img/top/bg08.png") right bottom / 787px auto no-repeat #FAFAF2;
	border-radius: 60px;
}

#top #contents .join .inner h3 {
	font-size: min(14px, 1.4vw);
}

#top #contents .join .inner h3 span {
	font-size: min(56px, 5.6vw);
	font-style: italic;
}

#top #contents .join .inner h3 + p {
	margin: 0 0 60px;
	font-size: min(32px, 3.2vw);
	font-weight: 700;
	line-height: 1.5;
}

#top #contents .join .inner .btn_01 {
	margin-inline: 0;
}


@media screen and (max-width: 768px){
	#top #contents .join {
		padding: 0 5vw;
		background: none;
	}
	
	#top #contents .join .inner {
		padding: 6vh 5vw 30%;
		background: url("../../img/top/sp/bg08.png") right bottom / 100% auto no-repeat #FAFAF2;
		border-radius: 20px;
	}
	
	#top #contents .join .inner h3 {
		margin: 0 0 3vh;
		font-size: 3.8vw;
	}
	
	#top #contents .join .inner h3 span {
		font-size: 10vw;
	}
	
	#top #contents .join .inner h3 + p {
		margin: 0 0 6vh;
		font-size: 3.8vw;
	}
	
	#top #contents .join .inner .btn_01 {
		width: 94%;
	}
}





/*====================================================================================

		#company layout

====================================================================================*/

/*===============================================================

		#company #contents .main_img layout

===============================================================*/

#company #contents .main_bg img {
	width: 100%;
	height: 400px;
	object-fit: cover;
}

#company #contents .main_img::after {
	display: none;
}


@media screen and (max-width: 768px){
	#company #contents .main_bg img {
		height: 25%;
	}
}



/*===============================================================

		#company #contents .message layout

===============================================================*/

#company #contents .message {
	padding: 120px 0 150px;
	background: url("../../img/company/bg02.png") right bottom / 201px auto no-repeat,
				url("../../img/company/bg01.png") left top / 154px auto no-repeat;
}

#company #contents .message .inner .box {
	max-width: 1080px;
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#company #contents .message .inner .box p.img {
	width: 34.537%;
	max-width: 373px;
}

#company #contents .message .inner .box p.img img {
	border-radius: 18px;
}

#company #contents .message .inner .box .txt {
	width: 53.704%;
	max-width: 581px;
}

#company #contents .message .inner .box .txt dl dt {
	margin: 0 0 20px;
	font-size: min(32px, 3.2vw);
	font-weight: 700;
	line-height: 1.5;
}

#company #contents .message .inner .box .txt dl dd {
	margin: 0 0 1.8em;
	font-size: min(15px, 1.5vw);
}

#company #contents .message .inner .box .txt p.name {
	font-size: min(16px, 1.6vw);
	font-weight: 700;
}

#company #contents .message .inner .box .txt p.name span {
	font-size: min(28px, 2.8vw);
}


@media screen and (max-width: 768px){
	#company #contents .message {
		padding: 8vh 0 15vh;
		background: url("../../img/company/bg01.png") left -8% top -5% / 25% auto no-repeat;
	}
	
	#company #contents .message .inner .box {
		max-width: inherit;
		margin-inline: 0;
		display: block;
	}
	
	#company #contents .message .inner .box p.img {
		width: auto;
		max-width: inherit;
		margin: 0 0 3vh;
	}
	
	#company #contents .message .inner .box p.img img {
		border-radius: 15px;
	}
	
	#company #contents .message .inner .box .txt {
		width: auto;
		max-width: inherit;
	}
	
	#company #contents .message .inner .box .txt dl dt {
		margin: 0 0 20px;
		font-size: 6.7vw;
	}
	
	#company #contents .message .inner .box .txt dl dd {
		margin: 0 0 20px;
		font-size: 3.6vw;
	}
	
	#company #contents .message .inner .box .txt p.name {
		font-size: 3.4vw;
	}
	
	#company #contents .message .inner .box .txt p.name span {
		font-size: 6vw;
	}
}



/*===============================================================

		#company #contents .concept layout

===============================================================*/

#company #contents .concept {
	margin: 0 0 170px;
	background: url("../../img/company/bg04.png") right top 1120px / 241.5px auto no-repeat,
				url("../../img/company/bg03.png") left top 591px / 276px auto no-repeat;
}

#company #contents .concept .inner .caption {
	max-width: 1116px;
	margin: 0 0 60px;
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#company #contents .concept .inner .caption p.img {
	width: 41.308%;
	max-width: 461px;
}

#company #contents .concept .inner .caption dl {
	width: 53.704%;
	max-width: 581px;
}

#company #contents .concept .inner .caption dl dt {
	margin: 0 0 20px;
	font-size: min(32px, 3.2vw);
	font-weight: 700;
	line-height: 1.5;
}

#company #contents .concept .inner .caption dl dd {
	margin: 0 0 1.8em;
	font-size: min(15px, 1.5vw);
}


#company #contents .concept .inner .catch {
	margin: 0 0 80px;
}

#company #contents .concept .inner .catch p.txt {
	margin: 0 0 160px;
	background: linear-gradient(180deg, #008294 0%, #006C7B 60%);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	text-align: center;
	font-size: min(36px, 3.6vw);
	font-weight: 700;
	line-height: 1.0;
}

#company #contents .concept .inner .catch p.img img {
	border-radius: 12px;
}


#company #contents .concept .inner .slogan {
	
}

#company #contents .concept .inner .slogan h4 {
	margin: 0 0 15px;
	font-size: min(32px, 3.2vw);
	font-weight: 700;
	line-height: 1.0;
}

#company #contents .concept .inner .slogan ol li {
	padding: 45px 0;
	border-bottom: solid 1px #D9E1E7;
}

#company #contents .concept .inner .slogan ol li:last-child {
	padding: 45px 0 0;
	border-bottom: none;
}

#company #contents .concept .inner .slogan ol li dl dt {
	margin: 0 0 45px;
	font-size: min(32px, 3.2vw);
	font-weight: 700;
	line-height: 1.3;
}

#company #contents .concept .inner .slogan ol li dl dt span {
	margin: 0 45px 0 0;
	position: relative;
	display: inline-block;
}

#company #contents .concept .inner .slogan ol li dl dt span::after {
	content: "";
	width: 1px;
	height: 90%;
	background-color: #D9E1E7;
	position: absolute;
	right: -25px;
	top: 5%;
}


@media screen and (max-width: 768px){
	#company #contents .concept {
		margin: 0 0 15vh;
		background: none;
	}
	
	#company #contents .concept .inner .caption {
		margin: 0 0 3vh;
		max-width: inherit;
		margin-inline: 0;
		display: block;
	}
	
	#company #contents .concept .inner .caption p.img {
		width: auto;
		max-width: inherit;
		margin: 0 0 3vh;
	}
	
	#company #contents .concept .inner .caption p.img img {
		border-radius: 15px;
	}
	
	#company #contents .concept .inner .caption .txt {
		width: auto;
		max-width: inherit;
	}
	
	#company #contents .concept .inner .caption dl {
		width: auto;
		max-width: inherit;
	}
	
	#company #contents .concept .inner .caption dl dt {
		margin: 0 0 20px;
		font-size: 6.7vw;
	}
	
	#company #contents .concept .inner .caption dl dd {
		font-size: 3.6vw;
	}
	
	
	#company #contents .concept .inner .catch {
		margin: 0 0 8vh;
	}
	
	#company #contents .concept .inner .catch p.txt {
		margin: 0 0 10vh;
		text-align: left;
		font-size: 6.7vw;
		line-height: 1.35;
	}
	
	#company #contents .concept .inner .catch p.img {
		margin: 0 -5vw;
	}
	
	
	#company #contents .concept .inner .slogan {
		
	}
	
	#company #contents .concept .inner .slogan h4 {
		margin: 0 0 10px;
		font-size: 6.5vw;
		font-weight: 700;
		line-height: 1.5;
	}
	
	#company #contents .concept .inner .slogan ol li {
		padding: 30px 0;
		border-bottom: solid 1px #D9E1E7;
	}
	
	#company #contents .concept .inner .slogan ol li:last-child {
		padding: 30px 0 0;
		border-bottom: none;
	}
	
	#company #contents .concept .inner .slogan ol li dl dt {
		margin: 0 0 30px;
		font-size: 6.0vw;
		font-weight: 700;
		line-height: 1.3;
	}
	
	#company #contents .concept .inner .slogan ol li dl dt span {
		margin: 0 30px 0 0;
		position: relative;
		display: inline-block;
	}
	
	#company #contents .concept .inner .slogan ol li dl dt span::after {
		right: -16px;
	}
}



/*===============================================================

		#company #contents .profile layout

===============================================================*/

#company #contents .profile {
	margin: 0 20px;
}

#company #contents .profile .inner {
	max-width: 1200px;
	padding: 60px min(75px, 6vw);
	background-color: var(--light_blue);
	border-radius: 30px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

#company #contents .profile .inner .txt {
	width: 57.143%;
	max-width: 900px;
}

#company #contents .profile .inner .txt h3 {
	margin: 0 0 70px;
	white-space:: nowrap;
}

#company #contents .profile .inner .txt h3 span {
	font-size: min(80px, 6.0vw);
}

#company #contents .profile .inner .txt dl {
	font-size: 16px;
}

#company #contents .profile .inner .txt dl div {
	margin: 0 0 25px;
	display: flex;
}

#company #contents .profile .inner .txt dl div:last-of-type {
	margin: 0;
}

#company #contents .profile .inner .txt dl div dt {
	width: 27%;
}

#company #contents .profile .inner .txt dl div dd {
	width: 73%;
}


#company #contents .profile .inner p.img {
	width: 36.190%;
	max-width: 380px;
}

#company #contents .profile .inner p.img img {
	border-radius: 18px;
}


@media screen and (max-width: 768px){
	#company #contents .profile {
		margin: 0 4vw;
	}
	
	#company #contents .profile .inner {
		max-width: inherit;
		padding: 4vh 5vw;
		border-radius: 20px;
		display: block;
	}
	
	#company #contents .profile .inner .txt {
		width: auto;
		max-width: inherit;
	}
	
	#company #contents .profile .inner .txt h3 {
		margin: 0 0 4vh;
	}
	
	#company #contents .profile .inner .txt h3 span {
		margin: 0 0 10px;
		font-size: 10vw;
		line-height: 1.2;
	}
	
	#company #contents .profile .inner .txt dl {
		margin: 0 0 4vh;
		font-size: 3.8vw;
		line-height: 1.35;
	}
	
	#company #contents .profile .inner .txt dl div {
		margin: 0 0 20px;
	}
	
	#company #contents .profile .inner .txt dl div dt {
		width: 25%;
	}
	
	#company #contents .profile .inner .txt dl div dd {
		width: 75%;
	}
	
	
	#company #contents .profile .inner p.img {
		width: auto;
		max-width: inherit;
	}
	
	#company #contents .profile .inner p.img img {
		border-radius: 14px;
	}
}



/*===============================================================

		#company footer layout

===============================================================*/

#company footer {
	margin: 160px 0 0;
}

@media screen and (max-width: 768px){
	#company footer {
		margin: 16vh 0 0;
	}
}






/*====================================================================================

		#case layout

====================================================================================*/

/*===============================================================

		#case #contents .select layout

===============================================================*/

#case #contents .select .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
}

#case #contents .select .inner section {
	width: 48.3%;
}

#case #contents .select .inner section h3 {
	margin: 0 0 30px;
	font-size: 18px;
}

#case #contents .select .inner section h3 img {
	margin: 0 5px 0 0;
}

#case #contents .select .inner section ul {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 12px;
	line-height: 1.0;
}

#case #contents .select .inner section ul li a {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	display: inline-block;
	font-size: 12px;
}

#case #contents .select .inner section ul li a:hover,
#case #contents .select .inner section ul li.selected a {
	background-color: var(--base_blue);
	color: #fff;
}


@media screen and (max-width: 768px){
	#case #contents .select .inner {
		gap: 6vh 0;
	}
	
	#case #contents .select .inner section {
		width: auto;
	}
	
	#case #contents .select .inner section h3 {
		margin: 0 0 20px;
		font-size: 4.2vw;
	}
	
	#case #contents .select .inner section ul {
		gap: 10px;
	}
	
	#case #contents .select .inner section ul li a {
		padding: 5px 9px;
		background-color: var(--light_blue);
		border-radius: 20px;
		display: inline-block;
		font-size: 2.8vw;
	}
}



/*===============================================================

		#case #contents .list layout

===============================================================*/

#case #contents .list {
	margin: 60px 0 0;
	background: url("../../img/case/bg01.png") left top 136px / 104px auto no-repeat;
}

#case #contents .list .inner h3 {
	margin: 0 0 20px;
	color: var(--base_black);
	font-size: 20px;
}

#case #contents .list .inner > ul.item {
    /*
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 40px 21px;
    */
}

#case #contents .list .inner > ul.item > li {
		width:calc(100% / 3);
	min-height:510px;
	padding: 10px 10px 0;
	box-sizing: border-box;
	margin-bottom:20px;
}

#case #contents .list .inner ul.item li a {
	display: block;
}

#case #contents .list .inner ul.item li a:hover {
	opacity: 0.8;
}

#case #contents .list .inner ul.item li p.img img {
	border-radius: 8px;
}

#case #contents .list .inner ul.item li ul.attr {
	margin: 20px 0 12px;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

#case #contents .list .inner ul.item li ul.attr li {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	display: inline-block;
	font-size: 12px;
	line-height: 1.0;
}

#case #contents .list .inner ul.item li dl.txt dt {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

#case #contents .list .inner ul.item li dl.txt dd {
	font-size: 14px;
}

#case #contents .list .inner ul.item li dl.client {
	margin: 10px 0 0;
	display: flex;
	align-items: center;
	gap: 0 30px;
	color: var(--base_blue);
	font-size: 14px;
	line-height: 1.4;
}

#case #contents .list .inner ul.item li dl.client dt {
	position: relative;
}

#case #contents .list .inner ul.item li dl.client dt::after {
	content: "｜";
	position: absolute;
	right: -23px;
}


@media screen and (max-width: 768px){
	#case #contents .list {
		margin: 8vh 0 0;
		background: none;
	}
	
	#case #contents .list .inner h3 {
		margin: 0 0 30px;
		font-size: 4.2vw;
		line-height: 1.35;
	}
	
	#case #contents .list .inner > ul.item {
		gap: 4vh 21px;
	}
	
	#case #contents .list .inner ul.item li  {
		width: auto;
	}
	
	#case #contents .list .inner ul.item li  a:hover {
		opacity: 1;
	}
	
	#case #contents .list .inner ul.item li  ul.attr {
		margin: 15px 0 10px;
		gap: 0 6px;
	}
	
	#case #contents .list .inner ul.item li  ul.attr li {
		padding: 5px 8px;
		font-size: 2.7vw;
	}
	
	#case #contents .list .inner ul.item li  dl.txt dt {
		font-size: 3.7vw;
	}
	
	#case #contents .list .inner ul.item li  dl.txt dd {
		font-size: 3.4vw;
	}
	
	#case #contents .list .inner ul.item li  dl.client {
		gap: 0 25px;
		font-size: 3.4vw;
	}
	
	#case #contents .list .inner ul.item li  dl.client dt {
		position: relative;
	}
	
	#case #contents .list .inner ul.item li  dl.client dt::after {
		right: -20px;
	}
}




/*====================================================================================

		#case_single layout

====================================================================================*/

/*===============================================================

		#case_single #contents article layout

===============================================================*/

#case_single #contents article {
	padding: 120px 20px 0;
	position: relative;
}

#case_single #contents article::after {
	content: "";
	width: 138px;
	height: 312px;
	background: url("../img/main_bg.png") left top / 100% auto no-repeat;
	position: absolute;
	right: 0;
	top: 80px;
}

#case_single #contents article .inner {
	max-width: 1084px;
	margin-inline: auto;
}

#case_single #contents article .inner h2 {
	margin: 0 0 10px;
	font-size: min(32px, 3.2vw);
	font-weight: 700;
	line-height: 1.5;
}

#case_single #contents article .inner .attached {
	margin: 0 0 30px;
	display: flex;
	align-items: center;
	gap: 0 15px;
}

#case_single #contents article .inner .attached ul.attr {
	display: flex;
	align-items: center;
	gap: 0 10px;
}

#case_single #contents article .inner .attached ul.attr li {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	font-size: 12px;
	line-height: 1.0;
}

#case_single #contents article .inner .attached dl.client {
	display: flex;
	align-items: center;
	gap: 0 30px;
	color: var(--base_blue);
	font-size: 14px;
	line-height: 1.4;
}

#case_single #contents article .inner .attached dl.client dt {
	position: relative;
}

#case_single #contents article .inner .attached dl.client dt::after {
	content: "｜";
	position: absolute;
	right: -23px;
}


#case_single #contents article .inner section:not(:last-of-type) {
	margin: 0 0 80px;
}

#case_single #contents article .inner section h3 {
	margin: 0 0 15px;
	/*padding: 0 0 0 10px;*/
	padding: 0 0 0 6px;
	border-left: solid 4px var(--base_blue);
	position: relative;
	color: var(--base_black);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
}

#case_single #contents article .inner section p:not(:last-of-type) {
	margin: 0 0 1.8em;
}


#case_single #contents article .inner .img_large p.img {
	margin: 0 0 30px;
}

#case_single #contents article .inner .img_large p.img img {
	border-radius: 20px;
}


#case_single #contents article .inner .column {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#case_single #contents article .inner .column.reverse {
	flex-flow: row-reverse wrap;
}

#case_single #contents article .inner .column p.img {
	width: 48.89%;
	max-width: 530px;
}

#case_single #contents article .inner .column p.img img {
	border-radius: 8px;
}

#case_single #contents article .inner .column .txt_box {
	width: 46.125%;
	max-width: 500px;
}


#case_single #contents article .inner .grid {
	display: grid;
	grid-template-columns: 48.89% 46.125%;
	justify-content: space-between;
	gap: 0 30px;
	align-items: center;
}

#case_single #contents article .inner .grid.reverse {
	grid-template-columns: 46.125% 48.89%;
}

#case_single #contents article .inner .grid h3 {
	grid-column: 2 / 3; /* 2列目 */
	grid-row: 1 / 2; /* 1行目 */
}

#case_single #contents article .inner .grid p.img {
	grid-column: 1 / 2;  /* 1列目 */
	grid-row: 1 / 3; /* 1~2行目 */
}

#case_single #contents article .inner .grid .txt_box {
	grid-column: 2 / 3;  /* 2列目 */
	grid-row: 2 / 3; /* 2行目 */
}

#case_single #contents article .inner .grid.reverse h3 {
	grid-column: 1 / 2;  /* 1列目 */
	grid-row: 1 / 2; /* 1行目 */
}

#case_single #contents article .inner .grid.reverse p.img {
	grid-column: 2 / 3; /* 2列目 */
	grid-row: 1 / 3; /* 1~2行目 */
}

#case_single #contents article .inner .grid.reverse .txt_box {
	grid-column: 1 / 2;  /* 1列目 */
	grid-row: 2 / 3; /* 2行目 */
}


#case_single #contents article .inner .grid p.img img {
	border-radius: 8px;
}


@media screen and (max-width: 768px){
	#case_single #contents article {
		padding: 6vh 5vw 0;
		position: relative;
	}
	
	#case_single #contents article::after {
		display: none;
	}
	
	#case_single #contents article .inner {
		max-width: inherit;
		margin-inline: 0;
	}
	
	#case_single #contents article .inner {
		width: auto;
		height: auto;
		margin-inline: 0;
	}
	
	#case_single #contents article .inner h2 {
		font-size: 5vw;
	}
	
	
	#case_single #contents article .inner .attached {
		margin: 0 0 3vh;
		gap: 0 10px;
	}
	
	#case_single #contents article .inner .attached dl.client ul.attr {
		margin: 15px 0 10px;
		gap: 0 6px;
	}
	
	#case_single #contents article .inner .attached dl.client ul.attr li {
		padding: 5px 8px;
		font-size: 2.7vw;
	}
	
	#case_single #contents article .inner .attached dl.client dl.client {
		gap: 0 25px;
		font-size: 3.4vw;
	}
	
	#case_single #contents article .inner .attached dl.client dl.client dt {
		position: relative;
	}
	
	#case_single #contents article .inner .attached dl.client dl.client dt::after {
		right: -20px;
	}
	
	
	#case_single #contents article .inner section:not(:last-of-type) {
		margin: 0 0 8vh;
	}
	
	#case_single #contents article .inner section h3 {
		margin: 0 0 2vh;
		font-size: 4.2vw;
	}
	
	#case_single #contents article .inner .img_large p.img {
		margin: 0 0 3vh;
	}
	
	#case_single #contents article .inner .img_large p.img img {
		border-radius: 10px;
	}
	
	
	#case_single #contents article .inner .column {
		gap: 3vh 0;
	}
	
	#case_single #contents article .inner .column p.img {
		width: auto;
		max-width: inherit;
	}
	
	#case_single #contents article .inner .column .txt_box {
		width: auto;
		max-width: inherit;
	}
	
	
	#case_single #contents article .inner .grid,
	#case_single #contents article .inner .grid.reverse {
		display: block;
	}
	
	#case_single #contents article .inner .grid p.img {
		margin: 0 0 2vh;
	}
}


/* ブロックエディタ調整
==================================== */
#case_single #contents article .inner .article-post h2{
    font-size: 28px;
    font-weight: bold;
    margin: 1.5em 0 0.75em;
    color: var(--base_blue);
    line-height: 1.5;
}
#case_single #contents article .inner .article-post h3{
	margin: 0 0 15px;
	/*padding: 0 0 0 10px;*/
	padding: 0 0 0 6px;
	border-left: solid 4px var(--base_blue);
	position: relative;
	color: var(--base_black);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
}
#case_single #contents article .inner .article-post h4{
    font-size: 20px;
    font-weight: bold;
    margin: 1.5em 0 1.0em;
    padding: 8px 0;
    border-bottom: 2px solid var(--base_blue);
    color: var(--base_blue);
}
#case_single #contents article .inner .article-post p{
    font-size: 15px;
    margin: 0 0 3.5em;
}
#case_single #contents article .inner .article-post ul{
    margin: 2.5em 0;
    padding: 0 0 0 1.0em;
}
#case_single #contents article .inner .article-post ul li{
    list-style: disc;
}
#case_single #contents article .inner .article-post ol{
    margin: 2.5em 0;
    padding: 0 0 0 1.0em;
}
#case_single #contents article .inner .article-post ol li{
    list-style:decimal;
}
#case_single #contents article .inner .article-post a{
    text-decoration: underline;
    color: var(--base_blue);
}
@media (min-width:769px){
    #case_single #contents article .inner .article-post a:hover{
        text-decoration: none;
    }   
}
#case_single #contents article .inner .article-post .wp-block-image{
    margin: 2.0em 0 2.0em;
}
#case_single #contents article .inner .article-post .wp-block-image img{
    border-radius: 20px;
}

#case_single #contents article .inner .article-post .wp-block-columns{
    margin: 4.0em 0;
    gap: 0 5%;
}
#case_single #contents article .inner .article-post .wp-block-columns .wp-block-column p{
    margin: 0 0 2.0em;
}
#case_single #contents article .inner .article-post .wp-block-columns .wp-block-column p:last-of-type{
    margin: 0;
}
#case_single #contents article .inner .article-post .wp-block-columns .wp-block-column .wp-block-image{
    margin: 0 0 2.0em;
}
@media screen and (max-width: 768px){
    #case_single #contents article .inner .article-post h2{
        font-size: 21px;
    }
    #case_single #contents article .inner .article-post h3{
        font-size: 18px;
    }
    #case_single #contents article .inner .article-post h4{
        font-size: 18px;
    }
    #case_single #contents article .inner .article-post p{
        margin: 0 0 3.0em;
    }
    #case_single #contents article .inner .article-post .wp-block-columns{
        margin: 2.5em 0;
        gap: 0;
    }
    #case_single #contents article .inner .article-post .wp-block-columns .wp-block-column{
        margin: 0 0 2.0em;
    }
    #case_single #contents article .inner .article-post .wp-block-columns .wp-block-column .wp-block-image{
        margin: 0 0 1.0em;
    }
}




/*===============================================================

		#case_single #contents .case_other layout

===============================================================*/

#case_single #contents .case_other {
	margin: 150px 0;
	overflow-x: hidden;
}

#case_single #contents .case_other .inner h3 + p {
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: 700;
}

#case_single #contents .case_other .inner .case_slider {
	margin: 0;
}

#case_single #contents .case_other .inner .case_slider .slide_item {
	width: 386px;
}

#case_single #contents .case_other .inner .case_slider .slide_item a {
	display: block;
}

#case_single #contents .case_other .inner .case_slider .slide_item a:hover {
	opacity: 0.8;
}

#case_single #contents .case_other .inner .case_slider .slide_item p.img img {
	border-radius: 8px;
}

#case_single #contents .case_other .inner .case_slider .slide_item ul.attr {
	margin: 20px 0 12px;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

#case_single #contents .case_other .inner .case_slider .slide_item ul.attr li {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	font-size: 12px;
	line-height: 1.0;
}

#case_single #contents .case_other .inner .case_slider .slide_item dl.txt dt {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

#case_single #contents .case_other .inner .case_slider .slide_item dl.txt dd {
	font-size: 14px;
}

#case_single #contents .case_other .inner .case_slider .slide_item dl.client {
	margin: 10px 0 0;
	display: flex;
	align-items: center;
	gap: 0 30px;
	color: var(--base_blue);
	font-size: 14px;
	line-height: 1.4;
}

#case_single #contents .case_other .inner .case_slider .slide_item dl.client dt {
	position: relative;
}

#case_single #contents .case_other .inner .case_slider .slide_item dl.client dt::after {
	content: "｜";
	position: absolute;
	right: -23px;
}


#case_single #contents .case_other .inner .btn_01 {
	position: absolute;
	right: 0;
	top: 20px;
}


#case_single #contents .case_other .inner .case_slider .swiper-button-prev,
#case_single #contents .case_other .inner .case_slider .swiper-button-next {
	display: none;
}


@media screen and (max-width: 768px){
	#case_single #contents .case_other {
		margin: 15vh 0;
	}
	
	#case_single #contents .case_other .inner h3 + p {
		font-size: 3.5vw;
	}
	
	#case_single #contents .case_other .inner .case_slider {
		margin: 0 0 4vh;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item {
		width: auto;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item a:hover {
		opacity: 1;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item ul.attr {
		margin: 15px 0 10px;
		gap: 0 6px;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item ul.attr li {
		padding: 5px 8px;
		font-size: 2.7vw;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item dl.txt dt {
		font-size: 3.7vw;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item dl.txt dd {
		font-size: 3.4vw;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item dl.client {
		gap: 0 25px;
		font-size: 3.4vw;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item dl.client dt {
		position: relative;
	}
	
	#case_single #contents .case_other .inner .case_slider .slide_item dl.client dt::after {
		right: -20px;
	}
	
	
	#case_single #contents .case_other .inner .btn_01 {
		position: static;
	}
	
	#case_single #contents .case_other .inner .case_slider .swiper-button-prev {
		display: block;
		position: absolute;
		right: 16vw;
		top: 17%;
		z-index: 2;
	}
	
	#case_single #contents .case_other .inner .case_slider .swiper-button-next {
		display: block;
		position: absolute;
		right: 5vw;
		top: 17%;
		z-index: 2;
	}
	
	#case_single #contents .case_other .inner .case_slider .swiper-button-prev .circle_02,
	#case_single #contents .case_other .inner .case_slider .swiper-button-next .circle_02 {
		width: 9vw;
		height: 9vw;
	}
}





/*====================================================================================

		#member layout

====================================================================================*/

/*===============================================================

		#member #contents .list layout

===============================================================*/

#member #contents .list {
	background: url("../../img/case/bg01.png") left top 136px / 104px auto no-repeat;
}

#member #contents .list .inner ul {
	display: flex;
	flex-flow: row wrap;
	gap: 25px 24px;
}

#member #contents .list .inner ul li {
	width: calc(100% / 3 - 24px);
	max-width: 386px;
	line-height: 1.0;
}

#member #contents .list .inner ul li a {
	display: block;
}

#member #contents .list .inner ul li a p.img {
	margin: 0 0 20px;
}

#member #contents .list .inner ul li a p.img img {
	border-radius: 8px;
}

#member #contents .list .inner ul li a:hover p.img img {
	filter: brightness(110%);
}

#member #contents .list .inner ul li a p.name {
	margin: 0 0 10px;
	font-size: min(28px, 2.8vw);
	font-weight: 700;
    color: var(--base_blue);
}

#member #contents .list .inner ul li a p.name span {
	margin: 0 0 0 15px;
	display: inline-block;
	font-size: min(14px, 1.4vw);
}

#member #contents .list .inner ul li a p.post {
	color: var(--base_blue);
	font-size: min(16px, 1.6vw);
	font-weight: 700;
}


@media screen and (max-width: 768px){
	#member #contents .list {
		background: none;
	}
	
	#member #contents .list .inner ul {
		justify-content: space-between;
		gap: 25px 0;
	}
	
	#member #contents .list .inner ul li {
		width: 48%;
		max-width: inherit;
	}
	
	#member #contents .list .inner ul li a p.img {
		margin: 0 0 15px;
	}
	
	#member #contents .list .inner ul li a p.img img {
		border-radius: 6px;
	}
	
	#member #contents .list .inner ul li a:hover p.img img {
		filter: brightness(100%);
	}
	
	#member #contents .list .inner ul li a p.name {
		font-size: 5vw;
	}
	
	#member #contents .list .inner ul li a p.name span {
		margin: 0 0 0 10px;
		font-size: 3.0vw;
	}
	
	#member #contents .list .inner ul li a p.post {
		font-size: 3.6vw;
	}
}



/*===============================================================

		#member #contents .modal layout

===============================================================*/

#member #contents .modal {
	width: 100%;
	height: 100vh;
	/*display: none;*/
	position: fixed;
	top: 0;
	z-index: 100;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s;
}

#member #contents .modal.is-active {
	opacity: 1;
	pointer-events: auto;
}

#member #contents .modal_bg {
	width: 100%;
	height: 100vh;
	background: rgba(236,240,243,0.7);
	position: absolute;
	cursor: pointer;
}

#member #contents .modal_content {
	width: 90%;
	max-width: 1076px;
	padding: 60px 30px 60px 60px;
	background: #fff;
	border-radius: 12px;
	box-sizing: border-box;
	position: absolute;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -45%);
}

#member #contents .modal_content .inner {
	max-width: inherit;
	max-height: calc(100vh - 240px);
	padding: 0;
	box-sizing: border-box;
	display: flex;
	justify-content: space-between;
	/*overflow-y: auto;
	scrollbar-color: #ccc #eee;
	scrollbar-width: thin;*/
}

#member #contents .modal_content .close_btn {
	display: block;
	position: absolute;
	right: 23px;
	top: 23px;
	z-index: 100;
	font-size: 12px;
	line-height: 1.0;
	letter-spacing: 0.1em;
	cursor: pointer;
}

#member #contents .modal_content p.img {
	width: 44%;
	max-width: 417px;
}

#member #contents .modal_content p.img img {
	border-radius: 8px;
}

#member #contents .modal_content .txt_box {
	width: 54%;
	max-width: 525px;
	padding: 0 25px 0 0;
	overflow-y: auto;
	/*scrollbar-color: #C5C5C5 #F0F0F0;
	scrollbar-width: thin;*/
}

#member #contents .modal_content .txt_box::-webkit-scrollbar {
	width: 5px;
}

#member #contents .modal_content .txt_box::-webkit-scrollbar-track {
	background: #F0F0F0;
	border-radius: 5px;
}

#member #contents .modal_content .txt_box::-webkit-scrollbar-thumb {
	background: #C5C5C5;
	border-radius: 5px;
}

#member #contents .modal_content .txt_box p.name {
	margin: 0 0 20px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.0;
    color: var(--base_blue);
}

#member #contents .modal_content .txt_box p.name span {
	margin: 0 0 0 15px;
	display: inline-block;
	font-size: 18px;
}

#member #contents .modal_content .txt_box p.post {
	margin: 0 0 30px;
	color: var(--base_blue);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.0;
}

#member #contents .modal_content .txt_box ul,
#member #contents .modal_content .txt_box p.txt {
	margin: 0 0 25px;
	padding: 0 0 24px;
	border-bottom: solid 1px #D9D9D9;
}

#member #contents .modal_content .txt_box ul li {
	/*padding: 0 0 0 1.2em;*/
	position: relative;
}

#member #contents .modal_content .txt_box ul li::before {
    /*
	content: "・";
	position: absolute;
	left: 0;
    */
}

#member #contents .modal_content .txt_box dl dt {
	margin: 15px 0 0;
	font-size: 16px;
	font-weight: 700;
}

#member #contents .modal_content .txt_box dl dd {
	padding: 0 0 0 1.2em;
	position: relative;
}

#member #contents .modal_content .txt_box dl dd::before {
	content: "・";
	position: absolute;
	left: 0;
}


#member #contents .modal_content .slider_box {
	overflow: hidden;
}

#member #contents .modal .swiper-button-prev,
#member #contents .modal .swiper-button-next {
	width: 60px;
	height: 60px;
	background-color: #fff;
	border: solid 1px #192840;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: calc(50% - 30px);
	z-index: 101;
	cursor: pointer;
}

#member #contents .modal .swiper-button-prev {
	left: -40px;
}

#member #contents .modal .swiper-button-next {
	right: -40px;
}


@media screen and (max-width: 768px){
	#member #contents .modal_content {
		width: 90%;
		height: 85%;
		max-width: inherit;
		max-height: inherit;
		padding: 5vw 0 5vw 6vw;
		left: 5%;
		top: 80px;
		transform: translate(0);
		z-index: 100000;
	}
	
	#member #contents .modal_content .slider_box {
		height: 100%;
	}
	
	#member #contents .modal_content .inner {
		height: 100%;
		max-height: inherit;
		padding: 0;
		box-sizing: border-box;
		display: block;
		overflow-y: auto;
		/*scrollbar-color: #ccc #eee;
		scrollbar-width: thin;*/
	}
	
	#member #contents .modal_content .inner::-webkit-scrollbar {
		width: 5px;
	}
	
	#member #contents .modal_content .inner::-webkit-scrollbar-track {
		background: #F0F0F0;
		border-radius: 5px;
	}
	
	#member #contents .modal_content .inner::-webkit-scrollbar-thumb {
		background: #C5C5C5;
		border-radius: 5px;
	}
	
	#member #contents .modal_content .close_btn {
		width: 4vw;
		right: 3vw;
		top: 3vw;
	}
	
	#member #contents .modal_content p.img {
		width: 60%;
		max-width: 417px;
		margin: 0 auto 20px;
	}
	
	#member #contents .modal_content .txt_box {
		width: auto;
		max-width: inherit;
		padding: 0 6vw 0 0;
		overflow-y: visible;
	}
	
	#member #contents .modal_content .txt_box::-webkit-scrollbar-track {
		background: transparent;
		border-radius: 0;
	}
	
	#member #contents .modal_content .txt_box::-webkit-scrollbar-thumb {
		background: transparent;
		border-radius: 0;
	}
	
	#member #contents .modal_content .txt_box p.name {
		margin: 0 0 15px;
		font-size: 7vw;
	}
	
	#member #contents .modal_content .txt_box p.name span {
		margin: 0 0 0 10px;
		font-size: 4vw;
	}
	
	#member #contents .modal_content .txt_box p.post {
		margin: 0 0 20px;
		font-size: 4vw;
	}
	
	#member #contents .modal_content .txt_box ul,
	#member #contents .modal_content .txt_box p.txt {
		margin: 0 0 20px;
		padding: 0 0 20px;
	}
	
	#member #contents .modal_content .txt_box dl dt {
		font-size: 3.8vw;
	}
	
	
	#member #contents .modal_content .slider_box {
		overflow: hidden;
	}
	
	#member #contents .modal .swiper-button-prev,
	#member #contents .modal .swiper-button-next {
		width: 30px;
		height: 30px;
		top: calc(50% - 15px);
	}
	
	#member #contents .modal .swiper-button-prev {
		left: -4vw;
	}
	
	#member #contents .modal .swiper-button-next {
		right: -4vw;
	}
	
	#member #contents .modal .swiper-button-prev svg,
	#member #contents .modal .swiper-button-next svg {
		width: 6px;
		height: 10px;
	}
}



/*===============================================================

		#member footer layout

===============================================================*/

#member footer {
	margin: 150px 0 0;
}

@media screen and (max-width: 768px){
	#member footer {
		margin: 15vh 0 0;
	}
}





/*====================================================================================

		#service layout

====================================================================================*/

/*===============================================================

		#service #contents .main_img layout

===============================================================*/

#service #contents .main_bg img {
	width: 100%;
	height: 400px;
	object-fit: cover;
}

#service #contents .main_img::after {
	display: none;
}


@media screen and (max-width: 768px){
	#service #contents .main_bg img {
		height: 25%;
	}
}



/*===============================================================

		#service #contents .page_caption layout

===============================================================*/

#service #contents .page_caption {
	padding: 100px 20px 80px;
	background: url("../../img/service/bg01.png") left 10px top -80px / 210.5px auto no-repeat;
}

#service #contents .page_caption dl {
	max-width: 832px;
	margin-inline: auto;
}

#service #contents .page_caption dl dt {
	margin: 0 0 24px;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.5;
    text-align: center;
}


@media screen and (max-width: 768px){
	#service #contents .page_caption {
		padding: 8vh 5vw 5vh;
		background: url("../../img/service/bg01.png") left -20% top -5% / 30% auto no-repeat;
	}
	
	#service #contents .page_caption dl {
		max-width: inherit;
		margin-inline: 0;
	}
	
	#service #contents .page_caption dl dt {
		margin: 0 0 20px;
		font-size: 6.5vw;
        text-align: left;
	}
    #service #contents .page_caption dl dt br{
        display: none;
	}
}



/*===============================================================

		#service #contents .page_nav layout

===============================================================*/

#service #contents .page_nav {
	margin: 0 0 120px;
}

#service #contents .page_nav .inner ul {
	border-right: solid 1px #ccc;
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: center;
}

#service #contents .page_nav .inner ul li {
	width: calc(100% / 4);
	border-left: solid 1px #ccc;
}

#service #contents .page_nav .inner ul li a {
	padding: 17px min(23px, 2vw);
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 0 12px;
}

#service #contents .page_nav .inner ul li a img {
	width: 20%;
	max-width: 60px;
	border-radius: 6px;
}

#service #contents .page_nav .inner ul li a span {
	width: 70%;
	display: inline-block;
	font-size: min(18px, 1.8vw);
	font-weight: 700;
	line-height: 1.3;
}

#service #contents .page_nav .inner ul li a .circle {
	flex-shrink: 0;
}

#service #contents .page_nav .inner ul li a:hover {
	opacity: 0.8;
}

#service #contents .page_nav .inner ul li a:hover .circle {
	transform: translateY(5px);
}


@media screen and (max-width: 768px){
	#service #contents .page_nav {
		margin: 0 0 8vh;
	}
	
	#service #contents .page_nav .inner ul {
		padding: 0 5vw;
		border-left: solid 1px #ccc;
		border-right: solid 1px #ccc;
		display: block;
	}
	
	#service #contents .page_nav .inner ul li {
		width: auto;
		border-left: none;
	}
	
	#service #contents .page_nav .inner ul li a {
		padding: 12px 0;
	}
	
	#service #contents .page_nav .inner ul li a span {
		font-size: 4vw;
	}
	
	#service #contents .page_nav .inner ul li a .circle {
		width: 30px;
		height: 30px;
	}
	
	#service #contents .page_nav .inner ul li a:hover {
		opacity: 1;
	}
	
	#service #contents .page_nav .inner ul li a:hover .circle {
		transform: translateY(0);
	}
}



/*===============================================================

		#service #contents .detail layout

===============================================================*/

#service #contents .detail {
	margin: -100px 0 80px;
	padding: 100px 0 0;
}

#service #contents .bg02 {
	background: url("../../img/service/bg02.png") right 5% top 60px / 280px auto no-repeat;
}

#service #contents .bg03 {
	background: url("../../img/service/bg01.png") left -110px top 450px / 210.5px auto no-repeat;
}

#service #contents .detail .inner h3 {
	margin: 0 0 40px;
	color: var(--base_black);
	font-size: 36px;
}

#service #contents .detail .inner h3 span {
	margin: 0 0 12px;
	color: var(--base_blue);
	font-size: 16px;
}

#service #contents .detail .inner .caption {
	margin: 0 0 60px;
	display: flex;
	justify-content: space-between;
}

#service #contents .detail .inner .caption dl {
	width: 50%;
	max-width: 600px;
}

#service #contents .detail .inner .caption dl dt {
	margin: 0 0 25px;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.35;
}

#service #contents .detail .inner .caption p.img {
	width: 44.167%;
	max-width: 530px;
}

#service #contents .detail .inner .caption p.img img {
	border-radius: 6px;
}


#service #contents .detail .inner .offered {
	margin: 0 0 30px;
	padding: 50px min(80px, 7vw);
	background-color: var(--light_blue);
	border-radius: 12px;
}

#service #contents .detail .inner .offered h4 {
	margin: 0 0 30px;
	display: flex;
	align-items: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.0;
}

#service #contents .detail .inner .offered h4::after {
	content: "";
	width: 100%;
	height: 2px;
	margin-left: 18px;
	background-color: var(--base_blue);
	display: block;
}

#service #contents .detail .inner .offered h4 span {
	flex-shrink: 0
}


#service #contents .detail .inner .offered ul.single_item {
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 30px 0;
	line-height: 1.3;
}

#service #contents .detail .inner .offered ul.single_item li {
	width: calc(100% / 4);
	padding: 0 1.5rem 0 0;
	display: flex;
	align-items: center;
	font-size: 18px;
	font-weight: 700;
}

#service #contents .detail .inner .offered ul.single_item li::before {
	content: "";
	width: 22px;
	height: 26px;
	margin-right: 10px;
	background: url("../img/icon_cube.svg") left top / 100% auto no-repeat;
	display: block;
	flex-shrink: 0;
}


@media screen and (max-width: 768px){
	#service #contents .detail {
		margin: -70px 0 6vh;
		padding: 70px 0 0;
	}
	
	#service #contents .bg02,
	#service #contents .bg03 {
		background: none;
	}
	
	#service #contents .detail .inner h3 {
		margin: 0 0 4vh;
		font-size: 8.5vw;
	}
	
	#service #contents .detail .inner h3 span {
		margin: 0 0 1.5vh;
		font-size: 3.8vw;
	}
	
	#service #contents .detail .inner .caption {
		margin: 0 0 5vh;
		display: block;
	}
	
	#service #contents .detail .inner .caption dl {
		width: auto;
		max-width: inherit;
		margin: 0 0 4vh;
	}
	
	#service #contents .detail .inner .caption dl dt {
		margin: 0 0 25px;
		font-size: 6vw;
		font-weight: 700;
		line-height: 1.35;
	}
	
	#service #contents .detail .inner .caption p.img {
		width: auto;
		max-width: inherit;
		margin: 0 0 4vh;
	}
	
	
	#service #contents .detail .inner .offered {
		margin: 0 0 4vh;
		padding: 5vw 3vw;
	}
	
	#service #contents .detail .inner .offered h4 {
		margin: 0 0 2vh;
		font-size: 5vw;
	}
	
	#service #contents .detail .inner .offered h4::after {
		margin-left: 3vw;
	}
	
	
	#service #contents .detail .inner .offered ul.single_item {
		display: flex;
		flex-flow: row wrap;
		align-items: stretch;
		gap: 12px 0;
	}
	
	#service #contents .detail .inner .offered ul.single_item li {
		width: 100%;
		padding: 0;
		display: flex;
		align-items: center;
		font-size: 4vw;
		font-weight: 700;
	}
	
	#service #contents .detail .inner .offered ul.single_item.type_02 li {
		width: calc(100% / 2);
	}
	
	#service #contents .detail .inner .offered ul.single_item li::before {
		width: 18px;
		height: 21px;
	}
}



/*===============================================================

		#service #contents .offered_slider layout

===============================================================*/

#service #contents .detail .inner .offered .offered_slider .swiper-wrapper {
	width: auto;
	height: auto;
}

#service #contents .detail .inner .offered .offered_slider .swiper-slide {
	width: calc(100% / 4);
	height: auto;
}

#service #contents .detail .inner .offered .offered_slider.type_02 .swiper-slide {
	width: calc(100% / 2);
	display: flex;
}

#service #contents .detail .inner .offered .offered_slider .slide_item ul {
	width: 100%;
	padding: 0 1.5rem 0 0;
	display: flex;
	flex-flow: column wrap;
	align-items: center;
	gap: 30px 0;
	line-height: 1.3;
}

#service #contents .detail.service_02 .inner .offered .offered_slider .slide_item ul {
	padding: 0 1.0rem 0 0;
}

#service #contents .detail .inner .offered .offered_slider .slide_item ul li {
	width: 100%;
	display: flex;
	align-items: flex-start;
	font-size: min(15px, 1.5vw);
	font-weight: 700;
}

#service #contents .detail .inner .offered .offered_slider.type_02 .slide_item ul li {
	font-size: min(18px, 1.8vw);
}

#service #contents .detail .inner .offered .offered_slider .slide_item ul li::before {
	content: "";
	width: 18px;
	height: 21px;
	margin-right: 10px;
	background: url("../img/icon_cube.svg") left top / 100% auto no-repeat;
	display: block;
	flex-shrink: 0;
}


@media screen and (max-width: 768px){
	#service #contents .detail .inner .offered .offered_slider {
		overflow-x: hidden;
	}
	
	#service #contents .detail .inner .offered .offered_slider .swiper-wrapper {
		width: 100%;
		height: 100%;
		display: flex;
	}
	
	#service #contents .detail .inner .offered .offered_slider .swiper-slide,
	#service #contents .detail .inner .offered .offered_slider.type_02 .swiper-slide {
		width: 100%;
		height: 100%;
	}
	
	#service #contents .detail .inner .offered .offered_slider .slide_item ul {
		padding: 0;
		gap: 12px 0;
	}
	
	#service #contents .detail .inner .offered .offered_slider .slide_item ul li,
	#service #contents .detail .inner .offered .offered_slider.type_02 .slide_item ul li {
		width: 100%;
		align-items: center;
		font-size: 4vw;
	}
	
	#service #contents .detail .inner .offered .offered_slider .swiper-pagination {
		margin: 20px 0 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	
	/* ページネーションのサイズと色 */
	#service #contents .detail .inner .offered .offered_slider .swiper-pagination-bullet {
		width: 30px;
		height: 3px;
		margin: 0 3px;
		background-color: #ccc;
		display: block;
		cursor: pointer;
	}
	
	#service #contents .detail .inner .offered .offered_slider .swiper-pagination-bullet-active {
		background-color: var(--base_blue);
	}
}



/*===============================================================

		#service #contents .case_other layout

===============================================================*/

#service #contents .case_other {
	margin: 0 0 150px;
	overflow-x: hidden;
	position: relative;
}

#service #contents .case_other.bg04 {
	margin: 0;
	padding: 0 0 150px;
	background: url("../../img/service/bg03.png") right 5% bottom / 170px auto no-repeat;
}

#service #contents .case_other.bg05 {
	background: url("../../img/service/bg02.png") right 1% top / 280px auto no-repeat;
}

#service #contents .case_other .inner h3 + p {
	margin: 0 0 20px;
	font-size: 20px;
	font-weight: 700;
}

#service #contents .case_other .inner .case_slider {
	margin: 0;
}

#service #contents .case_other .inner .case_slider .slide_item {
	width: 386px;
}

#service #contents .case_other .inner .case_slider .slide_item a {
	display: block;
}

#service #contents .case_other .inner .case_slider .slide_item a:hover {
	opacity: 0.8;
}

#service #contents .case_other .inner .case_slider .slide_item p.img img {
	border-radius: 8px;
}

#service #contents .case_other .inner .case_slider .slide_item ul.attr {
	margin: 20px 0 12px;
	display: flex;
	align-items: center;
	gap: 0 10px;
}

#service #contents .case_other .inner .case_slider .slide_item ul.attr li {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	font-size: 12px;
	line-height: 1.0;
}

#service #contents .case_other .inner .case_slider .slide_item dl.txt dt {
	margin: 0 0 10px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.4;
}

#service #contents .case_other .inner .case_slider .slide_item dl.txt dd {
	font-size: 14px;
}

#service #contents .case_other .inner .case_slider .slide_item dl.client {
	margin: 10px 0 0;
	display: flex;
	align-items: center;
	gap: 0 30px;
	color: var(--base_blue);
	font-size: 14px;
	line-height: 1.4;
}

#service #contents .case_other .inner .case_slider .slide_item dl.client dt {
	position: relative;
}

#service #contents .case_other .inner .case_slider .slide_item dl.client dt::after {
	content: "｜";
	position: absolute;
	right: -23px;
}


#service #contents .case_other .inner .btn_01 {
	position: absolute;
	right: 0;
	top: 10px;
}


#service #contents .case_other .inner .case_slider .swiper-button-prev,
#service #contents .case_other .inner .case_slider .swiper-button-next {
	/*display: none;*/
}
#service #contents .case_other .inner .case_slider .swiper-button-prev{
    position: absolute;
    right: 65px;
    top: 17%;
    z-index: 2;
}
#service #contents .case_other .inner .case_slider .swiper-button-next{
    position: absolute;
    right: 0;
    top: 17%;
    z-index: 2;
}
#service #contents .case_other .inner .case_slider .swiper-button-prev .circle_02,
#service #contents .case_other .inner .case_slider .swiper-button-next .circle_02 {
    width: 50px;
    height: 50px;
}

@media (min-width:769px){
    #service #contents .case_other .inner .case_slider .swiper-button-prev:hover .circle_02,
    #service #contents .case_other .inner .case_slider .swiper-button-next:hover .circle_02{
        background-color: #C2DCDF;
    }
    #service #contents .case_other .inner .case_slider .swiper-button-prev:hover .circle_02 path,
    #service #contents .case_other .inner .case_slider .swiper-button-next:hover .circle_02 path{
        stroke: #fff;
    }
}

@media screen and (max-width: 768px){
	#service #contents .case_other {
		margin: 0 0 12vh;
	}
	
	#service #contents .case_other.bg04 {
		margin: 0 0 12vh;
		padding: 0;
		background: none;
	}
	
	#service #contents .case_other.bg05 {
		background: none;
	}
	
	#service #contents .case_other .inner h3 + p {
		font-size: 3.5vw;
	}
	
	#service #contents .case_other .inner .case_slider {
		margin: 0 0 4vh;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item {
		width: auto;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item a:hover {
		opacity: 1;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item ul.attr {
		margin: 15px 0 10px;
		gap: 0 6px;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item ul.attr li {
		padding: 5px 8px;
		font-size: 2.7vw;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item dl.txt dt {
		font-size: 3.7vw;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item dl.txt dd {
		font-size: 3.4vw;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item dl.client {
		gap: 0 25px;
		font-size: 3.4vw;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item dl.client dt {
		position: relative;
	}
	
	#service #contents .case_other .inner .case_slider .slide_item dl.client dt::after {
		right: -20px;
	}
	
	
	#service #contents .case_other .inner .btn_01 {
		position: static;
	}
	
	#service #contents .case_other .inner .case_slider .swiper-button-prev {
		display: block;
		position: absolute;
		right: 16vw;
		top: 17%;
		z-index: 2;
	}
	
	#service #contents .case_other .inner .case_slider .swiper-button-next {
		display: block;
		position: absolute;
		right: 5vw;
		top: 17%;
		z-index: 2;
	}
	
	#service #contents .case_other .inner .case_slider .swiper-button-prev .circle_02,
	#service #contents .case_other .inner .case_slider .swiper-button-next .circle_02 {
		width: 9vw;
		height: 9vw;
	}
}





/*====================================================================================

		#news layout

====================================================================================*/

/*===============================================================

		.news #contents .detail layout

===============================================================*/

.news #contents .detail {
	background: url("../../img/service/bg01.png") left -70px top 210px / 210.5px auto no-repeat;
}

.news #contents .detail .inner {
	display: flex;
	flex-flow: row wrap;
	justify-content: space-between;
	align-items: flex-start;
}

.news #contents .detail .inner .category {
	width: 21.25%;
	max-width: 255px;
	padding: 0 min(75px, 6vw) 100px 0;
	position: sticky;
	top: 100px;
}

.news #contents .detail .inner .category p {
	margin: 0 0 15px;
	display: flex;
	align-items: center;
	position: relative;
	color: var(--base_blue);
	font-size: 18px;
	font-weight: 700;
	white-space: pre;
}

.news #contents .detail .category p::before {
	content: "";
	width: 15px;
	height: 18px;
	margin-right: 5px;
	background: url("../img/icon_cube02.svg") left top / 100% auto no-repeat;
	display: block;
	flex-shrink: 0;
}

.news #contents .detail .inner .category ul li {
	margin: 0 0 12px;
	line-height: 1.0;
}
.news #contents .detail .inner .category ul li ul{
	margin: 12px 0 0 12px;
}

.news #contents .detail .inner .category ul li a {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	display: inline-block;
	font-size: 12px;
}

.news #contents .detail .inner .category ul li a:hover,
.news #contents .detail .inner .category ul li.current-cat > a {
	background-color: var(--base_blue);
	color: #fff;
}


@media screen and (max-width: 768px){
	.news #contents .detail {
		background: url("../../img/service/bg01.png") left -20% top  / 30% auto no-repeat;
	}
	
	.news #contents .detail .inner {
		margin: 0 0 8vh;
		flex-flow: row wrap;
		align-items: stretch;
	}
	
	.news #contents .detail .inner .category {
		width: 100%;
		max-width: inherit;
		padding: 0;
		position: static;
		order: 2;
	}
	
	.news #contents .detail .inner .category p {
		margin: 0 0 20px;
		font-size: 4.2vw;
	}
	
	.news #contents .detail .inner .category ul {
		display: flex;
		flex-flow: row wrap;
		align-items: top;
		gap: 10px;
	}
	
	.news #contents .detail .inner .category ul li {
		margin: 0;
	}
	
	.news #contents .detail .inner .category ul li ul{
		margin: 12px 0 0 12px;
	}
	
	.news #contents .detail .inner .category ul li a {
		padding: 5px 9px;
		font-size: 2.8vw;
	}
}


.news #contents .detail .inner .box {
	width: 78.75%;
	max-width: 870px;
	padding: 0 0 0 min(75px, 6vw);
	border-left: solid 1px #D9E1E7;
}

.news #contents .detail .inner .box > ul.list > li {
	margin: 0 0 30px;
	padding: 0 0 30px;
	border-bottom: solid 1px #D9E1E7;
}

.news #contents .detail .inner .box > ul.list > li:last-child {
	margin: 0;
}

.news #contents .detail .inner .box ul.list li a {
	padding: 0 60px 0 0;
	display: block;
	position: relative;
}

.news #contents .detail .inner .box ul.list li a::after {
	content: "";
	width: 30px;
	height: 30px;
	background: url("../img/icon_arrow01.svg") center center / 10px auto no-repeat #fff;
	border: solid 1px #C2DCDF;
	border-radius: 50%;
	position: absolute;
	right: 0;
	top: calc(50% - 15px);
	overflow: hidden;
	transition: all 0.3s ease;
}

.news #contents .detail .inner .box ul.list li a:hover::after {
	transform: translateX(5px);
}

.news #contents .detail .inner .box ul.list li a ul.attr {
	margin: 0 0 12px;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 0 10px;
	font-size: 12px;
	line-height: 1.0;
}

.news #contents .detail .inner .box ul.list li a ul.attr li.date {
	font-weight: 700;
}

.news #contents .detail .inner .box ul.list li a ul.attr li.ctgry {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	display: inline-block;
}

.news #contents .detail .inner .box ul.list li a p.txt {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
	transition: all 0.3s;
}

.news #contents .detail .inner .box ul.list li a:hover p.txt {
	color: var(--base_blue);
}


@media screen and (max-width: 768px){
	.news #contents .detail .inner .box {
		width: 100%;
		max-width: inherit;
		padding: 0;
		border-left: none;
		order: 0;
	}
	
	.news #contents .detail .inner .box > ul.list > li {
		margin: 0 0 20px;
		padding: 0 0 20px;
	}
	
	.news #contents .detail .inner .box ul.list li a {
		padding: 0 40px 0 0;
	}
	
	.news #contents .detail .inner .box ul.list li a::after {
		width: 24px;
		height: 24px;
		background: url("../img/icon_arrow01.svg") center center / 8px auto no-repeat #fff;
		top: calc(50% - 12px);
	}
	
	.news #contents .detail .inner .box ul.list li a ul.attr {
		margin: 0 0 10px;
		font-size: 2.8vw;
	}
	
	.news #contents .detail .inner .box ul.list li a ul.attr li.ctgry {
		padding: 5px 9px;
	}
	
	.news #contents .detail .inner .box ul.list li a p.txt {
		font-size: 3.8vw;
	}
	
	.news #contents .detail .inner .box ul.list li a:hover p.txt {
		color: var(--base_black);
	}
}


#news #contents .detail .inner ul.pagination {
	width: 100%;
	margin: 80px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 30px;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.0;
}

#news #contents .detail .inner ul.pagination li a {
	display: flex;
	justify-content: center;
	align-items: center;
	color: #B3B3B3;
}

#news #contents .detail .inner ul.pagination li.current a {
	color: var(--base_black);
}

#news #contents .detail .inner ul.pagination li a:hover {
	color: var(--base_blue);
}

#news #contents .detail .inner ul.pagination li.prev a,
#news #contents .detail .inner ul.pagination li.next a {
	width: 45px;
	height: 45px;
	background-color: #fff;
	border: solid 2px var(--base_black);
	border-radius: 50%;
}

#news #contents .detail .inner ul.pagination li.prev a:hover,
#news #contents .detail .inner ul.pagination li.next a:hover {
	background-color: var(--light_blue);
}

#news #contents .detail .inner ul.pagination li.prev a:hover {
	transform: translateX(-5px);
}

#news #contents .detail .inner ul.pagination li.next a:hover {
	transform: translateX(5px);
}


@media screen and (max-width: 768px){
	#news #contents .detail .inner ul.pagination {
		margin: 6vh 0;
		gap: 0 5vw;
		font-size: 4.2vw;
		order: 1;
	}
	
	#news #contents .detail .inner ul.pagination li.prev a,
	#news #contents .detail .inner ul.pagination li.next a {
		width: 35px;
		height: 35px;
	}
	
	#news #contents .detail .inner ul.pagination li.prev a:hover,
	#news #contents .detail .inner ul.pagination li.next a:hover {
		background-color: #fff;
	}
	
	#news #contents .detail .inner ul.pagination li.prev a img,
	#news #contents .detail .inner ul.pagination li.next a img {
		width: 12px;
	}
	
	#news #contents .detail .inner ul.pagination li.prev a:hover img,
	#news #contents .detail .inner ul.pagination li.next a:hover img {
		transform: translateX(0);
	}
}





/*====================================================================================

		#news_single layout

====================================================================================*/

/*===============================================================

		#news_single #contents .detail layout

===============================================================*/

#news_single #contents .detail .inner .box article {
	padding: 0 0 80px;
	border-bottom: solid 1px #D9E1E7;
}

#news_single #contents .detail .inner .box article ul.attr {
	margin: 0 0 12px;
	display: flex;
	flex-flow: row wrap;
	align-items: center;
	gap: 0 10px;
	font-size: 12px;
	line-height: 1.0;
}

#news_single #contents .detail .inner .box article ul.attr li.date {
	font-weight: 700;
}

#news_single #contents .detail .inner .box article ul.attr li.ctgry {
	padding: 6px 10px;
	background-color: var(--light_blue);
	border-radius: 20px;
	display: inline-block;
}

#news_single #contents .detail .inner .box article h3 {
	margin: 0 0 30px;
	padding: 0 0 30px;
	border-bottom: solid 1px #D9E1E7;
	color: var(--base_black);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}

#news_single #contents .detail .inner .box article p.img {
	margin: 0 0 30px;
}

#news_single #contents .detail .inner .box article dl dt {
	margin: 0 0 30px;
	color: var(--base_blue);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.5;
}


@media screen and (max-width: 768px){
	#news_single #contents .main_img .inner ul.topic_pass li::last-child {
		width: 100%;
	}
	
	#news_single #contents .detail .inner .box article {
		padding: 0 0 6vh;
		border-bottom: solid 1px #D9E1E7;
	}
	
	#news_single #contents .detail .inner .box article ul.attr {
		margin: 0 0 10px;
		font-size: 2.8vw;
	}
	
	#news_single #contents .detail .inner .box article ul.attr li.ctgry {
		padding: 5px 9px;
	}
	
	#news_single #contents .detail .inner .box article h3 {
		margin: 0 0 20px;
		padding: 0 0 20px;
		font-size: 4.2vw;
	}
	
	#news_single #contents .detail .inner .box article p.img {
		margin: 0 0 20px;
	}
	
	#news_single #contents .detail .inner .box article dl dt {
		margin: 0 0 20px;
		font-size: 4.0vw;
	}
}


#news_single #contents .detail .inner ul.pagination {
	width: 100%;
	margin: 80px 0 0;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 30px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.0;
}

#news_single #contents .detail .inner ul.pagination li a {
	display: flex;
	justify-content: center;
	align-items: center;
}

#news_single #contents .detail .inner ul.pagination li.all a {
	text-decoration: underline 2px;
	text-underline-offset: 2px;
    font-family: "Zen Kaku Gothic New", serif;
}

#news_single #contents .detail .inner ul.pagination li a:hover {
	color: var(--base_blue);
}

#news_single #contents .detail .inner ul.pagination li.prev a img {
	margin-inline: 0 12px;
}

#news_single #contents .detail .inner ul.pagination li.next a img {
	margin-inline: 12px 0;
}

#news_single #contents .detail .inner ul.pagination li.prev a:hover img {
	transform: translateX(-5px);
}

#news_single #contents .detail .inner ul.pagination li.next a:hover img {
	transform: translateX(5px);
}


@media screen and (max-width: 768px){
	#news_single #contents .detail .inner ul.pagination {
		margin: 6vh 0;
		gap: 0 5vw;
		font-size: 3.8vw;
		order: 1;
	}
	
	#news_single #contents .detail .inner ul.pagination li.prev a img {
		width: 25px;
		margin-inline: 0 10px;
	}
	
	#news_single #contents .detail .inner ul.pagination li.next a img {
		width: 25px;
		margin-inline: 10px 0;
	}
	
	#news_single #contents .detail .inner ul.pagination li.prev a:hover img,
	#news_single #contents .detail .inner ul.pagination li.next a:hover img {
		transform: translateX(0);
	}
}


/* article-post
=============================================== */
#news_single #contents .detail .inner .box article .article-post  h2{
    font-size: 28px;
    font-weight: bold;
    margin: 1.5em 0 0.75em;
    color: var(--base_blue);
    line-height: 1.5;
}
#news_single #contents .detail .inner .box article .article-post  h3{
    font-size: 20px;
    font-weight: bold;
    margin: 2.0em 0 1.0em;
    padding: 8px 20px;
    background: var(--base_blue);
    color: #fff;
    border: none;
}
#news_single #contents .detail .inner .box article .article-post  h4{
    font-size: 20px;
    font-weight: bold;
    margin: 1.5em 0 1.0em;
    padding: 8px 0;
    border-bottom: 2px solid var(--base_blue);
    color: var(--base_blue);
}
#news_single #contents .detail .inner .box article .article-post ul{
    margin: 1.5em 0;
    padding: 0 0 0 1.0em;
}
#news_single #contents .detail .inner .box article .article-post ul li{
    list-style: disc;
}
#news_single #contents .detail .inner .box article .article-post ol{
    margin: 1.5em 0;
    padding: 0 0 0 1.0em;
}
#news_single #contents .detail .inner .box article .article-post ol li{
    list-style:decimal;
}
#news_single #contents .detail .inner .box article .article-post p{
    margin: 0 0 2.0em;
}
#news_single #contents .detail .inner .box article .article-post strong{
    color: #111;
}
#news_single #contents .detail .inner .box article .article-post em{
    font-style: italic;
}
#news_single #contents .detail .inner .box article .article-post a{
    text-decoration: underline;
    color: var(--base_blue);
}
@media (min-width:769px){
    #news_single #contents .detail .inner .box article .article-post a:hover{
        text-decoration: none;
    }   
}
#news_single #contents .detail .inner .box article .article-post .wp-block-image{
    margin: 0 0 1.5em;
}

@media screen and (max-width: 768px){
    #news_single #contents .detail .inner .box article .article-post  h2{
        font-size: 21px;
        line-height: 1.75;
    }
    #news_single #contents .detail .inner .box article .article-post  h3{
        font-size: 18px;
    }
    #news_single #contents .detail .inner .box article .article-post  h4{
        font-size: 18px;
    }
    #news_single #contents .detail .inner .box article .wp-block-image .alignleft,
    #news_single #contents .detail .inner .box article .wp-block-image .alignright{
        float: none;
        margin: 1.0em auto;
        width: 100%;
    }
    #news_single #contents .detail .inner .box article .wp-block-image .alignleft img,
    #news_single #contents .detail .inner .box article .wp-block-image .alignright img{
        width: 100% !important;
    }
    #news_single #contents .detail .inner .box article .wp-block-columns .wp-block-column > p{
        margin: 0;
    }
}




/*====================================================================================

		#contact layout

====================================================================================*/

/*===============================================================

		.contact #contents .detail layout

===============================================================*/

.contact #contents .detail {
	background: url("../../img/service/bg01.png") left -70px top 210px / 210.5px auto no-repeat;
}

.contact #contents .detail .inner {
	max-width: 940px;
}

.contact #contents .detail .inner ol.flow {
	max-width: 620px;
	margin: 0 auto 70px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #8F8F8F;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

.contact #contents .detail .inner ol.flow li {
	width: calc(100% / 3);
	display: flex;
	flex-flow: column nowrap;
	justify-content: center;
	align-items: center;
	gap: 20px 0;
	position: relative;
}

.contact #contents .detail .inner ol.flow li.current {
	color: var(--base_blue);
}

.contact #contents .detail .inner ol.flow li.settled {
	color: #8F8F8F;
}

.contact #contents .detail .inner ol.flow li::before {
	content: "";
	width: 22px;
	height: 22px;
	background-color: #8F8F8F;
	border-radius: 50%;
	display: block;
	position: relative;
	z-index: 2;
}

.contact #contents .detail .inner ol.flow li.current::before,
.contact #contents .detail .inner ol.flow li.settled::before {
	background-color: var(--base_blue);
}

.contact #contents .detail .inner ol.flow li:not(:first-child)::after {
	content: "";
	width: 100%;
	height: 2px;
	background-color: #8F8F8F;
	position: absolute;
	left: -50%;
	top: 10px;
	z-index: 1;
}

.contact #contents .detail .inner ol.flow li.current::after {
	background-color: var(--base_blue);
}
.contact #contents .detail .inner .required-txt{
    margin: 0 0 25px;
    padding: 0 0 15px;
    border-bottom: 1px solid #D9D9D9;
    font-size: 14px;
    font-weight: bold;
}
.contact #contents .detail .inner .required-txt span{
    color: #FF2424;
}

@media screen and (max-width: 768px){
	.contact #contents .detail {
		background: url("../../img/service/bg01.png") left -20% top / 30% auto no-repeat;
	}
	
	.contact #contents .detail .inner {
		max-width: inherit;
	}
	
	.contact #contents .detail .inner ol.flow {
		max-width: inherit;
		margin: 0 -2vw 6vh;
		font-size: 3.4vw;
	}
	
	.contact #contents .detail .inner ol.flow li {
		gap: 15px 0;
		text-align: center;
	}
	
	.contact #contents .detail .inner ol.flow li::before {
		width: 16px;
		height: 16px;
	}
	
	.contact #contents .detail .inner ol.flow li:not(:first-child)::after {
		top: 8px;
	}
}



/*===============================================================

		form parts layout

===============================================================*/

.contact #contents .detail .inner table {
	width: 100%;
	margin: 0 0 60px;
	font-size: 16px;
	font-weight: 700;
}

.contact #contents .detail .inner table th {
	width: 25%;
	padding: 20px 0 15px;
	text-align: left;
	vertical-align: top;
}

.contact #contents .detail .inner table th .required {
	margin-left: 5px;
	display: inline-block;
	color: #FF2424;
}

.contact #contents .detail .inner table td {
	width: 75%;
	padding: 15px 0;
}

.contact #contents .detail .inner table td .txt_01 {
	width: 100%;
}

.contact #contents .detail .inner table td p.privacy {
	margin: 10px 0 0;
}

.contact #contents .detail .inner table td p.privacy span {
	margin-right: 30px;
	display: inline-block;
	font-size: 13px;
	font-weight: 500;
}

.contact #contents .detail .inner table td p.privacy span a {
	text-decoration: underline;
}

.contact #contents .detail .inner table td p.privacy span a:hover {
	color: var(--base_blue);
	text-decoration: none;
}
.contact #contents .detail .inner table td p.privacy span.wpcf7-list-item-label {
    font-size: 16px;
	font-weight: 700;
}

.contact #contents .detail input[type="text"],
.contact #contents .detail form input[type="text"] {
	padding: 15px;
	background-color: #F2F5F7;
	border: none;
	border-radius: 6px;
	box-sizing: border-box;
	font-size: 16px;
}

.contact #contents .detail input[type="tel"],
.contact #contents .detail input[type="email"]{
 	padding: 15px;
	background-color: #F2F5F7;
	border: none;
	border-radius: 6px;
	box-sizing: border-box;
	font-size: 16px;   
}

.contact #contents .detail input::placeholder,
.contact #contents .detail form input::placeholder {
	color: #8F8F8F;
}

.contact #contents .detail input[type="checkbox"],
.contact #contents .detail form input[type="checkbox"] {
	width: 22px;
	height: 22px;
	margin-right: 10px;
	background-color: #F2F5F7;
	position: relative;
	vertical-align: -7px;
	-webkit-appearance: none;
	appearance: none;
}

.contact #contents .detail input[type="checkbox"]:checked:before,
.contact #contents .detail form input[type="checkbox"]:checked:before{
	content: "";
	width: 6px;
	height: 12px;
	border-right: 2px solid var(--base_blue);
	border-bottom: 2px solid var(--base_blue);
	position: absolute;
	top: 3px;
	left: 8px;
	transform: rotate(50deg);
}

.contact #contents .detail label,
.contact #contents .detail form label {
	display: inline-block;
}

.contact #contents .detail label:not(:last-of-type),
.contact #contents .detail form label:not(:last-of-type) {
	margin-right: 50px;
}

.contact #contents .detail textarea,
.contact #contents .detail form textarea {
	width: 100%;
	min-height: 340px;
	padding: 15px;
	background-color: #F2F5F7;
	border: none;
	border-radius: 6px;
	box-sizing: border-box;
	font-size: 16px;
}


.contact #contents .detail .inner .btn {
	width: 410px;
	margin-inline: auto;
}

.contact #contents .detail input[type="submit"],
.contact #contents .detail form input[type="submit"] {
	width: 100%;
	height: 74px;
	padding: 0 45px;
	background: url("../../img/contact/icon_arrow.svg") right 40px center / auto no-repeat,
				linear-gradient(to bottom, #008294 0%,#006c7b 60%);
	border: none;
	border-radius: 6px;
	display: flex;
	align-items: center;
	text-align: left;
	position: relative;
	color: #fff;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 22px;
	font-weight: 700;
	transition: all .3s;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
    text-align: center;
}

.contact #contents .detail input[type="submit"]:hover,
.contact #contents .detail form input[type="submit"]:hover {
	background: url("../../img/contact/icon_arrow.svg") right 35px center / auto no-repeat,
				linear-gradient(to bottom, #008294 0%,#006c7b 60%);
	opacity: 0.8;
}


@media screen and (max-width: 768px){
	.contact #contents .detail .inner table {
		margin: 0 0 3vh;
		font-size: 3.8vw;
	}
	
	.contact #contents .detail .inner table th {
		width: 100%;
		padding: 0 0 10px;
		display: block;
	}
	
	.contact #contents .detail .inner table td {
		width: 100%;
		padding: 0 0 30px;
		display: block;
	}
	
	.contact #contents .detail .inner table td.line {
		display: flex;
		flex-flow: row wrap;
		gap: 10px 20px;
	}
	
	.contact #contents .detail .inner table td .txt_01 {
		width: 100%;
	}
	
	.contact #contents .detail .inner table td p.privacy {
		margin: 10px 0 0;
	}
	
	.contact #contents .detail .inner table td p.privacy span {
		margin-right: 30px;
		display: inline-block;
		font-size: 13px;
		font-weight: 500;
	}
	
	
	.contact #contents .detail input[type="text"],
	.contact #contents .detail form input[type="text"] {
		-webkit-appearance: none;
		appearance: none;
		font-size: 3.8vw;
	}
	
    .contact #contents .detail label:not(:last-of-type),
	.contact #contents .detail form label:not(:last-of-type) {
		margin: 0;
	}
	
    .contact #contents .detail textarea,
	.contact #contents .detail form textarea {
		min-height: 24vh;
		-webkit-appearance: none;
		appearance: none;
		font-size: 3.8vw;
	}
	
	.contact #contents .detail .inner .btn {
		width: auto;
		margin-inline: auto;
	}
	
    .contact #contents .detail input[type="submit"],
	.contact #contents .detail form input[type="submit"] {
		padding: 0 8vw;
		background: url("../../img/contact/icon_arrow.svg") right 20px center / auto no-repeat,
					linear-gradient(to bottom, #008294 0%,#006c7b 60%);
		font-size: 4.5vw;
	}
	
    .contact #contents .detail input[type="submit"]:hover,
	.contact #contents .detail form input[type="submit"]:hover {
		background: url("../../img/contact/icon_arrow.svg") right 20px center / auto no-repeat,
					linear-gradient(to bottom, #008294 0%,#006c7b 60%);
		opacity: 1;
	}
}





/*====================================================================================

		#confirm layout

====================================================================================*/

/*===============================================================

		#confirm #contents .detail layout

===============================================================*/

#confirm #contents .detail .inner table th {
	padding: 50px 0 15px;
	border-bottom: solid 1px var(--base_blue);
}

#confirm #contents .detail .inner table td {
	padding: 50px 0 15px;
	border-bottom: solid 1px var(--base_blue);
	font-weight: 400;
}

#confirm #contents .detail .inner ul {
	display: flex;
	justify-content: center;
/*	align-items: center;*/
	gap: 30px 60px;
}

#confirm #contents .detail .inner ul li {
	width: 410px;
}
#confirm #contents .detail .inner ul li.back input[type=button],
#confirm #contents .detail .inner ul li.back button {
	width: 100%;
	height: 74px;
	padding: 0 45px;
	background: url("../../img/contact/icon_back.svg") left 40px center / auto no-repeat,
				linear-gradient(to bottom, #F3F4F4 0%,#D9D9D9 60%);
	border: none;
	border-radius: 6px;
	display: flex;
	justify-content: flex-end;
	align-items: center;
	text-align: center;
	position: relative;
	color: var(--base_blue);
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 22px;
	font-weight: 700;
	transition: all .3s;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

#confirm #contents .detail .inner ul li.back input[type=button]:hover,
#confirm #contents .detail .inner ul li.back button:hover {
	background: url("../../img/contact/icon_back.svg") left 35px center / auto no-repeat,
				linear-gradient(to bottom, #F3F4F4 0%,#D9D9D9 60%);
	opacity: 0.8;
}


@media screen and (max-width: 768px){
	#confirm #contents .detail .inner table {
		margin: 0 0 6vh;
	}
	
	#confirm #contents .detail .inner table th {
		padding: 30px 0 10px;
		border-bottom: none;
	}
	
	#confirm #contents .detail .inner table td {
		padding: 0 0 10px;
	}
	
	#confirm #contents .detail .inner ul {
		flex-flow: row wrap;
		gap: 20px 0;
	}
	
	#confirm #contents .detail .inner ul li {
		width: 100%;
	}
	
    #confirm #contents .detail .inner ul li.back input[type=button],
	#confirm #contents .detail .inner ul li.back button {
		padding: 0 8vw;
		background: url("../../img/contact/icon_back.svg") left 20px center / auto no-repeat,
					linear-gradient(to bottom, #F3F4F4 0%,#D9D9D9 60%);
		font-size: 4.5vw;
	}
	
    #confirm #contents .detail .inner ul li.back input[type=button]:hover,
	#confirm #contents .detail .inner ul li.back button:hover {
		background: url("../../img/contact/icon_back.svg") left 20px center / auto no-repeat,
					linear-gradient(to bottom, #F3F4F4 0%,#D9D9D9 60%);
		opacity: 1;
	}
}





/*====================================================================================

		#thanks layout

====================================================================================*/

/*===============================================================

		#thanks #contents .detail layout

===============================================================*/

#thanks #contents .detail .inner ol.flow li:not(:first-child)::after {
	background-color: var(--base_blue);
}

#thanks #contents .detail .inner dl {
	margin: 130px 0 50px;
	text-align: center;
}

#thanks #contents .detail .inner dl dt {
	margin: 0 0 30px;
	color: var(--base_blue);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
}

#thanks #contents .detail .inner p.btn a {
	width: 100%;
	height: 74px;
	padding: 0 45px;
	background: url("../../img/contact/icon_arrow.svg") right 40px center / auto no-repeat,
				linear-gradient(to bottom, #008294 0%,#006c7b 60%);
	border: none;
	border-radius: 6px;
	display: flex;
	align-items: center;
    justify-content: center;
	text-align: left;
	position: relative;
	color: #fff;
	font-family: "Zen Kaku Gothic New", serif;
	font-size: 22px;
	font-weight: 700;
	transition: all .3s;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

#thanks #contents .detail .inner p.btn a:hover {
	background: url("../../img/contact/icon_arrow.svg") right 35px center / auto no-repeat,
				linear-gradient(to bottom, #008294 0%,#006c7b 60%);
	opacity: 0.8;
}


@media screen and (max-width: 768px){
	#thanks #contents .detail .inner dl {
		margin: 8vh 0 5vh;
	}
	
	#thanks #contents .detail .inner dl dt {
		margin: 0 0 30px;
		color: var(--base_blue);
		font-size: 5vw;
		font-weight: 700;
	}
	
	#thanks #contents .detail .inner dl dd {
		text-align: left;
	}
	
	#thanks #contents .detail .inner p.btn a {
		padding: 0 8vw;
		background: url("../../img/contact/icon_arrow.svg") right 20px center / auto no-repeat,
					linear-gradient(to bottom, #008294 0%,#006c7b 60%);
		font-size: 4.5vw;
	}
	
	#thanks #contents .detail .inner p.btn a:hover {
		background: url("../../img/contact/icon_arrow.svg") right 20px center / auto no-repeat,
					linear-gradient(to bottom, #008294 0%,#006c7b 60%);
		opacity: 1;
	}
}





/*====================================================================================

		#privacy layout

====================================================================================*/

/*===============================================================

		.privacy #contents .detail layout

===============================================================*/

#privacy #contents .detail {
	background: url("../../img/service/bg01.png") left -70px top 350px / 210.5px auto no-repeat;
}

#privacy #contents .detail .inner > p:first-of-type {
	max-width: 850px;
}

#privacy #contents .detail .inner p a {
	color: var(--base_blue);
	text-decoration: underline;
}

#privacy #contents .detail .inner p a:hover {
	text-decoration: none;
}

#privacy #contents .detail .inner dl.address {
	margin: 40px 0 0;
}

#privacy #contents .detail .inner dl.address dt {
	margin: 0 0 20px;
	display: flex;
	align-items: center;
	color: var(--base_blue);
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
}

#privacy #contents .detail .inner dl.address dt::before {
	content: "";
	width: 15px;
	height: 18px;
	margin-right: 5px;
	background: url("../img/icon_cube02.svg") left top / 100% auto no-repeat;
	display: block;
	flex-shrink: 0;
}


#privacy #contents .detail .inner .list {
	max-width: 911px;
	margin: 100px 0 0 auto;
}

#privacy #contents .detail .inner .list ol {
	counter-reset: list_num;
}

#privacy #contents .detail .inner .list > ol > li {
	margin: 0 0 30px;
}

#privacy #contents .detail .inner .list ol li h3 {
	margin: 0 0 30px;
	padding: 0 0 10px;
	border-bottom: solid 1px #D9E1E7;
	color: var(--base_black);
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}

#privacy #contents .detail .inner .list ol li ol li {
	display: flex;
	gap: 0 5px;
}

#privacy #contents .detail .inner .list ol li ol li::before {
	counter-increment: list_num;
	content: counter(list_num) ".";
}

#privacy #contents .detail .inner .list p span {
	font-size: 12px;
}


#privacy #contents .detail .inner .list p.enactment {
	width: 100%;
	position: relative;
}

#privacy #contents .detail .inner .list p.enactment span {
	position: absolute;
	top: 1.8em;
}

#privacy #contents .detail .inner .list .box {
	margin: 60px 0 0;
	display: flex;
	justify-content: space-between;
	gap: 0 20px;
}

#privacy #contents .detail .inner .list p.contact {
	flex-shrink: 0
}

#privacy #contents .detail .inner .list p.enactment {
	text-align: right;
}


@media screen and (max-width: 768px){
	#privacy #contents .detail {
		background: url("../../img/service/bg01.png") left -20% top 16% / 30% auto no-repeat;
	}
	
	#privacy #contents .detail .inner > p:first-of-type {
		max-width: inherit;
	}
	
	#privacy #contents .detail .inner dl.address {
		margin: 4vh 0 0;
	}
	
	#privacy #contents .detail .inner dl.address dt {
		font-size: 4vw;
	}
	
	
	#privacy #contents .detail .inner .list {
		max-width: inherit;
		margin: 10vh 0 0;
	}
	
	#privacy #contents .detail .inner .list ol li h3 {
		margin: 0 0 20px;
		padding: 0 0 8px;
		font-size: 4.5vw;
		line-height: 1.5;
	}
	
	#privacy #contents .detail .inner .list ol li ol li {
		display: flex;
		gap: 0 5px;
	}
	
	#privacy #contents .detail .inner .list .box {
		margin: 6vh 0 0;
		display: block;
	}
	
	#privacy #contents .detail .inner .list p.contact {
		margin: 0 0 4vh;
	}
	
	#privacy #contents .detail .inner .list p.enactment {
		text-align: right;
	}
}
