@charset "utf-8";
/* CSS Document */
@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Regular.woff") format("woff"),
    url("../fonts/NotoSansJP-Regular.ttf") format("truetype");
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Medium.woff") format("woff"),
    url("../fonts/NotoSansJP-Medium.ttf") format("truetype");
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Bold.woff") format("woff"),
    url("../fonts/NotoSansJP-Bold.ttf") format("truetype");
}

@font-face {
  font-family: "NotoSansJP";
  font-style: normal;
  font-weight: 900;
  src: url("../fonts/NotoSansJP-Black.woff2") format("woff2"),
    url("../fonts/NotoSansJP-Black.woff") format("woff"),
    url("../fonts/NotoSansJP-Black.ttf") format("truetype");
}
.two_generationhouse_page {
	font-family: "NotoSansJP";
	letter-spacing: 0.05em;
}
.two_generationhouse_page div {
	box-sizing: border-box;
}
.spbr {display: none;}
.pcbr {display: block;}
.fbox {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
}
.fb-center {justify-content: center;}
.fb-between {justify-content: space-between;}
.container {padding: 0 20px;margin:0 auto;}
.con-l {max-width: 1080px;box-sizing: border-box;}
.content {margin-bottom: 100px;}
.red {
	color: #74001a;
}

.tg-mv {
	background: url(../image_page/two_generationhouse/main-bg.png)no-repeat;
	background-size: cover;
	padding: 209px 0;
	margin-bottom: 80px;
}
.tg-mv .tg-mv-ttl {
	background: none;
	text-align: center;
	font-size: 82px;
	font-family: "NotoSansJP";
	font-weight: 900;
}
.tg-mv .tg-mv-ttl span {
	color: #74001a;
}

.tg-parent {
	width: 48%;
	border: solid 4px #74001a;
	border-left: none;
	padding: 60px 15px 60px 80px;
	font-size: 20px;
	line-height: 2.4;
	font-weight: bold;
	position: relative;
}
.tg-parent::after {
	content: "親世帯";
	display: block;
	width: 167px;
	height: 323px;
	background: url(../image_page/two_generationhouse/parent.png)no-repeat;
	background-size: 100%;
	position: absolute;
	left: -90px;
	top: -50px;
	padding: 37px 27px;
	box-sizing: border-box;
	font-size: 28px;
	color: #fff;
}
.tg-child {
	width: 48%;
	border: solid 4px #bfdeed;
	border-right: none;
	padding: 60px 80px 60px 25px;
	font-size: 20px;
	line-height: 2.4;
	font-weight: bold;
	position: relative;
}
.tg-child::after {
	content: "子世帯";
	display: block;
	width: 206px;
	height: 336px;
	background: url(../image_page/two_generationhouse/child.png)no-repeat;
	background-size: 100%;
	position: absolute;
	right: -90px;
	top: -50px;
	padding: 39px 0 0 62px;
	box-sizing: border-box;
	font-size: 28px;
}

.tg-merit {
	background: rgba(116, 0, 26, 0.07);
	padding: 50px 0;
}
.title-waku {
	font-size: 38px;
	text-align: center;
	margin-bottom: 80px;
	position: relative;
	line-height: 4;
	color: #74001a;
	background-image:none;
	letter-spacing: 0.1em;
	font-weight: 900;
}
.title-waku span {
	font-size: 52px;
}
.title-waku::before {
	content: "";
	display: block;
	width: 372px;
	height: 217px;
	background: url(../image_page/two_generationhouse/title-left.png)no-repeat;
	background-size: 100%;
	position: absolute;
	left: 0;
	top: 0;
}
.title-waku::after {
	content: "";
	display: block;
	width: 413px;
	height: 208px;
	background: url(../image_page/two_generationhouse/title-right.png)no-repeat;
	background-size: 100%;
	position: absolute;
	right: 0;
	top: 0;
}

.tg-merit .fbox {
	align-items: center;

}
.tg-merit .item {
	width: 48%;
	background: #74001a;
	color: #fff;
	font-size: 40px;
	font-weight: 900;
	text-align: center;
	margin-bottom: 30px;
	height: 146px;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1.3;
}
.tg-share {
	background: #fff;
	font-size: 50px;
	padding: 30px;
	text-align: center;
	font-weight: 900;
	margin: 30px 0 10px;
}

.tg-type .fbox {
	background: #efefef;
	padding: 50px;
	margin-bottom: 40px;
	align-items: center;
}
.tg-type .fbox .img {
	width: 40%;
}
.tg-type .fbox .tx {
	width: 54%;
	font-size: 24px;
	line-height: 1.5;
	font-weight: bold;
}

.tg-plan h2 {
	background: rgba(116, 0, 26, 0.07);
	text-align: center;
	padding: 40px 0;
	font-size: 38px;
	font-weight: 900;
	color: #74001a;
	margin-bottom: 200px;
}
.tg-plan h2 span {
	background-position: top left;
	background-repeat: repeat-x;
	background-size: 1.01em 0.4em;
	background-image: radial-gradient(.15em .15em at center center, #ffe33f, #ffe33f 100%, transparent, transparent);
	padding-top: .3em;
}
.tg-plan .parent {
	width: 48%;
	border: solid 4px #74001a;
	padding: 25px 10px 20px 20px;
	font-size: 21px;
	line-height: 1.4;
	font-weight: bold;
	position: relative;
}
.tg-plan .parent::before {
	content: "";
	display: block;
	width: 150px;
	height: 200px;
	background: url(../image_page/two_generationhouse/parent-plan.png)no-repeat;
	background-size: 100%;
	position: absolute;
	top: -171px;
	left: 50%;
  transform: translateX(-50%);
}
.tg-plan .child {
	width: 48%;
	border: solid 4px #1484c2;
	padding: 25px 10px 20px 20px;
	font-size: 21px;
	line-height: 1.4;
	font-weight: bold;
	position: relative;
}
.tg-plan .child::before {
	content: "";
	display: block;
	width: 180px;
	height: 200px;
	background: url(../image_page/two_generationhouse/child-plan.png)no-repeat;
	background-size: 100%;
	position: absolute;
	top: -159px;
	left: 50%;
  transform: translateX(-50%);
}

.tg-plan li {
	
	background-size: 34px;
	padding-left: 45px;
	margin-bottom: 17px;
	background-position-y: 2px;
}
.tg-plan .parent li {
	background: url(../image_page/two_generationhouse/check-parent.png)no-repeat;
	background-size: 34px;
}
.tg-plan .child li {
	background: url(../image_page/two_generationhouse/check-child.png)no-repeat;
	background-size: 34px;
}
.arrow-bottom {
	background: url(../image_page/two_generationhouse/arrow-bottom.png)no-repeat;
	background-size: 100%;
	background-position: center;
	width: 130px;
	height: 68px;
	margin: 35px auto 60px;
}
.omakase h3{
	font-size: 38px;
	font-weight: 900;
	text-align: right;
	position: relative;
}
.omakase h3::before {
	content: "";
	display: block;
	width: 190px;
	height: 122px;
	background: url(../image_page/two_generationhouse/omakase.png)no-repeat;
	background-size: 100%;
	position: absolute;
	bottom: -16px;
	left: 10px;
}
.omakase h3::after {
	content: "";
	display: block;
	width: 100%;
	height: 25px;
	background: rgba(245, 197, 0, 0.3);
	position: absolute;
	bottom: -17px;
	left: 0;
	z-index: -1;
}
.omakase h3 span span {
	color: #74001a;
}

.bnr-raiten {
	border: solid 4px #74001a;
	padding: 20px;
	box-sizing: border-box;
	margin-bottom: 30px;
}
.tel .fbox {
	align-items: center;
}
.icon-free {
	width: 125px;
}
.tel-num span {
	font-size: 60px;
	font-family: "myFont";
	display: block;
}
.tel-num {
	text-align: center;
	font-size: 20px;
	font-weight: 600;
}
.mail {
	width: 40%;
	background: #74001a;
}
.mail a{
	display: block;
	color: #fff;
	text-align: center;
	padding: 24px 0;
	font-size: 32px;
	text-decoration: none;
	font-weight: 600;
	letter-spacing: 0.1em;
}
.line_bnr {
	max-width: 1040px;
	margin: 0 auto 30px auto;
}

@media screen and (max-width:1230px){
	.tg-mv {
		padding: 16vw 0;
		margin-bottom: 8vw;
	}
	.tg-nayami {
		width: 89%;
		margin: 0 auto 8vw;
	}
	.tg-parent {
		padding: 5vw 1vw 5vw 7vw;
		font-size: 1.5vw;
	}
	.tg-parent::after {
		width: 13.2vw;
		height: 26.5vw;
		left: -7vw;
		top: -4vw;
		padding: 3vw 2.2vw;
		font-size: 2.1vw;
	}
	.tg-child {
		padding: 5vw 8vw 5vw 2vw;
		font-size: 1.5vw;
	}
	.tg-child::after {
		width: 16vw;
		height: 27.3vw;
		right: -7vw;
		top: -4.2vw;
		padding: 3vw 0 0 5vw;
		font-size: 2.1vw;
	}

}
@media screen and (max-width:1100px){
	.content {
		margin-bottom: 8vw;
	}
	.tg-mv .tg-mv-ttl {
		font-size: 7vw;
	}
	.title-waku {
		margin-bottom: 8vw;
		font-size: 3.8vw;
		line-height: 21vw;
	}
	.title-waku::before {
		width: 37vw;
		height: 21vw;
	}
	.title-waku::after {
		width: 41vw;
		height: 20vw;
	}
	.tg-merit .item {
		font-size: 3.4vw;
		margin-bottom: 3vw;
		height: 16vw;
	}
	.tg-share {
		background: #fff;
		font-size: 4.8vw;
		padding: 3vw;
		text-align: center;
		font-weight: 900;
		margin: 3vw 0 1vw;
	}
	.tg-type .fbox {
		padding: 5vw;
		margin-bottom: 4vw;
	}
	.tg-type .fbox .tx {
		font-size: 2.4vw;
	}
	.tg-plan h2 {
		padding: 5vw 0;
		font-size: 3.6vw;
		margin-bottom: 22vw;
	}
	.tg-plan .parent {
		padding: 3vw 2vw 2vw 2vw;
		font-size: 2vw;
	}
	.tg-plan .parent::before {
		width: 17vw;
		height: 20vw;
		top: -19.3vw;
	}
	.tg-plan .child {
		padding: 3vw 2vw 2vw 2vw;
		font-size: 2vw;
	}
	.tg-plan .child::before {
		width: 20.5vw;
		height: 19vw;
		top: -17.5vw;
	}
	.arrow-bottom {
		width: 13vw;
		height: 7vw;
		margin: 4vw auto 6vw;
	}
	.omakase h3 {
		font-size: 3.4vw;
	}
	.omakase h3::before {
		width: 19vw;
		height: 12.2vw;
		bottom: -1.8vw;
		left: 1vw;
	}
	.omakase h3::after {
		height: 2.2vw;
		bottom: -2vw;
	}


	.bnr-raiten {
		padding: 2vw;
	}
	.icon-free {
		width: 12vw;
	}
	.tel-num {
		font-size: 1.8vw;
	}
	.tel-num span {
		font-size: 5.5vw;
	}
	.mail a {
		padding: 2.4vw 0;
		font-size: 3vw;
	}
}
@media screen and (max-width:768px){
	.spbr {display: block;}
	.pcbr {display: none;}
	.tg-mv {
		background: url(../image_page/two_generationhouse/main-sp-bg.png)no-repeat;
		background-size: cover;
		padding: 49vw 0;
		margin-bottom: 18vw;
	}
	.tg-mv .tg-mv-ttl {
		font-size: 9vw;
	}
	.tg-nayami {
		width: 100%;
		margin: 0 auto 10vw;
	}
	.tg-parent {
		padding: 5vw 1vw 5vw 22vw;
		font-size: 3.4vw;
		letter-spacing: 0;
		width: 100%;
		margin-bottom: 13vw;
	}
	.tg-parent::after {
		width: 24.2vw;
		height: 47.5vw;
		left: -3vw;
		top: -11vw;
		padding: 4vw 2.8vw;
		font-size: 4.8vw;
	}
	.tg-child {
		padding: 5vw 22vw 5vw 2vw;
		font-size: 3.4vw;
		width: 100%;
		letter-spacing: 0;
		margin-bottom: 5vw;
	}
	.tg-child::after {
		width: 29vw;
		height: 47.3vw;
		right: -2vw;
		top: -10.2vw;
		padding: 4vw 0 0 11vw;
		font-size: 4.8vw;
		background: url(../image_page/two_generationhouse/child-sp.png)no-repeat;
		background-size: 100%;
	}

	.title-waku {
		margin-bottom: 5vw;
		font-size: 6vw;
		line-height: 1.3;
		padding: 13.5vw 0;
	}
	.title-waku span {
		font-size: 10vw;
	}
	.title-waku::before {
		width: 22vw;
		height: 40vw;
		background: url(../image_page/two_generationhouse/title-left-sp.png)no-repeat;
		background-size: 100%;
	}
	.title-waku::after {
		width: 34vw;
		height: 40vw;
		background: url(../image_page/two_generationhouse/title-right-sp.png)no-repeat;
		background-size: 100%;
	}
	.tg-merit .title-waku::before {
		width: 22vw;
		height: 50vw;
		background: url(../image_page/two_generationhouse/title-left-sp-02.png)no-repeat;
		background-size: 100%;
	}
	.tg-merit .title-waku::after {
		width: 34vw;
		height: 50vw;
		background: url(../image_page/two_generationhouse/title-right-sp-02.png)no-repeat;
		background-size: 100%;
	}
	.tg-merit .item {
		font-size: 7vw;
		height: 25vw;
		width: 90%;
		margin: 0 auto 5vw;
	}
	.tg-share {
		font-size: 7vw;
		padding: 4vw;
		line-height: 1.5;
	}
	.tg-type .fbox {
		padding: 9vw 5vw;
		margin-bottom: 7vw;
	}
	.tg-type .fbox .img {
		width: 90%;
		margin: 0 auto 5vw;
	}
	.tg-type .fbox .tx {
		font-size: 4.8vw;
		width: 100%;
	}
	.tg-plan h2 {
		padding: 5vw 0;
		font-size: 7vw;
		margin-bottom: 40vw;
		line-height: 2;
	}
	.tg-plan .parent {
		padding: 10vw 1vw 5vw 5vw;
		font-size: 4.6vw;
		width: 100%;
		margin-bottom: 40vw;
	}
	.tg-plan .parent::before {
		width: 31vw;
		height: 36vw;
		top: -35.3vw;
	}
	.tg-plan .parent li {
		background-size: 6vw;
		padding-left: 9vw;
		margin-bottom: 4vw;
		background-position-y: 1vw;
	}
	.tg-plan .child {
		padding: 10vw 1vw 5vw 5vw;
		font-size: 4.6vw;
		width: 100%;
	}
	.tg-plan .child::before {
		width: 38.5vw;
		height: 36vw;
		top: -33.5vw;
	}
	.tg-plan .child li {
		background-size: 6vw;
		padding-left: 9vw;
		margin-bottom: 4vw;
		background-position-y: 1vw;
	}
	.arrow-bottom {
		width: 25vw;
		height: 14vw;
		margin: 5vw auto 10vw;
	}
	.omakase {
		margin-bottom: 45vw;
	}
	.omakase h3 {
		font-size: 6.4vw;
		text-align: center;
		line-height: 1.8;
	}
	.omakase h3 span{
		background:linear-gradient(transparent 60%, rgba(245, 197, 0, 0.3) 60%);
	}
	.omakase h3::after {
		display: none;
	}
	.omakase h3::before {
		width: 50vw;
		height: 32.2vw;
		bottom: -35vw;
		left: 50%;
		transform: translateX(-50%);
	}
	.omakase h3 span span {
		background: none;
	}
	
	.bnr-raiten {
		padding: 5vw 2vw 2vw;
		margin-bottom: 5vw;
	}
	.icon-free {
		width: 14vw;
	}
	.tel-num {
		font-size: 2.8vw;
	}
	.tel-num span {
		font-size: 9vw;
	}
	.mail {
		width: 100%;
		margin-top: 3vw;
	}
	.mail a {
		padding: 5.4vw 0;
		font-size: 6vw;
	}
}