
	/*----- common -----*/
	:root {
		--color_main: #0668c1;
		--color_txt: #353535;
		--blue:#5FB2CE;
	}

	.father {
		letter-spacing: 1px;
		line-height: 1.6;
		font-size: 16px;
		background-color: #fff;
		color: #404040;
	}

	.father *,
	.father *:before,
	.father *:after {
		box-sizing: border-box;
	}
.father img{
	max-width: 100%;
}
	.father a {
		text-decoration: none;
	}

	.father a:hover {
		text-decoration: none;
	}

	.father a img {
		transition: .3s ease-in-out;
		display: block;
		max-width: 100%;
	}

	.father .pc {
		display: block;
	}

	.father .sp,
	.lp_menu .sp {
		display: none;
	}

	.father .sec_inner {
		width: 1200px;
		margin: 0 auto;
		padding: 3em 0;
	}

	.father h2 {
		font-size: 2.1em;
		letter-spacing: 2px;
		margin: 0 0 1em;
		text-align: center;
		padding-top: 1.3em;
	}

	.father h2,
	.father h3 {
		font-weight: bold;
	}

	.flexwrap {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-around;
	}

	/*-----button-----*/
	.father .btn a {
		position: relative;
		display: block;
		color: #ffffff;
		border-radius: 6px;
		padding: 16px 18px 18px;
		margin: 0 0 0 auto;
		font-size: 1.2em;
		font-weight: bold;
		text-align: center;
		transition: .3s ease-in-out;
	}

	.father .btn a:after {
		position: absolute;
		display: block;
		content: "";
		width: 13px;
		height: 13px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		transform: rotate(45deg);
		right: 35px;
		bottom: 40%;
	}

.father #page_top{
	position: fixed;
	right: 2%;
	bottom: 2%;
	width: 77px;
	opacity: 0.8;
	z-index: 99;
}
.father #page_top:hover{
	opacity: 1;
	transition: .3s ease-in-out;
}
.father #page_top img{
	width: 100%;
}

/*----- #閉じる -----*/

.close_top{
	position: fixed;
	top: 5%;
	right: 4%;
}
.close_top a{
    position: relative;
    padding: 1px 8px 4px 9px;
	width: 100%;
    height: 100%;
    top: 0%;
    background-color: #000;
    color: #fff;
    font-size: 33px;
    opacity: 0.7;
}
.close_top a:hover{
	opacity: 1;
}
.homelink .close {
    display: block;
    width: 30%;
    text-align: center;
    margin: 0 auto;
    border-radius: 0;
    font-weight: normal;
    padding: 10px 20px;
    background-color: #fff;
    color: #000;
    border: 1px solid #000;
}
.homelink .close:hover{
	background-color: #fff;
}

	/*----- #main -----*/
	.father #main {
		width: 100%;
	}

	.father h1 img {
		display: block;
		width: 100%;
		margin: 0 auto;
	}

	/*----- nav_area -----*/
	.nav_area .sec_inner {
		margin: 40px auto 60px;
	}

	.malllink,
	.ranklink,
	.pricelink {
		width: 29%;
		margin: 0 auto;
	}

	.malllink a,
	.ranklink a,
	.pricelink a {
		font-size: 1.1em;
		padding: 1.5em 2.8em;
		position: relative;
		overflow: hidden;
		background: var(--color_main);
	}

	.malllink a:hover {
		background: #0658a5;
	}

	.ranklink a {
		background: #d3bf2a;
	}

	.ranklink a:hover {
		background: #beac1d;
	}

	.pricelink a {
		background: #e99c3b;
	}

	.pricelink a:hover {
		background: #d78926;
	}

	.father .pricelink a:after {
		transform: rotate(135deg);
	}

	
	
	
	
	/*----- #coupon-----*/
	
	#coupon{
		text-align: center;
		margin: auto;
		background: url(../img/frame.png) no-repeat;
		background-size: contain;
		background-position: top center;
	}
	
	.coupon_inner{
		width: 55%;
		margin: auto;
		padding: 6% 0 5%;
	}
	.coupon_inner img {
		width: 80%;
		margin: 1% auto 0;
		padding: 5% 14%;
	}
	.coupon_inner .coupon_p {
		color: var(--blue);
		font-size: 1.4em;
	}

	.coupon_inner .coupon_p .coupon_ttl{
		font-size: 2em;
		font-weight: bold;
		color: #012580;
		padding-bottom: 0.8em;
	}
	.coupon_inner .coupon_p p span{
		font-size: 1.5em;
		font-weight: bold;
		color: #0668c1;
		border-bottom: solid 2px #FFD300;
	}

	.coupon_btn{
		width: 50%;
		margin: 4% auto 3%;
	}
	.coupon_btn a{
		position: relative;
		display: block;
		padding: 1em 1em 1em 0.5em;
		border-radius: 7px;
		text-align: center;
		background: #0668C1;
		color: #fff;
		font-size: 1.1em;
		font-weight: bold;
	}
	.coupon_btn a::after{
		content: '';
		position: absolute;
		display: block;
		width: 11px;
		height: 11px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		top: 33%;
		bottom: 0;
		right: 20px;
		transform: rotate(135deg);
	}
	.coupon_btn a:hover{
		background: #3588D3;
		color: #fff;
		top: 1px;
		left: 1px;
	}

	/*----- #category-----*/
	.father .top {
		background: url("../img/bg_category_right.png") repeat-y right top, url("../img/bg_category_left.png") repeat-y left top;
		background-color: #fff;
	}

	.father #category li {
		width: 23%;
		padding: 5px;
		margin-bottom: 2em;
		text-align: center;
	}

	.father #category li a {
		color: var(--color_txt);
		font-size: 1.15em;
	}

	.father #category li a p {
		padding-top: 5px;
		color: var(--color_main);
		font-weight: bold;
	}

	.father #category li a img {
		width: 100%;
		border-radius: 8px;
	}

	.father #category li a:hover {
		opacity: 0.8;
		text-decoration: underline;
		color: var(--color_main);
	}

	.father #category .link-card {
		margin: 0 auto;
		text-align: center;
		margin: 2em auto 4em;
	}

	.father #category .link-card a {
		border: solid #ffffff 1px;
		display: inline-block;
		padding: 6px;
	}

	/*----- #messagecard -----*/
	.father #messagecard {
		padding: 20px 0 60px;
		background: url("../img/bg_card-area_left.png") no-repeat, url("../img/bg_card-area_right.png") no-repeat right bottom;
		background-color: #fcfbed;
	}

	.card-area {
		width: 900px;
		margin: 0 auto;
	}

	.card-img {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}

	.card-area .card-img img {
		box-shadow: 0 5px 10px 0 rgba(26, 51, 126, .3);
	}

	#messagecard p {
		color: var(--color_main);
		text-align: center;
		padding: 2rem 0 4rem;
		font-weight: 500;
	}

	#messagecard p span {
		font-size: 0.9em;
	}

	.card-area .card-link {
		margin-top: 60px;
		box-shadow: none;
	}

	.card-area .card-link img {
		box-shadow: none;
	}

	
	/*----- app_dl -----*/
	.app_dl{
		padding: 2rem 0 8rem;
		background-image: linear-gradient(180deg, #fff, #c1e0f3 93% 100%);
	}	
    .qr_ttl{
		padding: 2rem 0 0;
	}
	
	.qr_btn{
		display: flex;
		gap: 5%;
		justify-content: center;
		width: 80%;
		margin: auto;
	}
	
	.qr_box {
    width: 26%;
    aspect-ratio: 1/1;
    text-align: center;
    padding: 2rem;
    background: #FFF;
    border: solid 6px #5FB2CE;
    border-radius: 50px;
    box-sizing: border-box;
    display: flex;
	gap: 10%;
    flex-direction: column;
    justify-content: space-around;
}
	.qr_box a{
		margin: auto;
	}
	.qr_box img {
		height: 100%;
		width: auto;
		object-fit: contain;
	}	

		
	/*----- present_flow -----*/
	.flow_ttl h2{
		margin: auto;
		padding-top: 5rem;
	}
	.present_flow {
		position: relative;
		width: 80%;
		display: flex;
		flex-wrap: wrap;
	    align-items: center;
	    margin: 7% auto 0;
		justify-content: center;
		gap: 1%;
	}
	.present_flow_wrap{
		position: relative;
		width: 22%;
		aspect-ratio: 5/8;
		display: flex;
		align-items: center;
		text-align: center;
		margin: 0;
		z-index: 1;
	}
	.circle_bg {
		position: absolute;
		top: -60px;
		left: 0;
		right: 0;
		background-color: var(--blue);
		width: 150px;
		aspect-ratio: 1/1;
		border-radius: 999px;
		margin: auto;
		z-index: 0;
	}
	.circle_p {
		position: absolute;
		top: -44px;
		left: 0;
		right: 0;
		margin: auto;
		font-size: 1.8rem;
		font-weight: bold;
		color: #FFF;		
		z-index: 3;
	}

	.present_flow_inner{
		position: relative;
		width: 100%;
		aspect-ratio: 5/8;
		background-color:#fff;
		border: solid 4px var(--blue);
		border-radius: 14px;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		gap: 2rem;
		margin: 0;
		z-index: 2;
	}
	.present_flow_inner p{
		padding: 0 1rem 0;
	}
	.present_flow_inner img {
		position: relative;
		height: 60%;
		margin: 0 auto;
		z-index: 2;
	}
	.present_flow .arrow {
		width: 40px;
		height: 40px;
		border-top: 11px solid var(--blue);
		border-right: 11px solid var(--blue);
		transform: rotate(45deg);
		margin: 0 8px 0 -11px;
}	
	
	
	
	
	/*----- #price -----*/
	#price {
		background-color: #c1e0f3;
	}
	
	#price .sec_inner {
		line-height: 1.8;
		padding: 0;
		width: auto;
	}

	.father #price h2 {
		padding-top: 0;
	}

	#price ul {
		width: 1200px;
		margin: 0 auto;
	}

	#price li {
		width: 30%;
		text-align: center;
	}

	#price li a {
		position: relative;
		display: block;
		background-color: #ffe98d;
		border-radius: 5px;
		padding: 16px 18px 18px;
		font-weight: bold;
		color: var(--color_main);
		font-size: 1.15em;
	}

	#price li a::after {
		content: '';
		position: absolute;
		width: 0;
		height: 0;
		border-left: 8px solid #fff;
		border-top: 8px solid transparent;
		border-bottom: 8px solid transparent;
		top: 23px;
		right: 20px;
	}

	#price li a:hover {
		background-color: #FFF8BB;
		text-decoration: none;
		box-shadow: 0px 0px;
	}

	/*----- link2 -----*/
	.malllink2,
	.ranklink2 {
		width: 42%;
		margin: 0 auto;
		padding: 60px 0 30px;
	}

	.malllink2 a {
		position: relative;
		background: #698ACD;
		color: #fff;
		padding: 16px 30px 18px;
		font-size: 1.3em;
		overflow: hidden;
	}

	.malllink2 a:hover {
		background-color: #045dad;
		;
	}

	.malllink2 a::before {
		position: absolute;
		content: '';
		display: inline-block;
		top: -180px;
		left: 0;
		width: 30px;
		height: 100%;
		background-color: #fff;
	}

	/* 
	.malllink {
		padding: 3em 0 2em;
	} */

	
	
	
	
	/*----- overview -----*/
	
	#overview {
		padding: 5rem 0 0;
		background: url("../img/bg_hanabira.png");
		background-size: contain;
		background-color: #C1E0F3;
	}

	.father #overview .sec_inner {
		width: 80%;
		line-height: 1.8;
		background: rgba(255,255,255,0.77);
		padding: 4em;
		/*text-shadow: 4px 4px 4px #FFF, -4px -4px 4px #FFF,
			-4px 4px 4px #FFF, 4px -4px 4px #FFF,
			4px 0px 4px #FFF, -4px -0px 4px #FFF,
			0px 4px 4px #FFF, 0px -4px 4px #FFF;*/
	}

	.father #overview dl a {
		color: #006666;
		text-decoration: underline;
	}

	.father #overview h2 {
		padding-top: 0;
	}

	.father #overview h3 {
		font-size: 1.5em;
		padding: 1em 0;
		text-align: center;
		border-bottom: 2px dashed var(--mainTxtColor);
		border-top: 2px dashed var(--mainTxtColor);
		margin-bottom: 1em;
	}

	.father #overview h3:nth-of-type(n+2) {
		margin-top: 3em;
	}

	.father #overview dl {
		margin-bottom: 1em;
		text-align: left;
	}

	.father #overview dl dt {
		font-weight: bold;
	}

	.father #overview dl dd {
		padding-left: 0.5em;
	}

	.father #overview dl dd.indent {
		text-indent: -1em;
		padding-left: 1.5em;
	}

	
	
	
	
	/*----- homelink -----*/
	.homelink {
		padding: 4em 0;
		text-align: center;
	}

	.homelink a {
		display: inline-block;
		background-color: var(--color_main);
		color: #FFF;
		padding: 0.75em 3em;
		border-radius: 5px;
		font-size: 1.1em;
		font-weight: bold;
	}

	.homelink a:hover {
		background-color: #012580;
	}

	/*----- 右メニュー -----*/
	.lp_menu .menu__container {
		background: #d2e6f5;
	}

	.lp_menu [class^="c-button"] {
		background: var(--color_main);
	}

	.lp_menu [class^="c-button"] span {
		color: #fff;
	}

	.lp_menu a>*,
	.lp_menu .c-menu-button:after,
	.lp_menu .c-voice {
		color: var(--color_txt);
		border-color: var(--color_txt);
	}

	.lp_menu .c-voice::before,
	.lp_menu .c-voice::after {
		background: none;
	}

	.lp_menu .c-spacer {
		margin-top: 40px;
	}

	.lp_menu .menu-trigger__button {
		background: #ffe98d;
		color: var(--color_main);
	}

	.lp_menu .menu-trigger__button span:before {
		content: "";
		position: absolute;
		z-index: -1;
		left: 0;
		top: 50%;
		width: 24px;
		height: 24px;
		margin-top: -12px;
		background: url("../img/icon_search_blue2.png") center center/24px 24px no-repeat;
	}

	/*-----システム上書き-----*/
	.wrapper_ #header {
		margin-bottom: 0;
	}

	div.container_ {
		width: 100%;
		line-height: 1.6;
	}


	/*====================== SP =======================*/

	@media only screen and (max-width: 768px) {

		/*----- common -----*/
		.father {
			overflow: hidden;
			font-size: 14px;
		}

		.father .pc {
			display: none;
		}

		.father .sp,
		.lp_menu .sp {
			display: block;
		}

		.father .sec_inner,
		.father .top_ .sec_inner {
			width: 96%;
			margin: 0 auto;
			padding: 1em 0 1em;
		}

		.father h2 {
			width: auto;
			font-size: 1em;
			letter-spacing: 1em;
			text-align: center;
			padding-top: 0;
			margin: 0.8em auto;
		}

		.father [id^="sec"] h2 {
			background-size: 100px;
		}
		
		.father p{
			font-size: 14px;
		}

		.father a,
		.father a:hover {
			text-decoration: none;
		}

		.father .btn a {
			font-size: 0.8em;
			padding: 0.6em 0.2em 0.8em 0.2em;
			line-height: 1.3;
			letter-spacing: 0;
			margin: 0 auto;
		}

		.father .btn a::after {
			right: 10px;
			bottom: 41%;
		}

		.father .btn a::after {
			width: 8px;
			height: 8px;
			border-width: 1px;
		}
		
	/*----- 閉じる -----*/	
.homelink .close {
   width: 60%;
	}
.close_top {
    top: 3%;
    right: 5%;
}

		/*----- #main -----*/
		.father #main {
		}
	
	/*----- #coupon-----*/
	
	#coupon{
		background: url("../img/frame_sp.png") no-repeat;
		background-size: contain;
		background-position: top center;
		margin: 1rem auto 2rem;
	}
	
	.coupon_inner{
		width: 70%;
		padding: 10% 0;
	}
		
	.coupon_inner img {
		width: 80%;
		margin: 12% auto 2%;
		padding: 0 5%;
	}
	.coupon_inner .coupon_p {
		width: 100%;
		font-size: 1.2em;
		margin: auto;
	}

	.coupon_inner .coupon_p .coupon_ttl{
		font-size: 1.2rem;
		padding: 1.2rem 0 0.8em;
	}
	.coupon_inner .coupon_p p span{
	}

	.coupon_btn{
		width: 66%;
		margin: 8% 0 5% auto;
		font-size: 0.8rem;
	}
	.coupon_btn a{
		position: relative;
		display: block;
		padding: 0.5em 1em 0.5em 0.3em;
		border-radius: 7px;
		text-align: center;
		background: #0668C1;
		color: #fff;
		font-size: 1em;
		font-weight: bold;
	}
	.coupon_btn a::after{
		content: '';
		position: absolute;
		display: block;
		width: 7px;
		height: 7px;
		border-top: 2px solid #fff;
		border-right: 2px solid #fff;
		top: 41%;
		bottom: 0;
		right: 9px;
		transform: rotate(135deg);
	}
	.coupon_btn a:hover{
		background: #3588D3;
		color: #fff;
	}


		/*----- #category -----*/
		.father .top {
			background-size: 14%;
		}
		
		.father #category .sec-inner li {
			width: 47%;
		}

		.father #category .sec-inner li a {
			font-size: 1.0em;
		}

		.father #category .sec-inner li a span {
			padding: 0.5em 0;
			letter-spacing: 1px;
		}

		.father #category .sec-inner .link-card {
			margin: 0 0 1em;
		}

		.father #category li {
			width: 33%;
			margin-bottom: 1em;
			padding: 3.5px;
		}

		.father #category li:nth-of-type(3n) {
			padding-right: 0;
		}

		.father #category li a p {
			letter-spacing: 0;
			font-size: 13px;
		}
		
		.father #category .flexwrap {
			justify-content: start;
		}

		.father #category .link-card {
			margin: 1em auto 3em;
		}

		/*----- #messagecard -----*/
		.father #messagecard {
			background-size: 25%;
			padding: 5em 0 2em;
		}

		.father #messagecard h2 {
			width: 93%;
			text-align: center;
			margin: 0 auto 0.8em;
		}

		.card-area {
			width: 92%;
			margin: 0 auto;
			text-align: center;
		}
		.card-area img {
			width: 90%;
		}

		.card-area .card-img img {
			width: 48%;
		}

		.card-area .card-link {
			margin-top: 2em;
		}

		.card-area .card-link img {
			width: 100%;
		}

		.father #messagecard p {
			text-align: left;
			padding: 2em 0;
		}
		
		
		
	/*----- app_dl -----*/
	.app_dl{
		padding: 2rem 0 3rem;
		background-image: linear-gradient(180deg, #fff, #c1e0f3 93% 100%);
	}	
    .qr_ttl{
		padding: 2rem 0 0;
	}
	.qr_ttl h2{
		width: 90%;
	}
	
	.qr_btn{
		display: block;
		width: 100%;
		margin: 2.5rem auto 4rem;
		}
	
	.qr_box {
		width: 74%;
		display: block;
		aspect-ratio: 4/1;
		text-align: center;
		padding: 1.5rem 1rem;
		border: solid 4px #5FB2CE;
		border-radius: 18px;
		margin: 2rem auto;
		}
	.qr_box a{
		margin: auto;
		}
	.qr_box img {
		height: auto;
		width: 70%;
		margin: auto;
		}	
		
		
		/*----- present_flow -----*/		
	.present_flow {
		display: block;
		text-align: center;
	    align-items: center;
	    margin: 0 auto;
		justify-content: center;
	}
	.present_flow_wrap{
		width: 80%;
		aspect-ratio: 1/1;
		margin: 25% auto 0;
		z-index: 1;
	}
		.present_flow p{
			font-size: 1.6rem;
			font-weight: bold;
		}
		.present_flow_inner p{
			font-size: 14px;
			font-weight: normal;
		}
	.circle_p {
		position: absolute;
		left: 0;
		right: 0;
		margin: auto;
		color: #FFF;		
		z-index: 3;
	}
	
	.present_flow_inner{
		aspect-ratio: 1/1;
		padding: 8%;
	}
	.present_flow_inner p{
		padding: 0;
	}
	.present_flow_inner img {
		height: 95%;
	}
	.present_flow .arrow {
		display: inline-block;
		width: 30px;
		height: 30px;
		border-top: 8px solid var(--blue);
		border-right: 8px solid var(--blue);
		transform: rotate(135deg);
		margin: 5% auto;
}	

		/*----- #price -----*/

		#price h2 {
			width: auto;
			text-align: center;
			margin: 0 auto 0.8em;
		}

		#price .sec_inner {
			padding: 1.5em 1em;
		}

		#price .flexwrap {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			flex-direction: column;
		}

		#price ul {
			width: auto;
			margin: 0 auto;
		}

		#price li {
			width: 100%;
			margin-bottom: 1em;
		}

		#price li a {
			font-size: 0.9em;
			padding: 1.3em 3em;
			line-height: 1.2;
		}

		#price li a::after {
			top: 30%;
		}
		
		/*----- Overview -----*/
		#overview{
			background-size: 222%;
		}
		.father #overview .sec_inner {
			width: 95%;
			padding: 1em;
		}

		/*----- homelink & malllink -----*/
		.father .malllink,
		.father .ranklink,
		.father .pricelink {
			width: 84%;
			padding: 0 0 1rem;
		}

		.father .malllink a,
		.father .malllink a:hover {
			background-position-y: bottom;
			background-size: 28%;
			padding: 1em;
		}

		.father .malllink a,
		.father .homelink a,
		.father .btn a {
			font-size: 0.9em;
			padding: 1.3em 3em;
			line-height: 1.2;
		}

		.father .homelink {
			padding: 3em 0 2rem;
		}

		.malllink2,
		.ranklink2 {
			width: auto;
			margin: 0 auto;
			padding: 0 1em 1em;
		}

}