/*==================================
			index
==================================*/
/*========== header ==========*/
#headerNav {
	margin: 10px auto 0;
	padding: 20px 0 0 0;
}



/*========== main ==========*/
#mainWrap {
	width: 100%;
	height: 45vw;
	background: url(../img/main01.png) no-repeat 0 0, url(../img/main02.png) no-repeat right 0;
	background-size: contain, contain;
	z-index: 100;
}

#main {
	position: relative;
	width: 50%;
	margin: 0 auto;
	padding: 6% 0 0 0;
}

#main::after {
	position: absolute;
	top: 0;
	right: -5%;
	content: '';
	max-width: 375px;
	width: 26vw;
	max-height: 375px;
	height: 26vw;
	background: #ffffff;
	border-radius: 50%;
	z-index: -1;
	box-shadow: 0 0 15px rgba(174, 23, 135, 0.1);
}

#main h1 {
	max-width: 825px;
	margin: 0 0 0 -10%;
	justify-content: center;
}

#main h1 span {
	display: block;
}

#main h1 span img {
	max-width: 100%;
	vertical-align: middle;
}

@media screen and (max-width: 480px){
#mainWrap {
	height: auto;
	background: url(../img/main01.png) no-repeat 0 0, url(../img/main02.png) no-repeat right bottom;
	background-size: 57%, 43%;
	z-index: 100;
}

#main {
	width: 100%;
}

#main::after {
	width: 65vw;
	height: 65vw;
	top: auto;
	bottom: -2%;
	left: 0;
	right: auto;
}
	
#main h1 {
	max-width: 100%;
	margin: 0;
	flex-wrap: wrap;
}

#main h1 span:first-child {
	margin: 0 5% 10% 30%;
}

#main h1 span:last-child {
	margin: 15% 40% 15% 5%;
}
}



/*========== contents ==========*/
#contents {
	width: 95%;
	max-width: 1000px;
	margin: -10.25% auto 0;
	flex-wrap: wrap;
}

#contents > div {
	width: 48%;
}

#contents div h2 {
	font-size: 140%;
	font-weight: bold;
}

@media screen and (max-width: 480px){
#contents {
	margin: 50px auto 0;
}
}


/*========== news・blog ==========*/
#contents #news,
#contents #blog {
	position: relative;
	padding: 0 1.0rem 1.0rem 2.5rem;
	background: #ffffff;
	border-radius: 24px;
	text-align: center;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.11);
}

#contents #news::before,
#contents #blog::before {
	position: absolute;
	top: 0;
	left: 0;
	content: '';
	width: 15px;
	height: 100%;
	border-radius: 24px 0 0 24px;
}

#contents #news::after,
#contents #blog::after {
	position: absolute;
	top: 0;
	left: 15px;
	content: '';
	width: 5px;
	height: 100%;
	background: url(../img/common/bg_gray.jpg) repeat 0 0;
}

#contents #news h2,
#contents #blog h2 {
	position: relative !important;
	display: inline-block;
	margin: -3.5rem 0 0 0;
	padding: 1.5rem;
	border-radius: 5.0rem;
	color: #ffffff;
}

#contents #news .flex,
#contents #blog .flex {
	height: 90%;
	flex-direction: column;
	align-content: space-between;
}

#contents #news ul,
#contents #blog ul {
	text-align: left;
}

#contents #news ul li,
#contents #blog ul li {
	margin: 2.0rem 0;
	text-indent: -6.25rem;
	padding-left: 7.75rem;
	text-align: justify;
}

#news ul li a,
#blog ul li a {
	word-break: break-all;
}

/*= ver.purple =*/
.purple #news::before,
.purple #blog::before {
	background: #ae1c87;
}

.purple #news h2,
.purple #blog h2 {
	background: #ae1c87;
	text-shadow: none !important;
}

.purple #news li,
.purple #blog li {
	background: url(../img/common/i_arrow_p.svg) no-repeat 0 -4px;
}



/*========== その他 ==========*/
#contents > div {
	position: relative;
	margin: 0 0 100px 0;
}

#contents h2 {
	margin: 2.0rem 0 1.0rem 0;
	text-shadow: 1px 1px 0 #ffffff;
}

#contents > div:nth-child(4n+1) h2,
#contents > div:nth-child(4n+2) h2 {
	position: absolute;
	z-index: 100;
}

#contents p {
	line-height: 1.8;
	margin: 0 0 1.0rem 0;
}

#contents > div:nth-child(4n+1) p,
#contents > div:nth-child(4n+2) p {
	margin: 4.5rem 0 1.0rem 0;
}

#contents > div:nth-child(4n+1) .phBox img,
#contents > div:nth-child(4n+2) .phBox img {
	max-width: 55%;
	margin: 0 0 0 1.5rem;
	float: right;
	border-radius: 50%;
	shape-outside: circle();
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.11);
}

#contents > div:nth-child(4n+3) .phBox img,
#contents > div:nth-child(4n) .phBox img {
	max-width: 55%;
	margin: 0 1.5rem 0 0;
	float: left;
	border-radius: 50%;
	shape-outside: circle();
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.11);
}

#contents > div p {
	text-align: justify;
}

#contents > div .enTtl {
	max-width: 55%;
	position: absolute;
	top: -5.5%;
    z-index: 100;
}

#contents > div:nth-child(4n+1) .enTtl,
#contents > div:nth-child(4n+2) .enTtl {
	left: 45%;
}

#contents > div .enTtl img {
	max-width: 100%;
}

#contents .phBox div {
	position: relative;
	padding: 50%;
	border-radius: 50%;
	overflow: hidden;
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.11);
	shape-outside: circle(132px at 56.65% 83.4%);
}

#contents .phBox div img {
	position: absolute;
	top: 0;
	left: 0;
	max-width: 100%;
	border-radius: 100%;
	shape-outside: circle();
}

.btnLink a {
	margin: 1.0rem 0;
}


@media screen and (max-width: 768px){
#contents > div {
	position: relative;
	margin: 0 0 50px 0;
}

#contents h2 {
	margin: 1.0rem 0;
}

#contents > div:nth-child(4n+1) p,
#contents > div:nth-child(4n+2) p {
	margin: 3.5rem 0 1.0rem 0;
}

#contents p {
	font-size: 80%;
}
}



@media screen and (max-width: 480px){
#contents > div {
	width: 100%;
}

#contents > div:nth-child(4n+1) h2,
#contents > div:nth-child(4n+3) h2 {
	position: absolute;
	z-index: 100;
}

#contents > div:nth-child(4n+2) h2 {
	position: inherit;
}

#contents > div:nth-child(4n+1) p,
#contents > div:nth-child(4n+3) p {
	margin: 3.5rem 0 1.0rem 0;
}

#contents > div:nth-child(4n+2) p {
	margin: 0 0 1.0rem 0;
}

#contents > div:nth-child(4n+1) .phBox img,
#contents > div:nth-child(4n+3) .phBox img {
	max-width: 55%;
	margin: 0 0 0 1.5rem;
	float: right;
	border-radius: 50%;
	shape-outside: circle();
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.11);
}

#contents > div:nth-child(4n+2) .phBox img,
#contents > div:nth-child(4n) .phBox img {
	max-width: 55%;
	margin: 0 1.5rem 0 0;
	float: left;
	border-radius: 50%;
	shape-outside: circle();
	box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.11);
}

#contents > div:nth-child(4n+1) .enTtl,
#contents > div:nth-child(4n+3) .enTtl {
	left: 45%;
}

#contents > div:nth-child(4n+2) .enTtl {
	left: 0;
}
}



/*= ver.purple =*/
.purple #contents h2 {
	color: #ae1c87;
	text-shadow: 1.5px 1.5px 0 #ffffff;
}

.purple #contents > div .enTtl img {
	color: rgba(174, 28, 135, 0.25);
	fill: currentColor;
}



