@charset "utf-8";

/*-------------------------*/
/*--- index共通 -----------*/
/*-------------------------*/

section {
	margin-bottom: 80px;
}
#main h2 {
    height: 70px;
    line-height: 1.0;
	padding-left: 81px;
	margin-bottom: 50px;
	font-size: 5.0rem;
	font-family: 'Bellefair', serif;
	letter-spacing: 0.25rem;
	position: relative;
}
#main h2 > span {
	display: block;
	letter-spacing: 0.125rem;
	font-size: 1.6rem!important;
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
}
#main h2::before,
#main h2::after {
	content: '';
	position: absolute;
	top: 0;
}
#main h2::before {
	border-top: 35px solid transparent;
    border-right: 14px solid #ec79a7;
    border-bottom: 35px solid #ec79a7;
    border-left: 14px solid transparent;
	left: 0;
}
#main h2::after {
	border-top: 35px solid #ec79a7;
    border-right: 14px solid transparent;
    border-bottom: 35px solid transparent;
    border-left: 14px solid #ec79a7;
    left: 28px;
}
#main h3 {
    line-height: 1.6;
    margin-bottom: 40px;
    font-size: 3.0rem;
    font-weight: bold;
}
@media only screen and (max-width:999px) {
	#main h2 {
		height: auto;
		padding-left: 73px;
		font-size: 3.0rem;
	}
	#main h2::before {
		border-top: 30px solid transparent;
		border-right: 12px solid #ec79a7;
		border-bottom: 30px solid #ec79a7;
		border-left: 12px solid transparent;
	}
	#main h2::after {
		border-top: 30px solid #ec79a7;
		border-right: 12px solid transparent;
		border-bottom: 30px solid transparent;
		border-left: 12px solid #ec79a7;
		left: 24px;
    
	}
	#main h2 > span {
		padding-top: 10px;
	}
	#main h3 {
		font-size: 2.8rem;
	}
}

/*-------------------------*/
/*--- .topContents --------*/
/*-------------------------*/

.mainimage img { width: 100%; }

.slick-dotted.slick-slider {
    margin-bottom: 0!important;
}
.slick-slide img { /* 画像下の隙間削除 */
	min-height: 680px;
    object-fit: cover;
	vertical-align: bottom;
	display: inline!important;
}
/*スライド　dots調整　ここから*/
.slick-dots {
	display: flex!important;
	max-width: calc(100% - ((( 100% - 1440px ) / 2) + 60px));
	min-width: 100px;
	margin: 0 auto!important;
    left: calc((( 100% - 1440px ) / 2) + 60px);
	right: 0;
    bottom: 165px!important;
	z-index: 1;
}
.slick-dots li {
	display: block!important;
    width: 10px!important;
    height: 10px!important;
    margin: 0 10px 0 0!important;
}
.slick-dots li:last-child {
    margin: 0 0 0 0!important;
}
.slick-dots li button {
    width: 10px!important;
    height: 10px!important;
    padding: 0!important; 
    margin-right: 10px;
}
.slick-dots li button:before {
    line-height: 10px!important;
    width: 10px!important;
    height: 10px!important;
    content: ''!important;;
    border: solid 1px #ec79a7;
	opacity: 1.0!important;
	box-sizing: border-box;
}
.slick-dots li.slick-active button:before {
    opacity: 1.0!important;
    background: #ec79a7;
}
/*スライド　dots調整　ここまで*/
.maintext {
	max-width: 1440px;
    min-width: 720px;
    display: flex;
    align-items: center;
    margin: 0 auto 75px;
    position: absolute;
    top: auto;
    left: 0;
    right: 0;
    bottom:50px;
}
.maintext {
    width: 720px;
    margin-left: calc(( 100% - 1440px ) / 2 );
    padding: 50px 50px 65px;
    background: rgba( 255,255,255,0.75);
}
.maintext > div:nth-of-type(1) {
	margin-bottom: 15px;
}
.maintext img {
	vertical-align: bottom;
}
.maintext > p {
	font-size: 1.4rem;
	line-height: 30px;
	text-shadow: 1px 1px 5px #fff, -1px 1px 5px #fff, 1px -1px 5px #fff, -1px -1px 5px #fff;
}
@media only screen and (max-width:999px) {

	.slick-slide img { /* 画像下の隙間削除 */
		min-height: auto;
        height:30vh;
		vertical-align: bottom;
		display: inline!important;
        /*margin-bottom:15vh;*/
	}
	.slick-dots {
		width: 100%;
		max-width: 100%;
		min-width: initial;
		bottom: auto!important;
		right: 10px;
        top:10px;
        left:auto!important;
        justify-content: flex-end;
	}
	.maintext {
		width: 100%;
		max-width: 100%;
		min-width: initial;
		margin: 0 auto;
		position: static;
		padding: 10px;
        bottom:0px;
	}
	.maintext > div:nth-of-type(1) {
		margin-bottom: 0;
	}
	.maintext img {
		width: 100%;
	}
	.maintext > p {
		font-size: 1.4rem;
		line-height: 25px;
	}
}

/*-------------------------*/
/*--- #underLinks ---------*/
/*-------------------------*/

.uL-inner {
	display: flex;
	background: var(--main-color);
}
.uL-inner::before,
.uL-inner::after {
	content: "";
	display: block;
	width: calc(( 100vw - 1200px ) / 2 );
	background: var(--main-color);
}
.uL-inner::before {	margin-left: calc(( 1200px - 100vw ) / 2 ); }
.uL-inner::after { margin-right: calc(( 1200px - 100vw ) / 2 ); }

.uL-inner > ul {
	display: flex;
	width: 100%;
	padding: 40px 0;
}
.uL-inner > ul li {
	width: calc(( 100% - 120px ) / 4 );
	margin: 0 40px 0 0;
}
.uL-inner > ul li:last-child { margin: 0; }

.uL-inner > ul li a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	height: 90px;
	background: #fff;
	text-align: center;
	text-decoration: none;
	color: #333;
	font-weight: bold;
	position: relative;
}
.uL-inner > ul li a span{
	color: #ec79a7; 
}
.uL-inner > ul li a::after {
	content: '';
	display: block;
	width: 28px;
	height: 14px;
	background-image: url("../images/contents/index/underLink-arrow.png");
	position: absolute;
	right: 10px;
	bottom: 20px;
	transition: all 1s;
}
.uL-inner > ul li:hover a::after {
	right: 0;
	transition: all 1s;
}
@media only screen and (max-width: 1200px) {
	.uL-inner::before,
	.uL-inner::after {
		display: none;
	}
}
@media only screen and (max-width:999px) {
	.uL-inner::before,
	.uL-inner::after {
		content: "";
		display: block;
		width: 15px;
		background: var(--main-color);
	}
	.uL-inner::before {	margin-left: -15px; }
	.uL-inner::after { margin-right: -15px; }
	
	.uL-inner > ul {
		display: block;
		width: 100%;
		padding: 20px 0;
	}
	.uL-inner > ul li {
		width: 100%;
		margin: 0 0 10px 0;
	}
	.uL-inner > ul li a {
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		height: 90px;
		background: #fff;
		text-align: center;
		text-decoration: none;
		color: #333;
	}
	.uL-inner > ul li a span{
		color: #ec79a7; 
	}
}

/*-------------------------*/
/*--- #event --------------*/
/*-------------------------*/

.event-inner {
	display: flex;
	background: #f7f7f7;
}
.event-inner::before,
.event-inner::after {
	content: "";
	display: block;
	width: calc(( 100vw - 1200px ) / 2 );
	background: #f7f7f7;
}
.event-inner::before {	margin-left: calc(( 1200px - 100vw ) / 2 ); }
.event-inner::after { margin-right: calc(( 1200px - 100vw ) / 2 ); }

.event-inner > div {
	width: 100%;
	padding: 60px 0;
}
ul.singleList {
	display: flex;
	width: 100%;
	margin-bottom: 40px;
}
ul.singleList li {
	width: calc(( 100% - 120px ) / 4 );
	margin: 0 40px 0 0;
	position: relative;
}
ul.singleList li:last-child { margin: 0; }

ul.singleList li::after {
	content: '';
	border-top: 7px solid transparent;
    border-right: 7px solid #ec79a7;
    border-bottom: 7px solid #ec79a7;
    border-left: 7px solid transparent;
	position: absolute;
	right: 0;
	bottom: 0;
}
.singleCategory a {
	display: inline-block;
	padding: 5px 10px;
	background: #0a0a0a;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	letter-spacing: 0.3rem;
	text-decoration: none;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 5;
}
ul.singleList li a.single-thum {
	display: flex;
	align-items: center;
	height: 208px;
	overflow: hidden;
}
ul.singleList li a.single-thum img {
	transition: all 1s;
}
ul.singleList li a.single-thum:hover img {
	transform: scale(1.1);
	transition: all 1s;
}
ul.singleList li div.single-tittle a {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 90px;
	padding: 20px 30px;
	font-size: 1.4rem;
	text-decoration: none;
	letter-spacing: 0.125rem;
	color: #333;
	background: #fff;
}
@media only screen and (max-width: 1200px) {
	.event-inner::before,
	.event-inner::after {
		display: none;
	}
}
@media only screen and (max-width:999px) {
	.event-inner {
		display: flex;
		background: #f7f7f7;
		margin: 0 -15px;
	}
	.event-inner::before,
	.event-inner::after {
		display: none;
	}
	.event-inner > div {
		width: 100%;
		padding: 50px 20px 60px;
	}
	ul.singleList {
		display: block;
		width: 100%;
	}
	ul.singleList li {
		width: 100%;
		margin: 0 0 15px 0;
	}
	ul.singleList li a.single-thum {
		display: flex;
		align-items: center;
		height: 300px;
		overflow: hidden;
	}
	ul.singleList li a.single-thum img {
		width: 100%;
	}
}
/*-------------------------*/
/*--- #news ---------------*/
/*-------------------------*/

.news-inner {
	display: flex;
}
.news-inner > div:nth-of-type(1) {
	width: 600px;
	margin-right: 80px;
}
.news-inner > div:nth-of-type(2) {
	width: calc( 100% - 680px );
}
#news .newsList1Date::after {
    display: none;
}
@media only screen and (max-width:999px) {
	.news-inner {
		display: block;
		padding-bottom: 70px;
		position: relative;
	}
	.news-inner .linkMore2 {
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
	}
	.news-inner > div:nth-of-type(1) {
		width: 100%;
		margin: 0;
		padding-bottom: 10px;
	}
	.news-inner > div:nth-of-type(2) {
		width: 100%;
	}
}
/*-------------------------*/
/*--- #customHome ---------*/
/*-------------------------*/

#customHome {
	margin-top: 160px;
}
.cH-inner {
	display: flex;
	height: 540px;
	background: var(--main-color);
	position: relative;
}
.cH-inner::before,
.cH-inner::after {
	content: "";
	display: block;
	background: var(--main-color);
}
.cH-inner::before {	
	width: calc(( 100vw - 1200px ) / 2 );
	margin-left: calc(( 1200px - 100vw ) / 2 );
}
.cH-inner::after { 
	width: calc((( 100vw - 1200px ) / 2 ) - 240px );
	margin-right: calc((( 1200px - 100vw ) / 2 ) - 240px );
}
.cH-inner > div {
	width: 100%;
}
.cH-imgBox {
	position: absolute;
	top: -80px;
	right: calc(( 1200px - 100vw ) / 2 );
	height: 540px;
	overflow: hidden;
}
.cH-textBox {
	position: absolute;
	top: 80px;
}
.cH-textImg {
	margin: 0 0 40px -120px;
}
.cH-textImg img { vertical-align: bottom; }

.cH-textBox h3 {
	height: 90px;
    color: #fff;
}

.cH-inner .linkMore2.short a{
	padding: 0 40px;
}
@media only screen and (max-width:1440px) {
	.cH-textImg {
		margin: 0 0 40px 0px;
	}
}
@media only screen and (max-width:999px) {
	#customHome {
		margin-top: 0;
	}
	.cH-inner {
		display: block;
		height: auto;
		margin: 0 -15px;
	}
	.cH-inner::before,
	.cH-inner::after {
		display: none;
	}
	.cH-inner > div {
		width: 100%;
	}
	.cH-imgBox {
		position: static;
		height: auto;
	}
	.cH-textBox {
		position: static;
		padding: 15px 15px 60px 15px;
	}
	.cH-textImg {
		margin: -50px 0 25px 0;
	}
	.cH-textBox h3 {
		height: auto;
		text-align: center;
		margin-bottom: 25px;
	}
}

/*-------------------------*/
/*--- #property -----------*/
/*-------------------------*/

.property-inner {
	width: 100vw;
	padding: 50px 0 80px;
	margin-left: calc(( 1200px - 100vw ) / 2 );
	background: #f7f7f7;
}
#property ul.propertyList li {
	width: 360px!important;
	margin: 0 30px!important;
}
#property .singleText a {
	display: block;
	padding: 35px 30px;
	text-decoration: none;
	color: #0a0a0a;
	background: #fff;
}
#property .single-tittle {
	margin-bottom: 15px;
	font-weight: bold;
	letter-spacing: 0.125rem;
}
#property .single-contents {
	color: #808080;
	font-size: 1.4rem;
	letter-spacing: 0.125rem;
}
#property .single-contents p {
	margin-bottom: 0!important;
}
@media only screen and (max-width: 1200px) {
	.property-inner {
		margin-left: 0;
	}
}
@media only screen and (max-width:999px) {
	.property-inner {
		width: calc(100% + 30px);
		padding: 50px 0 80px;
		margin: 0 -15px;
		background: #f7f7f7;
	}
	#property ul.propertyList li {
		width: 320px!important;
		margin: 0 5px!important;
	}	
	.propertyList .slick-slide div {display: block!important;}
	.propertyList .slick-prev {
		z-index: 1;
		left: 0px;
	 }
	.propertyList .slick-next {
		z-index: 1;
		right: 0px;
	 }
	.propertyList .slick-prev,
	.propertyList .slick-next{
		width: 30px; height: 30px;
		background: #000;
		border-radius: 20px;
	}
	.propertyList .slick-prev:hover,
	.propertyList .slick-prev:focus,
	.propertyList .slick-next:hover,
	.propertyList .slick-next:focus{
		color: #fff;
		outline: none;
		background: #000;
	}
	.propertyList .slick-prev:before,
	.propertyList .slick-next:before {
		font-size: 18px;
		color: #fff;
		opacity: 1;
		font-family: "Font Awesome 5 Free";
		font-weight: 900;
	}
	.propertyList .slick-prev:before {content: "\f053"; padding-right: 3px;}
	.propertyList .slick-next:before {content: "\f054"; padding-left: 3px;}
}

/*-------------------------*/
/*--- #about --------------*/
/*-------------------------*/

.about-inner {
	display: flex;
	justify-content: space-between;
	position: relative;
}
.about-inner::before {
	content: '';
	display: block;
	width: 580px;
	height: 360px;
	background: var(--main-color);
	position: absolute;
	top: -80px;
	right: calc(( 1200px - 100vw ) / 2 );
	z-index: -1;
}
.about-textBox {
	padding-top: 20px;
	letter-spacing: 0.125rem;
}
.about-textBox h3 {
	height: 140px;
    color: #0a0a0a;
}
.about-imgBox {
	width: 940px;
	margin-right: -240px;
}
.about-imgBox img {
	vertical-align: bottom;
}
@media only screen and (max-width:999px) {
	.about-inner {
		display: block;
	}
	.about-inner::before {
		display: none;
	}
	.about-textBox {
		padding: 0 0 60px 0;
	}
	.about-textBox h3 {
		height: auto;
		font-size: 2.4rem!important;
	}
	.about-imgBox {
		width: 100vw;
		margin: 0 -15px;		
		background: var(--main-color);
	}
}

/*-------------------------*/
/*--- #voice --------------*/
/*-------------------------*/

.voice-inner {
	width: 100vw;
	padding: 80px 0 70px;
	margin-left: calc(( 1200px - 100vw ) / 2 );
	background: #f7f7f7;
}
.voice-inner > div {
	max-width: 1200px;
	min-width: 1000px;
	margin: 0 auto;
}
ul.voiceList {
	display: flex;
	margin-bottom: 40px;
}
ul.voiceList li {
	width: calc( 100% - 120px );
	height: 270px;
	margin: 0 40px 0 0;
	overflow: hidden;
	position: relative;
}
ul.voiceList li:last-child { margin: 0; }

.voiceListThum img {
	height: 270px;
	vertical-align: bottom;
    object-fit: cover;
	transition: all 1s;
}
li:hover .voiceListThum img {
	transform: scale( 1.1 );
	transition: all 1s;
}
.voiceListTitle a {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 270px;
	height: 270px;
	padding: 0 40px;
	background: rgba( 0, 0, 0, 0.5 );
	text-decoration: none;
	letter-spacing: 0.125rem;
	color: #fff;
	font-size: 1.4rem;
	font-weight: bold;
	position: absolute;
	top: 0;
	left: 0;
	transition: all 1s;
	opacity: 0;
}
li:hover .voiceListTitle a {
	transition: all 1s;
	opacity: 1.0;
}
@media only screen and (max-width: 1200px) {
	.voice-inner {
		margin-left: 0;
	}
}
@media only screen and (max-width:999px) {
	.voice-inner {
		width: calc(100% + 30px);
		padding: 80px 15px 70px;
		margin: 0 -15px;
		background: #f7f7f7;
	}
	.voice-inner > div {
		min-width: auto;
		min-width: initial;
		width: 100%;
	}
	ul.voiceList {
		display: block;
		margin-bottom: 40px;
	}
	ul.voiceList li {
		width: 100%;
		height: auto;
		margin: 0 auto 10px;
	}
	.voiceListThum img {
		height: auto;
	}
	.voiceListThum > a{
		width:100%;
		display:block;
		overflow: hidden;
		position:relative;
	}
	.voiceListThum > a > img{
		position: absolute;
		top: 50%;
		left: 50%;
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		width: 100%;
		height: 100%;
	}
	.voiceListThum > a::before{
		content:"";
		padding-top:100%;
		display:block;
	}
	li:hover .voiceListThum img {
		-webkit-transform: translate(-50%, -50%);
		-ms-transform: translate(-50%, -50%);
		transform: translate(-50%, -50%);
		transition: all 1s;
	}
	.voiceListTitle a {
		width: 100%;
		height: 100%;
	}
}

/*-------------------------*/
/*--- #blog-columu --------*/
/*-------------------------*/

#conference {
    width: 100vw;
    padding: 150px 0;
    margin-left: calc(( 1200px - 100vw ) / 2 );
	margin-bottom: 0;
	background: url(../images/contents/index/conference-bg-pc.jpg) no-repeat center / cover;
}
.conference-inner {
	min-width: 1000px;
	max-width: 1115px;
	margin: 0 auto;
}
.conference-inner p {
	margin: 0!important;
}
@media only screen and (max-width:999px) {
	#conference {
		width: 100vw;
		padding: 50px 15px;
		margin-left: -15px;
		background: url(../images/contents/index/conference-bg-sp.jpg) no-repeat center / cover;
	}
	.conference-inner {
		min-width: 100%;
		max-width: 100%;
		margin: 0 auto;
		height: 100%;
		background: rgba( 255, 255, 255, 0.5);
		padding: 50px 15px;
	}
	.conference-inner h2 {
		padding-left: 55px!important;
		letter-spacing: 0!important;
		margin-bottom: 25px!important;
	}
	.conference-inner p {
		margin: 0!important;
	}
}

/*-------------------------*/
/*--- #blog-columu --------*/
/*-------------------------*/

.blog-columu-inner {
	display: flex;
}
.blog-inner,
.columu-inner {
	width: 50%;
	padding: 60px 0 50px;
}
.blog-inner {
	padding-right: 30px;
	background: #f7f7f7;
	position: relative;
}
.blog-inner::before {
	content: "";
    display: block;
    width: calc(( 100vw - 1200px ) / 2 );
    height: 100%;
    background: #f7f7f7;
    position: absolute;
	top: 0;
}
.blog-inner::before { left: calc(( 1200px - 100vw ) / 2 ); }

.columu-inner {
	margin-left: 30px;
}
#blog-columu .linkMore1 {
	text-align: right;
    margin: 0;
}
#blog-columu .linkMore1 a {
	display: inline-block;
	min-width: auto;
	height: auto;
	line-height: normal;
	padding: 0;
	background: none;
	text-align: right;
	text-decoration: none;
	border-radius: 0;
	border: none;
    position: static;
    transition: none;
	font-weight: bold;
	color: #0d0d0d;
}
#blog-columu .linkMore1 a:hover {
	text-decoration: underline;
}
#blog-columu .linkMore1 a::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f105";
	margin-top: 0;
	position: static;
	color: #0d0d0d;
	margin-left: 15px;
}
@media only screen and (max-width:999px) {
	.blog-columu-inner {
		display: block;
	}
	.blog-inner,
	.columu-inner {
		width: calc(100% + 30px);
		padding: 60px 15px 50px;
	}
	.blog-inner {
		padding-right: 15px;
		margin: 0 -15px;
	}
	.blog-inner::before {display: none;}
	.blog-inner::before {display: none;}

	.columu-inner {
		margin: 0 -15px;
	}
}

/*-------------------------*/
/*--- #consultation -------*/
/*-------------------------*/

.consultation-inner {
	width: 100vw;
	height: 600px;
	padding: 90px 0 80px;
	margin-left: calc(( 1200px - 100vw ) / 2 );
	background-image: url("../images/contents/index/consultation-bg.jpg");
	text-align: center;
}
.consultation-inner h3 {
	display: inline-block;
	height: 40px;
    line-height: 40px!important;
	margin: 0 0 50px 0!important;
	font-size: 4.0rem!important;
	font-weight: bold!important;
	color: #fff;
	text-align: center;
	position: relative;
	z-index: 2;
}
.consultation-inner h3 span {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-width: 120px;
	height: 120px;
	border-radius: 50%;
	color: #fff;
	text-align: center;
	background: #ec79a7;
	font-size: 2.1rem!important;
	line-height: 1.4!important;
	letter-spacing: 0.3rem;
	position: absolute;
	top: -60px;
	left: -100px;
	z-index: -1;
}
.consultation-list {
	display: flex;
	justify-content: center;
	margin-bottom: 40px;
}
.consultation-list li {
	margin: 0 30px 0 0;
	position: relative;
	z-index: 2;
}
.consultation-list li:last-child {
	margin: 0 0 0 0;
}
.consultation-list li:nth-of-type(3)::after {
	content: '';
	display: block;
	width: 210px;
	height: 177px;
	background-image: url("../images/contents/index/consultation-illust.png");
	position: absolute;
    top: -140px;
    right: -103px;
    z-index: -1;		
}
.consultation-list li img {
	vertical-align: bottom;
}
@media only screen and (max-width: 1200px) {
	.consultation-inner {
		margin-left: 0;
	}
}
@media only screen and (max-width:999px) {
	.consultation-inner {
		width: calc(100% + 30px);
		height: auto;
		padding: 90px 0 80px;
		margin: 0 -15px;
		background-image: url("../images/contents/index/consultation-bg.jpg") center bottom;
		background-size: cover;
	}
	.consultation-inner h3 {
		font-size: 3.0rem!important;
		margin-bottom: 90px!important;
	}
	.consultation-inner h3 span {
		min-width: 80px;
		height: 80px;
		font-size: 1.6rem!important;
		top: -60px;
		left:-45px;
	}
	.consultation-list {
		padding: 0 10px;
		margin-bottom: 40px;
	}
	.consultation-list li {
		margin: 0 10px 0 0;
	}
	.consultation-list li:nth-of-type(3)::after {
		content: '';
		display: block;
		width: 120px;
		height: 101px;
		background-size: 100%;
		position: absolute;
		top: -80px;
		right: -0px;
		z-index: -1;		
	}
}
/*-------------------------*/
/*--- #serviceLinkBox -----*/
/*-------------------------*/

ul.serviceLink {
	display: flex;
	flex-wrap: wrap;
	margin-bottom: 60px;
}
ul.serviceLink li {
	width: calc(( 100% - 60px ) / 2 );
	margin: 0 60px 60px 0;
}
ul.serviceLink li:nth-child(n+3) {
	margin: 0 60px 0 0;
}
ul.serviceLink li:nth-of-type(2n) {
	margin-right: 0!important;
}
ul.serviceLink li a {
	display: block;
	text-decoration: none;
	color: #0a0a0a;
}
ul.serviceLink li .serviceLinkImg {
	display: block;
	height: 180px;
	overflow: hidden;
	margin-bottom: 20px;
}
ul.serviceLink li .serviceLinkImg img {
	vertical-align: bottom;
	transition: all 1s;
}
ul.serviceLink a:hover img {
	transform: scale( 1.1 );
	transition: all 1s;
}
#serviceLinkBox h2 {
    height: 60px!important;
    line-height: 1.3!important;
	font-size: 3.0rem!important;
	padding-left: 73px!important;
}
#serviceLinkBox h2::before {
	border-top: 30px solid transparent!important;
    border-right: 12px solid #ec79a7!important;
    border-bottom: 30px solid #ec79a7!important;
    border-left: 12px solid transparent!important;
	left: 0;
}
#serviceLinkBox h2::after {
	border-top: 30px solid #ec79a7!important;
    border-right: 12px solid transparent!important;
    border-bottom: 30px solid transparent!important;
    border-left: 12px solid #ec79a7!important;
    left: 24px;
}
ul.externalLink {
	display: flex;
}
ul.externalLink::after {
	display: none;
}
ul.externalLink li {
	width: calc(( 100% - 40px ) / 2 );
	margin: 0 40px 0 0;
}
ul.externalLink li:last-child {
	margin: 0 0 0 0;
}
ul.externalLink li a {
	display: block;
	text-align: center;
	background: #fff;
	border: solid 1px #ccc;
}
ul.externalLink li img {
	vertical-align: bottom;
}
@media only screen and (max-width:999px) {
	ul.serviceLink {
		display: block;
	}
	ul.serviceLink li {
		width: 100%;
		margin: 0 0 25px 0;
	}
	ul.serviceLink li:nth-child(n+3),
	ul.externalLink li:last-child {
		margin: 0 0 25px 0;
	}
	ul.serviceLink li .serviceLinkImg {
		height: auto;
	}
	.serviceLinkText {
		padding-bottom: 60px;
	}
	#serviceLinkBox h2 {
		height: auto!important;
	}
}

/*-------------------------*/
/*--- #officiakSNS --------*/
/*-------------------------*/

.sns-inner {
	width: 100vw;
	padding: 60px 0;
	margin-left: calc(( 1200px - 100vw ) / 2 );
	background: #f7f7f7;
}
#officiakSNS h2 {
    height: 45px;
	padding-left: 0;
	text-align: center;
}
#officiakSNS h2::before,
#officiakSNS h2::after {
	display: none;	
}
ul.snsList {
	max-width: 1200px;
	min-width: 1000px;
	margin: 0 auto;
	display: flex;
	justify-content: center;
}
ul.snsList li {
	width: 340px;
	margin-right: 30px;
}
ul.snsList li:last-child {
	margin-right: 0;
}
ul.snsList li a {
	display: block;
	width: 100%;
	text-align: center;
	background: #fff;
	border: solid 1px #ccc;
}
ul.snsList li img {
	vertical-align: bottom;
}
@media only screen and (max-width: 1200px) {
	.sns-inner {
		margin-left: 0;
	}
}
@media only screen and (max-width:999px) {
	.sns-inner {
		width: calc(100% + 30px);
		padding: 60px 15px;
		margin: 0 -15px;
	}
	#officiakSNS h2 {
		height: auto;
		margin-bottom: 40px;
		font-size: 2.8rem;
	}
	ul.snsList {
		min-width: auto;
		min-width: initial;
		width: 100%;
		display: block;
	}
	ul.snsList li {
		width: 100%;
		margin: 0 0 15px 0;
	}
}
/*-------------------------*/
/*--- #contact ------------*/
/*-------------------------*/

.contact-inner {
	width: 100vw;
	padding: 80px 0;
	margin-left: calc(( 1200px - 100vw ) / 2 );
	background: var(--main-color);
}
#contact h2 {
	height: 90px;
    line-height: 1.0;
	padding-left: 0;
	color: #fff;
	text-align: center;
}
#contact h2::before,
#contact h2::after {
	display: none;	
}
#contact h2 span {
    margin-top: 20px;
}
ul.contactList {
	max-width: 1200px;
	min-width: 1000px;
	margin: 0 auto;
	display: flex;
}
ul.contactList li {
	width: calc(( 100% - 80px ) / 3 );
	/*width: calc(( 100% - 120px ) / 4 );*/
	margin: 0 40px 0 0;
}
ul.contactList li:last-child {
	margin: 0;
}
ul.contactList li a {
	display: block;
	height: 60px;
	line-height: 60px;
	color: #fff;
	border: solid 1px #fff;
	font-size: 1.8rem;
	font-weight: bold;
	letter-spacing: 0.125rem;
	text-align: center;
	text-decoration: none;
	 transition: all 0.3s ease;
}
ul.contactList li a:hover {
	color: var(--main-color);
	background: #fff;
	 transition: all 0.3s ease;
}
@media only screen and (max-width: 1200px) {
	.contact-inner {
		margin-left: 0;
	}
}
@media only screen and (max-width:999px) {
	.contact-inner {
		width: calc(100% + 30px);
		margin: 0 -15px;
		padding: 80px 15px;
	}
	#contact h2 {
		height: auto;
		font-size: 3.0rem;
	}
	ul.contactList {
		min-width: auto;
		min-width: initial;
		width: 100%;
		display: block;
	}
	ul.contactList li {
		width: 100%;
		margin: 0 0 15px 0;
	}
}

/*------------------------------*/
/*--- #externalLink ------------*/
/*------------------------------*/

#externalLink a {
	display: block;
	border: solid 1px #eee;
}
#externalLink img {
	display: block;
}
#externalLink a:hover img {
	opacity: 0.8;
}



































