@charset "UTF-8";



/* common
-----------------------------------------------*/
div#header div.inner{
	margin-bottom:0;
}
div.inner{
	position:relative;
	margin:0 auto 120px;
}
div#contents h2.ttl {
	margin: 0 auto 30px;
	padding: 0;
	font-family: 'TekitouPoem';
	color: #464646;
	font-size: 60px;
	text-align: center;
	border-radius: 0;
}

div#contents span.tag,
div#contents ul.dots_wrap li:after{
	width:12em;
	display:block;
	margin:0 auto;
	padding:13px 15px 15px;
	color:#fff;
	font-size:20px;
	text-align:center;
	letter-spacing:0.1em;
	transition:all 0.3s linear;
}
div#contents div#initiatives ul li span.tag:hover,
div#contents ul.dots_wrap li:hover:after{
	background-color:orange;
}
h3.ttl{
	font-weight:bold;
}
@media screen and (max-width:540px){
	div.inner {
		margin: 0 auto 60px;
	}
}

/* concept
-----------------------------------------------*/
div#concept{}
div#concept ul{
	width:100vw;
	margin-left:calc(-50vw + 50%);
}
div#concept li{
	width:25vw;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:auto calc(25vw/0.75);
	transition:all 0.3s linear;
}
div#concept li:nth-child(1){background-image:url(../img/top/concept_club.webp);}
div#concept li:nth-child(2){background-image:url(../img/top/concept_matching.webp);}
div#concept li:nth-child(3){background-image:url(../img/top/concept_marriage.webp);}
div#concept li:nth-child(4){background-image:url(../img/top/concept_family.webp);}

div#concept li:hover{
	background-size:auto calc(25vw/0.7);
}
	
div#concept li a{
	width:100%;
	position:relative;
	display:block;
	padding-top:calc(100%/0.75);
}
div#contents div#concept span.tag{
	position:absolute;
	top:calc(25vw/0.75*0.8 - 0.9em - 15px);
	left:calc(25vw/2 - 6em);
	transform:rotate(-10deg);
}
div#concept li:nth-child(1) a span.tag{background-color:rgba(67,160,218,0.85);}
div#concept li:nth-child(2) a span.tag{background-color:rgba(255,120,130,0.85);}
div#concept li:nth-child(3) a span.tag{background-color:rgba(255,130,0,0.85);}
div#concept li:nth-child(4) a span.tag{background-color:rgba(48,172,156,0.85);}

div#contents div#concept a span.tag:hover{
	background-color:orange;
}
div#contents div#concept span.tag:hover{
	transform:none;
}
@media screen and (max-width:990px){
	div#contents div#concept span.tag {
		width:calc(100% - 30px);
		left: 15px;
		padding:6px 10px 8px;
		font-size: 18px;
	}
}
@media screen and (max-width:540px){
	div#contents div#concept span.tag {
		font-size: 16px;
	}
	div#concept li {
		width: 50vw;
		background-size: auto calc(25vw/0.75*2);
	}
	div#concept li:hover {
		background-size: auto calc(25vw/0.7*2);
	}
	div#concept li a {
		padding-top: calc(100%/0.75/2);
	}
}

/* topics
-----------------------------------------------*/
div#topics{}

div#topics ul li.tab_box       {display:none;}
div#topics ul li.tab_box.active{display:block;}



/* initiatives
-----------------------------------------------*/
div#initiatives{
	width: 100vw;
	margin-left: calc(-50vw + 640px);
}
ul.dots_wrap{
	width:100%;
	max-width:1280px;
	position:absolute;
	top:0;
	left:calc(50vw - 640px);
	margin:0 auto 30px;
	letter-spacing:-0.4em;
}
ul.dots_wrap li{
	width:calc(33.33% - 10px);
	position:relative;
	display:inline-block;
	margin-right:15px;
	padding-top:calc(70%/3);
	vertical-align:top;
	letter-spacing:normal;
	transition:all 0.3s linear;
	transform:skew(0,-5deg);
	overflow:hidden;
	cursor:pointer;
}
ul.dots_wrap li:last-child,
div#initiatives h2.ttl + ul li:last-child{
	margin-right:0;
}
ul.dots_wrap li:hover,
div#initiatives h2.ttl + ul li:hover{
	transform:skew(0,-5deg);
}
ul.dots_wrap li:hover{
	padding-bottom:30px;
}
ul.dots_wrap li:before{
	width:100%;
	content:"";
	position:absolute;
	top:-30px;
	left:0;
	display:block;
	margin-right:0;
	padding:calc(70% + 30px) 0 30px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:100% auto;
	transition:all 0.3s linear;
	transform:skew(0,5deg);
	z-index:0;
}
ul.dots_wrap li:nth-child(1):before{background-image:url(../img/top/concept_matching.webp);}
ul.dots_wrap li:nth-child(2):before{background-image:url(../img/top/concept_marriage.webp);}
ul.dots_wrap li:nth-child(3):before{background-image:url(../img/top/concept_family.webp);}

ul.dots_wrap li:hover:before{
	padding-bottom:60px;
	background-size:110% auto;
}
div#initiatives h2.ttl + ul li:hover:before{
	background-size:105% auto;
}
div#initiatives ul li:nth-child(1) span.tag{background-color:rgba(255,120,130,0.85);}
div#initiatives ul li:nth-child(2) span.tag{background-color:rgba(255,130,0,0.85);}
div#initiatives ul li:nth-child(3) span.tag{background-color:rgba(48,172,156,0.85);}

ul.dots_wrap li:last-child{
	margin-right:0;
}
ul.dots_wrap li:after{
	width:12em;
	content:"";
	position:absolute;
	top:calc(33.33vw/0.75*0.5 - 0.9em - 15px);
	left:calc(100vw/3/2 - 30px/3/2 - 180px/3/2 - 10vw/3/2 - 6em);
	display:block;
	padding:13px 15px 15px;
	color:#fff;
	text-align:center;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:100% auto;
	transition:all 0.3s linear;
	transform:skew(0,5deg);
	z-index:0:
}
ul.dots_wrap li:nth-child(1):after{content:"出会いサポート事業";background-color:rgba(255,120,130,0.85);}
ul.dots_wrap li:nth-child(2):after{content:"結婚応援カード事業";background-color:rgba(255,130,0,0.85);}
ul.dots_wrap li:nth-child(3):after{content:"子育て家族応援事業";background-color:rgba(48,172,156,0.85);}
ul.dots_wrap li:hover:after{
	bottom:45px;
	transform:rotate(-5deg) skew(5deg);
}
ul.dots_wrap li button{
	display:none;
}
.slick-slider{
	padding-top:calc(70%/3 + 60px);
}
div#initiatives h3.ttl{
	position:relative;
	color:#fff;
	font-size:36px;
	letter-spacing:0.15em;
}
div#initiatives h3.ttl:before{
	width:3px;
	height:90px;
	content:"";
	position:absolute;
	top:-15px;
	left:calc(50% - 8em);
	display:block;
	background-color:#fff;
	transform:rotate(-25deg);
}
div.tab_contents{
	position:relative;
	display:inline-block;
	margin:30px 60px 0;
	padding:60px 90px 30px 120px;
	vertical-align:top;
}
div.tab_contents:before{
	width:100%;
	content:"";
	position:absolute;
	top:-30px;
	left:30px;
	display:block;
	margin:0;
	padding:90px 0 0;
	z-index:-1;
}
div.initiatives_matching_support::before,
div.initiatives_tochimari::before,
div.initiatives_family_support::before {
	height: var(--before-height);
}

div.initiatives_matching_support,
div.initiatives_matching_support:before{background-color:rgba(255,120,130,0.85);}
div.initiatives_tochimari,
div.initiatives_tochimari:before       {background-color:rgba(255,130,0,0.85);}
div.initiatives_family_support,
div.initiatives_family_support:before  {background-color:rgba(49,172,156,0.85);}

button.slick-arrow{display:none!important;}

div.tab_contents h3.ttl + p.outline{
	margin-bottom:60px;
	color:#fff;
	font-size:20px;
	letter-spacing:0.15em;
}
div.tab_contents ul{}
div.tab_contents ul li{
	width:calc(50% - 30px);
	position:relative;
	margin-right:60px;
	margin-bottom:30px;
	padding-top:calc(50%/2 - 30px/2 + 30px);
}
div.tab_contents ul li a{
	color:#fff;
}
div.tab_contents ul li:nth-child(2n){
	margin-right:0;
}
div.tab_contents ul li:before{
	width:100%;
	content:"";
	position:absolute;
	top:0;
	left:0;
	padding-top:50%;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:100% auto;
	transform:skew(0,-5deg);
	z-index:0;
}
div.tab_contents ul li.sub:before{
	width:120px;
	padding-top:120px;
	border-radius:60px;
	background-size:calc(100% + 3px) auto;
	transform:none;
}
div.initiatives_matching_support ul li:nth-child(1):before{background-image:url(../img/top/ini_matching1.webp);}
div.initiatives_matching_support ul li:nth-child(2):before{background-image:url(../img/top/ini_matching2.webp);}
div.initiatives_matching_support ul li:nth-child(3):before{background-image:url(../img/top/ini_matching3.webp);}
div.initiatives_matching_support ul li:nth-child(4):before{background-image:url(../img/top/ini_matching4.webp);}
div.initiatives_matching_support ul li:nth-child(5):before{background-image:url(../img/top/ini_matching5.webp);}
div.initiatives_matching_support ul li:nth-child(6):before{background-image:url(../img/top/ini_matching6.webp);}

div.initiatives_tochimari ul li:nth-child(1):before{background-image:url(../img/top/ini_tochimari1.webp);}
div.initiatives_tochimari ul li:nth-child(2):before{background-image:url(../img/top/ini_tochimari2.webp);}
div.initiatives_tochimari ul li:nth-child(3):before{background-image:url(../img/top/ini_tochimari3.webp);}
div.initiatives_tochimari ul li:nth-child(4):before{background-image:url(../img/top/ini_tochimari4.webp);}
div.initiatives_tochimari ul li:nth-child(5):before{background-image:url(../img/top/ini_tochimari5.webp);}
div.initiatives_tochimari ul li:nth-child(6):before{background-image:url(../img/top/ini_tochimari6.webp);}

div.initiatives_family_support ul li:nth-child(1):before{background-image:url(../img/top/ini_family1.webp);}
div.initiatives_family_support ul li:nth-child(2):before{background-image:url(../img/top/ini_family2.webp);}
div.initiatives_family_support ul li:nth-child(3):before{background-image:url(../img/top/ini_family3.webp);}
div.initiatives_family_support ul li:nth-child(4):before{background-image:url(../img/top/ini_family4.webp);}
div.initiatives_family_support ul li:nth-child(5):before{background-image:url(../img/top/ini_family5.webp);}
div.initiatives_family_support ul li:nth-child(6):before{background-image:url(../img/top/ini_family6.webp);}

div.tab_contents ul li h4.ttl{
	position:relative;
	color:#fff;
	margin:0 0 10px;
	text-align:center;
}
div.tab_contents ul li h4.ttl:before{
	width:65px;
	content:"";
	position:absolute;
	top:-60px;;
	left:calc(50% - 32px);
	display:block;
	padding-top:57px;
	background-repeat:no-repeat;
	background-position:center center;
	background-size:100% auto;
	z-index:0;
}

div.initiatives_matching_support ul li h4.ttl:before{background-image:url(../img/top/icon_matching_support.png);}
div.tab_contents p,
div.tab_contents ul li p{
	color:#fff;
}
@media screen and (max-width:1422px){
	div#initiatives {
		width: 100%;
		margin-left: 0;
	}
	.slick-slider{
		width:100vw;
		left:-5vw;
	}
	ul.dots_wrap {
		width:calc(100% - 10vw);
		left: 5vw;
	}
}
@media screen and (min-width:1280px){
	ul.dots_wrap li:after{
		top:auto;
		bottom:15px;
		left:calc(1280px/3/2 - 30px/3/2 - 6em);
	}
	.slick-slider{
		padding-top:calc(1280px*0.7/3 + 60px);
	}
}
@media screen and (max-width:1280px){
	ul.dots_wrap li::after{
		top:auto;
		left:calc(50% - 6em - 15px);
		bottom:15px;
	}
	div.tab_contents{
		margin:30px 30px 0;
	}
}
@media screen and (max-width:1160px){
	div.tab_contents {
		padding: 60px 60px 30px 90px;
	}
}
@media screen and (max-width:1054px){
	div#contents h2.ttl {
		font-size: 42px;
	}
	div.tab_contents {
		padding: 30px 30px 30px 60px;
	}
	div.tab_contents ul li {
		width: calc(50% - 15px);
		margin-right: 30px;
	}
	div#initiatives h3.ttl {
		font-size: 30px;
	}
	div.tab_contents h3.ttl + p.outline {
		font-size: 18px;
	}
	div.tab_contents ul li h4.ttl {
		font-size: 18px;
	}
	div#contents ul.dots_wrap li::after {
		font-size: 18px;
	}
}
@media screen and (max-width:760px){
	div.tab_contents {
		padding: 30px 5px 30px 35px;
	}
	div#contents h2.ttl {
		font-size: 36px;
	}
	div#contents ul.dots_wrap li::after {
		width: calc(100% - 20px);
		left:0;
		padding: 6px 10px 8px;
		font-size: 16px;
	}
	ul.dots_wrap li::after {
		bottom: 10px;
	}
	div.tab_contents ul li h4.ttl {
		text-align:left;
	}
	div.tab_contents p,
	div.tab_contents ul li p {
		font-size: 14px;
	}
}
@media screen and (max-width:540px){
	div#contents h2.ttl {
		font-size: 32px;
	}
	div.tab_contents h3.ttl + p.outline {
		margin-bottom: 30px;
    	font-size: 16px;
	}
	div.tab_contents ul li {
    	width:100%;
    	margin-right:0;
    }
	div.tab_contents ul li::before {
		padding-top: 25%;
	}
	ul.dots_wrap li {
		padding-bottom: 60px;
		transform: skew(0,0);
	}
	ul.dots_wrap li::before{
		transform: skew(0,0);
	}
	ul.dots_wrap li:after,
	ul.dots_wrap li:hover:after{
		bottom:10px;
		transform:rotate(0) skew(0);
	}
	ul.dots_wrap li:hover,
	div#initiatives h2.ttl + ul li:hover{
		padding-bottom: 45px;
		transform:skew(0,0);
	}
	ul.dots_wrap li:hover:before{
		background-size:110% auto;
	}
}

/* sub */
div.tab_contents ul li.sub{
	min-height:120px;
	padding-top:0;
	padding-left:150px;
	font-size:16px;
	font-weight:normal;
	vertical-align: middle;
}
div.tab_contents ul li.sub a{
	width:calc(100% - 150px);
	position: absolute;
	top: 50%;
	display:block;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
}
div.tab_contents ul li.sub h4.ttl{
	font-size:16px;
	font-weight:normal;
	text-align:left;
}

@media screen and (max-width:540px){
	div.tab_contents ul li.sub {
		min-height: 90px;
		padding-left: 110px;
	}
	div.tab_contents ul li.sub::before {
		width: 90px;
		padding-top: 90px;
	}
	div.tab_contents ul li.sub a {
		width: calc(100% - 110px);
	}
}


/* mirai_club
-----------------------------------------------*/
div#mirai_club{}
div#mirai_club p.outline{
	color:#1966aa;
	font-size:20px;
	text-align:center;
	letter-spacing:0.15em;
}
div#mirai_club a.btn{
	margin-bottom:60px;
}
div#mirai_club ul{
	width:820px;
	margin:0 auto;
}
div#mirai_club ul li{
	width:calc(50% - 30px);
	position:relative;
	margin-right:60px;
	padding-top:calc(50%*300/580 - 30px*300/580);
	background-repeat:no-repeat;
	background-position:center top;
	background-size:100% auto;
	transition:all 0.3s linear;
}
div#mirai_club ul li:nth-child(1){background-image:url(../img/top/club1.webp);}
div#mirai_club ul li:nth-child(2){background-image:url(../img/top/club2.webp);}

div#mirai_club ul li:nth-child(2){
	margin-right:0;
}
div#mirai_club ul li:hover{
	background-size:105% auto;
}
div#mirai_club ul li:before{
	width:100%;
	content:"";
	position:absolute;
	top:0;
	left:0;
	padding-top:calc(100%*300/580);
	background-color:#000;
	opacity:0.5;
	z-index:0;
}
div#mirai_club ul li a{
	color:#fff;
}
div#mirai_club ul li h3.ttl{
	width:calc(100% - 60px);
	position:relative;
	margin-top:calc(-100%*300/580 + 20%*300/580);
	margin-bottom:15px;
	color:#fff;
	z-index:2;
}
div#mirai_club ul li p{
	width:calc(100% - 90px);
	margin:0 auto;
	position:relative;
	color:#fff;
}
@media screen and (max-width:911px){
	div#mirai_club ul {
		width: 100%;
	}
	div#mirai_club ul li {
		width: calc(50% - 15px);
		margin-right: 30px;
	}
	div#mirai_club ul li::before {
		padding-top: calc(100%*300/580 - 15px*300/580);
	}
}
@media screen and (max-width:760px){
	div#mirai_club ul li h3.ttl {
		font-size: 22px;
	}
	div#mirai_club ul li {
		padding:60px 0;
		overflow:hidden;
		background-size: auto 100%;
	}
	div#mirai_club ul li:hover{
		background-size: auto 105%;
	}
	div#mirai_club ul li::before {
		padding: 400px 0 0;
	}
	div#mirai_club ul li h3.ttl {
		margin-top: 0;
	}
}
@media screen and (max-width:620px){
	div#mirai_club p.outline {
		font-size: 18px;
	}
	div#mirai_club ul li h3.ttl {
		font-size: 20px;
	}
}
@media screen and (max-width:540px){
	div#mirai_club p.outline {
		font-size: 16px;
	}
}