@charset "utf-8";



/* 1. Module -------------------------------------------------------------------------------------*/

.sponly{display:block;}
.pconly,
.pconly.inline{display:none;}



/* 1. Header -------------------------------------------------------------------------------------*/

header{
	height:calc(40vw / 3);
	align-items:center;
}

header a.logo{
	width:calc(118.4vw / 3);
	height:calc(27.2vw / 3);
	margin:calc(6.4vw / 3) calc(10.4vw / 3);
}

header div.spnav_toggle{
	display:block;
	height:4.8vw;
	width:8vw;
	margin-right:calc(10.4vw / 3);
	position:relative;
}

header div.spnav_toggle:after{
	bottom:calc(6.4vw / 3);
	z-index:1;
}

header div.spnav_toggle a{
	text-indent:-9999px;
	display:block;
	height:100%;
	width:100%;
	position:relative;
	z-index:3;
}

header div.spnav_toggle:after,
header div.spnav_toggle a:before,
header div.spnav_toggle a:after{
	content:"";
	display:block;
	height:calc(1.6vw / 3);
	width:100%;
	position:absolute;
	background:#000;
	border-radius:calc(0.8vw / 3);
}

header div.spnav_toggle a:before{
	top:0;
}

header div.spnav_toggle a:after{
	bottom:0
}

header div.spnav_toggle:after,
header div.spnav_toggle a:before,
header div.spnav_toggle a:after{
	content:"";
	display:block;
	height:calc(1.6vw / 3);
	width:100%;
	position:absolute;
	background:#000;
	border-radius:calc(0.8vw / 3);
	transition:bottom 0.25s,top 0.25s,transform 0.25s,background 0.25s;
}

header div.spnav_toggle:after{
	transition:top 0s;
}

header div.spnav_toggle:has(a.open):after{
	background:none;
}

header div.spnav_toggle a.open:before{
	transform:rotate(45deg);
	top:calc(50% - (0.8vw / 3));
}

header div.spnav_toggle a.open:after{
	transform:rotate(-45deg);
	bottom:calc(50% - (0.8vw / 3));
}

header nav{
	display:none;
	flex-wrap:nowrap;
}

header:has(div.spnav_toggle a.open) nav{
	display:flex;
	position:fixed;
	background:#f5f5f5;
	top:calc(40vw / 3);
	width:100%;
	max-height:calc(100vh - (40vw / 3));
	padding-bottom:calc(32vw / 3);
	overflow-y:auto;
	box-shadow:0 calc(0.8vw / 3) 0.8vw rgba(0,0,0,0.5);
	z-index:99;
}

header nav ul.links,
header nav ul.global{
	width:100%;
}

header nav ul.links li a.external,
header nav ul.links li a.external:hover{
	padding-right:calc(11.2vw / 3);
	background-size:calc(8vw / 3) 3.2vw;
}

header nav div.mypage{
	width:100%;
	padding:0 8vw 0 calc(16vw / 3);
	height:auto;
	justify-content:center;
	order:3;
}

header nav a.mypage{
	font-size:calc(8.8vw /3);
	height:8vw;
	width:calc(104vw / 3);
	line-height:8vw;
	text-align:center;
	border-radius:4.8vw;
	background:#fff url(../images/chevron-right.svg) right 0.8em center no-repeat;
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
}

header nav ul.global{
	border-top:calc(0.8vw / 3) solid #f2c4c7;
	border-bottom:calc(0.8vw / 3) solid #f2c4c7;
	order:1;
	flex-direction:column;
}

header nav ul.global li{
	width:100%;
	border-top:calc(0.8vw / 3) solid #f2c4c7;
	position:relative;
}

header nav ul.global li:first-child{
	border-top:none;
}

header nav ul.global li + li{
	border-left:none;
}

header nav ul.global li a{
	padding:calc(12.8vw / 3) calc(10vw / 3);
	font-size:calc(12.8vw / 3);
}

header nav ul.global li a.hold:after,
header nav ul.global li a:hover:after{
	display:none;
}

header nav ul.global > li > a:before,
header nav ul.global > li > a:after,
header nav ul.global > li > a:hover:after{
	content:"";
	display:block;
	position:absolute;
	right:calc(10vw / 3);
	top:50%;
	width:calc(12.8vw / 3);
	height:calc(1.6vw / 3);
	background:#dc0014;
	transition:height 0.15s,top 0.15s;
}

header nav ul.global li:has(div.sub) > a.active:after,
header nav ul.global li:has(div.sub a.active) > a:after,
header nav ul.global > li > a:after,
header nav ul.global > li > a:hover:after{
	width:calc(1.6vw / 3);
	height:calc(12.8vw / 3);
	right:5.2vw;
	top:calc(50% - (5.6vw / 3));
}

header nav ul.global li:has(div.sub) > a.active.hold:after,
header nav ul.global li:has(div.sub a.active) > a.hold:after,
header nav ul.global > li > a.hold:after{
	display:block;
	height:calc(1.6vw / 3);
	width:calc(1.6vw / 3);
	top:50%;
}

header nav ul.global li div.sub{
	position:static;
	flex-direction:column;
	width:calc(100% - (20vw / 3));
	margin:0 calc(10vw / 3) calc(10vw / 3);
	padding:0;
	background:#fff;
	border-top:calc(1.6vw / 3) solid #dc0014;
	box-shadow:none;
}

header nav ul.global li:has(a:hover) div.sub{
	display:none;
}

header nav ul.global li a.hold + div.sub{
	display:flex;
}

header nav ul.global li div.sub ul li{
	width:100%;
	margin:0;
}

header nav ul.global li div.sub ul li a{
	width:100%;
	line-height:1;
	display:block;
	font-size:calc(11.2vw / 3);
	padding:4vw calc(10vw / 3);
	background-position:right calc(8vw / 3) center;
	background-size:2.4vw 2.4vw;
}

header nav ul.global li div.sub ul.category_top{
	margin:0;
}

header nav ul.global li div.sub ul.category_top li a{
	font-size:calc(12.8vw / 3);
}

header nav ul.links{
	order:2;
	height:auto;
	flex-direction:column;
	padding:3.2vw 0;
}

header nav ul.links li{
	font-size:calc(8.8vw / 3);
	padding:calc(8vw / 3) calc(10vw / 3);
	margin:0;
	line-height:1;
}

header nav ul.links li a{
	font-size:calc(11.2vw / 3);
}

header:has(a.hold) div.nav_background{
	display:none;
}

header:has(div.spnav_toggle a.open) div.nav_background{
	display:block;
	position:fixed;
	z-index:1;
	top:calc(40vw / 3);
	width:100%;
	height:calc(100vh - (40vw / 3));
}




/* 2. Footer -------------------------------------------------------------------------------------*/

footer{
	padding-bottom:calc(16vw / 3);
}

footer nav{
	padding:calc(16vw / 3) calc(10vw / 3) calc(8vw / 3);
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
	align-items:flex-start;
}

footer nav > *{
	width:100%;
}

footer nav a{
	color:#fff;
}

footer nav ul.global li:nth-child(4n),
footer nav ul.links:not(.policy) li:nth-child(4n){
	display:block;
	border:none;
	width:100%;
	height:1em;
}

footer nav ul.global li:nth-child(4n) + li,
footer nav ul.links:not(.policy) li:nth-child(4n) + li{
	border-left:none;
}

footer nav ul.global{
	padding:0;
}

footer nav ul.global li{
	font-size:calc(8.8vw / 3);
	padding:0 1em;
}


footer nav ul.global li a{
}

footer nav ul.global li + li{
	border-left:calc(0.8vw / 3) solid #fff;
}

footer nav ul.buttons{
	margin:calc(16vw / 3) 0;
	justify-content:space-between;
}

footer nav ul.buttons li{
	width:calc((100% - calc(20vw / 3))/3);
	padding:0;
}

footer nav ul.buttons li a{
	font-size:calc(8.8vw / 3);
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
	padding:0.6em 0;
	width:100%;
	margin:0;
}

footer nav ul.buttons li a:hover{
	text-decoration:none;
	color:#fff;
	background:#dc0014 url(../images/chevron-right_over.svg) right 0.8em center no-repeat;
	background-size:2.4vw 2.4vw;
}

footer nav ul.links{
	padding-bottom:calc(8vw / 3);
}

footer nav ul.links li{
	font-size:calc(8.8vw / 3);
	padding:0 1.5em;
}

footer nav ul.links li a.external{
	padding-right:calc(11.2vw / 3);
	background-size:calc(8vw / 3) 3.2vw;
}

footer nav p.links.policy strong{
	font-size:calc(10.4vw / 3);
	padding:3.2vw 0 calc(6.4vw / 3);
}

footer nav ul.links li + li{
	border-left:calc(0.8vw / 3) solid #fff;
}

footer nav > ul.links.policy{
	width:50%;
	flex-direction:column;
}

footer nav ul.links.policy li{
	padding:0 0.6em calc(4vw / 3) 1.5em;
	display:list-item;
	list-style:disc inside;
	border-left:none;
	text-align:left;
	justify-content::flex-start;
	text-indent:-1.5em;
	line-height:1.75;
}

footer nav ul.links.policy + ul.links.policy li{
	padding:0 0 calc(4vw / 3) 1.5em;
	margin-left:0.6em;
}

footer nav ul.links.policy li:nth-child(4n){
	display:none;
}

footer nav small{
	display:block;
	font-size:calc(6.4vw / 3);
	width:100%;
	text-align:right;
	bottom:0.75em;
}

footer a.logo{
	display:block;
	margin:calc(16vw / 3) auto calc(11.2vw / 3);
	width:calc(42vw / 3);
	height:8.8vw;
}

footer small{
	font-size:calc(8.8vw / 3);
}

a.pagetop{
	width:calc(18.4vw / 3);
	height:calc(18.4vw / 3);
	border-radius:3.2vw;
	right:calc(8vw / 3);
	bottom:calc(8vw / 3);
	background-size:2.4vw 2.4vw;
}

a.pagetop:hover{
	background-size:2.4vw 2.4vw;
}

footer ol.breadcrums{
	display:none;
	padding:calc(6.4vw / 3) calc(8vw / 3);
}

footer ol.breadcrums li{
	font-size:calc(8.8vw / 3);
}




/* 3. Main -------------------------------------------------------------------------------------*/

main{
}



/* 3.1. Toppage -------------------------------------------------------------------------------------*/

main#toppage{
	padding:calc(16vw / 3) calc(10vw / 3) calc(40vw / 3);
}

main#toppage h2{
	font-size:calc(18.4vw / 3);
	padding:12vw
	margin-top:12vw;
}

main#toppage section{
	padding:0;
}

main#toppage section > div{
	border-radius:2vw;
	padding:calc(16vw / 3);
	margin-top:calc(16vw / 3);
}

main#toppage a.button,
main#toppage a.button:hover{
	background-size:calc(13.6vw / 3) calc(13.6vw / 3);
	background-position:right calc(8vw / 3) center;
}

main#toppage div.important_notice{
	margin:0;
}

main#toppage div.important_notice h2{
	display:inline-block;
	background:#f30;
	color:#fff;
	font-size:calc(10.4vw / 3);
	padding:0.5em calc(32vw / 3);
	border-radius:1.5em;
}

main#toppage div.important_notice p{
	font-size:calc(11.2vw / 3);
	margin-top:1em;
}

/* 3.1.1. Section - Products */

main section.products{
	display:block;
	margin-top:0;
	padding-top:10px;
}

main section.products > div{
	width:100%;
	margin-top:calc(16vw / 3);
}

main section.products > div p.lead{
	font-size:calc(12.8vw / 3);
}

main section.products > div p.lead strong{
	font-size:calc(15.2vw / 3);
}

main section.products > div a.logo{
	height:22.4vw;
	padding:calc(10vw / 3) calc(28vw / 3);
	border-radius:calc(4vw / 3);
	margin-top:4vw;
	display:flex;
	align-items:center;
	justify-content:center;
}

main section.products > div a.logo img{
	height:100%;
	max-height:calc(47.2vw / 3);
}

main section.products > div.sougi a.logo,
main section.products > div.sougi a.logo:hover,
main section.products > div.bouquet a.logo,
main section.products > div.bouquet a.logo:hover{
	background-position:right calc(8vw / 3) center;
	background-size:calc(13.6vw / 3) calc(13.6vw / 3);
}

main section.products > div div.links{
	margin-top:calc(8vw / 3);
	min-height:auto;
	width:calc(100% + (32vw / 3));
	margin-left:calc(-16vw / 3);
}

main section.products > div.bouquet div.links{
	margin-top:4vw;
	margin-bottom:4vw;
}

main section.products > div div.links a{
	font-size:3.2vw;
}

main section.products > div div.links a:after{
	width:calc(18.4vw / 3);
	height:calc(18.4vw / 3);
	border-radius:3.2vw;
	background-size:2.4vw 2.4vw;
}

main section.products > div div.links a:hover:after{
	background-size:2.4vw 2.4vw;
}

main section.products > div.bouquet div.links a:after{
	top:calc(4vw / 3);
	margin-left:calc(4vw / 3);
}

main section.products > div a.request{
	justify-content:flex-start;
	margin-top:4vw;
	padding:calc(4vw / 3) calc(8vw / 3);
	min-height:calc(46vw / 3);
	background-size:calc(13.6vw / 3) calc(13.6vw / 3);
	background-position:right calc(8vw / 3) center;
}

main section.products > div a.request:hover{
	background-size:calc(13.6vw / 3) calc(13.6vw / 3);
	background-position:right calc(8vw / 3) center;
}

main section.products > div a.request p{
	font-size:calc(12.8vw / 3);
}

main section.products > div a.request p.sub{
	font-size:3.2vw;
	padding-left:1.6vw;
	padding-right:2vw;
}

/* 3.1.2. Section - Mypage */

main section.mypage{
}

main section.mypage div.login{
	display:flex;
	flex-direction:column;
}

main section.mypage div.login p{
	font-size:calc(13.6vw / 3);
}

main section.mypage div.login a.login{
	margin:calc(16vw / 3) auto 0;
	max-width:calc(164vw / 3);
	height:12.8vw;
	line-height:12.8vw;
	font-size:calc(12.8vw / 3);
}

main section.mypage div.links{
	margin-top:calc(16vw / 3);
	margin-left:calc(-16vw / 3);
	width:calc(100% + (32vw / 3));
}

main section.mypage div.links a{
	padding-top:12vw;
	font-size:4.8vw;
}

main section.mypage div.links a:after{
	width:calc(18.4vw / 3);
	height:calc(18.4vw / 3);
	margin:calc(3.2vw / 3) auto 0;
	border-radius:3.2vw;
	background-size:2.4vw 2.4vw;
}

main section.mypage div.links a.renewal{
	background-position:top 1.6vw left 50%;
	background-size:calc(22.8vw /3) calc(22.8vw /3);
	flex-basis:calc(100% / 3);
}

main section.mypage div.links a.address{
	background-position:top 1.6vw left calc(50% + 0.8vw);
	flex-basis:calc(100% / 3);
	background-size:8.4vw 7.2vw;
}

main section.mypage div.links a.claim{
	background-position:top 1.6vw left 50%;
	flex-basis:calc(100% / 3);
	background-size:10vw 7.2vw;
}

/* 3.1.3. Section - Pickup */

main#toppage section.pickup{
	width:100vw;
	margin-left:calc(-10vw / 3);
	margin-top:calc(40vw / 3);
	padding:calc(20vw / 3) 0;
}

main#toppage section.pickup ul li{
	max-width:calc(125.6vw / 3)
	margin-right:calc(16vw / 3);
}

main#toppage section.pickup ul li a{
	border-radius:2vw;
}

/* 3.1.4. Section - News */

main section.news{
}

main section.news ul li a{
	display:block;
	padding:calc(12.8vw / 3) 8vw calc(12.8vw / 3) 0;
	padding-right:8vw;
	background-position:right calc(6.4vw / 3) center;
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
}
main section.news ul li:first-child a{
	background-position:right calc(6.4vw / 3) top calc(50% - (6.4vw / 3));
}

main section.news ul li a time{
	font-size:3.2vw;
}

main section.news ul li a i.category{
	position:relative;
	font-size:calc(6.4vw / 3);
	margin:0 calc(16vw / 3);
	top:calc(-1.6vw / 3);
	border-radius:calc(8vw / 3);
}

main section.news ul li a p{
	display:block;
	font-size:calc(11.2vw / 3);
	line-height:1.5;
	margin-top:1.6vw;
}

main section.news a.newslist{
	font-size:calc(8.8vw / 3);
	margin:4.8vw auto 0;
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
	margin-top:calc(16vw / 3);
	padding:0.6em calc(16vw / 3);
	width:calc(104vw / 3);
	box-shadow:0 calc(0.8vw / 3) 0.8vw rgba(0,0,0,0.5);
}

/* 3.1.5. Section - Free Dial */

main section.tel{
	margin-top:calc(40vw / 3);
}

main section.tel p.lead{
	font-size:calc(12.8vw / 3);
}

main section.tel address.freedial{
	font-size:calc(18.4vw / 3);
	background-size:calc(26.2vw / 3) calc(14.8vw / 3);
	padding-left:9.6vw;
	margin-top:calc(8vw / 3);
}

main section.tel address.freedial + p{
	font-size:calc(8.8vw / 3);
	margin-top:0.75em;
}

main section.tel a.faq{
	font-size:calc(8.8vw / 3);
	margin:4.8vw auto 0;
	background:#fff url(../images/chevron-right_blue.svg) right 0.8em center no-repeat;
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
	padding:0.6em calc(16vw / 3);
	width:calc(104vw / 3);
	border-radius:1.5em;
}

main section.tel a.faq:hover{
	background:#014099 url(../images/chevron-right_over.svg) right 0.8em center no-repeat;
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
}


/* 3.1.5. Section - Relay Service */

main#toppage section.relay_service{
	border-radius:2vw;
	padding:calc(16vw / 3);
	margin-top:8vw;
}




/* 3.1.1. Slider -------------------------------------------------------------------------------------*/

section.slider{
	width:100vw;
	height:calc((200vw / 3) + 28px + (0.047 * 100vw));
	overflow-y:clip;
	position:static;
	margin-top:calc(40vw / 3);
}

section.slider img{
	width:100vw;
	height:calc(200vw / 3);
	position:relative;
	z-index:2;
}
.slider .bx-wrapper .bx-pager.bx-default-pager a:hover:after{
	background:#600;
}




/* 3.2. Common -------------------------------------------------------------------------------------*/

main{
	text-align:center;
}

main section{
	padding:0 calc(16vw / 3);
}

main:not(#toppage){
	padding-top:calc(40vw / 3);
}

main:not(#toppage):before{
	border-bottom:calc(0.8vw / 3) solid #fff;
	height:calc(80vw / 3);
	top:calc((0.047 * 100vw) + (8vw / 3));
}

main h1{
	font-size:calc(18.4vw / 3);
	padding:6.4vw calc(16vw / 3);
}

main h1 + section{
	padding-top:24.8vw;
}

main h1 + h2{
	margin-top:24.8vw;
}

main h2{
	font-size:calc(18.4vw / 3);
	margin-top:12vw;
}

main h2.lead{
	max-width:calc(100% - (25.6vw / 3));
}

main h2.lead:after{
	border-radius:0.4vw;
	height:0.8vw;
	width:calc(100% + (25.6vw / 3));
	margin-left:calc(-12.8vw / 3);
}

main h2.lead + p{
	margin-top:8vw;
}

main h3{
	font-size:calc(12.8vw / 3);
	margin-top:8vw;
	padding-left:1.6vw;
	text-indent:-1.6vw;
}

main h3:before{
	border-radius:0.4vw;
	width:0.8vw;
	top:0.4vw;
	margin-right:0.8vw;
}

main p{
	font-size:calc(11.2vw / 3);
}

main a.button{
	border-radius:calc(4vw / 3);
	border:calc(0.8vw / 3) solid #d70c19;
	box-shadow:0 calc(0.8vw / 3) 0.8vw rgba(0,0,0,0.5);
	background:#fff url(../images/chevron-right.svg) right calc(8vw / 3) center no-repeat;
	background-size:calc(1.36vw / 3) calc(1.36vw / 3);
}

main a.button.large{
	width:100%;
	border-radius:2vw;
}

main a.button:hover{
	background:#dc0014 url(../images/chevron-right_over.svg) right calc(8vw / 3) center no-repeat;
	background-size:calc(1.36vw / 3) calc(1.36vw / 3);
}




/* 3.3. Common -------------------------------------------------------------------------------------*/

main ul.separate_links.sps{
	width:calc(100% + (32vw / 3));
	margin-top:calc(16vw / 3);
	margin-left:calc(-16vw / 3);
}

main ul.separate_links.sps li{
	width:50%;
	padding:0 calc(12vw / 3);
}

main ul.separate_links.sps li + li{
	border-left:calc(0.8vw / 3) solid #f2c4c7;
}

main ul.separate_links.sps li a:after{
	width:calc(16vw / 3);
	height:calc(16vw / 3);
	border-radius:calc(8vw / 3);
	background-size:2.4vw 2.4vw;
	box-shadow:0 calc(0.8vw / 3) 0.8vw rgba(0,0,0,0.5);
	margin:9px auto 0;
}

main ul.separate_links:not(.sps){
	width:100%;
	flex-direction:column;
	padding:0 3.6vw;
}

main section > div ul.separate_links:not(.sps){
	padding:0;
}

main ul.separate_links:not(.sps) li{
	padding:calc(16vw / 3) 0;
	width:100%;
}
main section > div ul.separate_links:first-child:not(.sps) li:first-child{padding-top:0;}
main section > div ul.separate_links:not(.sps) + ul.separate_links:not(.sps) li:first-child{padding-top:calc(16vw / 3);}
main section > div ul.separate_links:last-child:not(.sps) li:last-child{padding-bottom:0;}

main ul.separate_links:not(.sps) li + li,
main section > div ul.separate_links:not(.sps) + ul.separate_links:not(.sps){
	border-top:calc(0.8vw / 3) solid #f2c4c7;
	border-left:none;
	width:100%;
	margin-top:0;
}

main ul.separate_links:not(.sps) li + li:before{
	display:none;
}

main ul.separate_links:not(.sps) li a{
	padding:8vw 0 17vw;
}

main ul.separate_links:not(.sps) li a strong{
	font-size:4.8vw;
	padding:0 calc(16vw / 3);
}

main ul.separate_links li a:after,
main ul.separate_links li a:hover:after{
	width:5.6vw;
	height:5.6vw;
	border-radius:2.8vw;
	background-size:2.4vw 2.4vw;
}

main section.related_links{
	margin-top:12vw;
}

main section.related_links:not(.sps){
	padding:calc(8vw / 3) calc(16vw / 3) calc(32vw / 3);
}

main section.related_links ul.separate_links.sps{
	margin:calc(16vw / 3) 0 0;
	width:100%;
}

main section.related_links ul.separate_links:not(.sps){
	padding:0;
}

main section.related_links ul.separate_links:not(.sps) + ul.separate_links:not(.sps){
	margin-top:0;
	border-top:calc(0.8vw / 3) solid #f2c4c7;
}

main section.related_links ul.separate_links li{
	font-size:calc(12.8vw / 3);
	padding-left:0;
}

main section.related_links ul.separate_links li a:after{
	width:4.2vw;
	height:4.2vw;
	top:calc(1.6vw / 3);
}

main section.related_links ul.separate_links.sps li + li{
	padding-leftcalc(16vw / 3);
	padding-right:0;
}

main section.related_links ul.separate_links:not(.sps) li{
	padding-left:0;
	padding-right:0;
}

main section.related_links ul.separate_links:not(.sps) li a{
	padding:0;
}

main ul.separate_links li a:hover:after{
	background-size:2.4vw 2.4vw;
}

main ul.separate_links li a span{
	font-size:calc(11.2vw / 3);
}

main ul.separate_links li a strong{
	font-size:calc(14.4vw / 3);
}

ul.plan{
	margin:0;
}

ul.plan li{
	margin-top:calc(16vw / 3);
	width:calc(50% - (	8vw / 3));
}

ul.plan li a.button.fixed-S,
ul.plan li a.button.fixed-P,
ul.plan li a.button.fixed-S:hover,
ul.plan li a.button.fixed-P:hover{
	background-position:center right 4vw;
	background-size:calc(13.6vw / 3) calc(13.6vw / 3);
}

main section.estimate{
	padding:calc(26vw / 3) calc(16vw / 3) calc(32vw / 3);
}

main section.estimate p.lead{
	font-size:calc(12.8vw / 3);
	padding:calc(6.4vw / 3) 0 4.8vw;
	background-size:calc(47.6vw / 3) 12.4vw;
	width:calc(248vw / 3);
	margin-bottom:6px;
	text-indent:-0.5em;
}

main section a.button.estimate,
main section a.button.estimate:hover{
	background-position:center right 4vw;
	background-size:3.6vw 3.6vw;
	padding:1vw 0 2vw;
	width:calc(248vw / 3);
}

main section a.button.estimate p{
	font-size:3.2vw;
}

main section a.button.estimate strong{
	font-size:6vw;
}

main section.request{
	padding:calc(32vw / 3) calc(16vw / 3) calc(128vw / 3);
	background-position:bottom calc(-32.32vw / 3) center;
	background-size:26.88vw 53.44vw;
}

main section.request a.button{
	margin:0 auto;
	padding:calc(5vw / 3) 0 calc(4vw / 3);
	background-position:center right 4vw;
	background-size:3.6vw 3.6vw;
	width:calc(248vw / 3);
}

main section.request a.button p{
	margin-top:0;
	font-size:3.2vw;
}

main section.request a.button strong{
	font-size:6vw;
}

main section.request p.tel{
	font-size:6.4vw;
	display:block;
}

main section.request address.freedial{
	display:inline-block;
	font-size:6.4vw;
	background-size:7.8vw 4.56vw;
	padding-left:10vw;
	line-height:1.25;
}

main section.request address.freedial + p{
	font-size:calc(8.8vw / 3);
}

main h2 + table{
	margin-top:8vw;
}

main table tr th,
main table tr td{
	display:block;
	font-size:calc(11.2vw / 3);
	padding:4vw 0 0;
	width:100%;
	border-bottom:calc(0.8vw / 3) solid #f2c4c7;
}

main table tr:first-child td{
	padding-top:2vw;
}

main table tr th{
	border-bottom:none;
}

main table tr td{
	padding:2vw 0 4vw
}

main table.data{
	margin-top:calc(16vw / 3);
	display:block;
	overflow-x:auto;
}

main table.data tbody{
	display:table;
	white-space:nowrap;
}

main table.data tr:first-child th:first-child,
main table.data tr:first-child td:first-child{
	border-top-left-radius:2vw;
}

main table.data tr:first-child th:last-child,
main table.data tr:first-child td:last-child{
	border-top-right-radius:2vw;
}

main table.data tr:last-child th:first-child,
main table.data tr:last-child td:first-child{
	border-bottom-left-radius:2vw;
}

main table.data tr:last-child th:last-child,
main table.data tr:last-child td:last-child{
	border-bottom-right-radius:2vw;
}

main table.data tr{
}

main table.data tr th,
main table.data tr td{
	display:table-cell;
	min-width:10em;
	border-right:calc(0.8vw / 3) solid #fff;
	border-bottom:calc(0.8vw / 3) solid #fff;
}

main table.data tr:first-child th,
main table.data tr:first-child td{
	border-top:calc(0.8vw / 3) solid #fff;
}

main table.data tr th:first-child,
main table.data tr td:first-child{
	border-left:calc(0.8vw / 3) solid #fff;
}

main table.data tr td.num{
	width:3em;
	min-width:3em;
	text-align:center;
}

main table.data.pricelist{
	margin-top:10px;
}

main table.data.pricelist tr th,
main table.data.pricelist tr td,
main table.data.pricelist tr:first-child th,
main table.data.pricelist tr:first-child td{
	font-size:4.8vw;
	padding:2vw;
}

main table.data.pricelist tr:nth-child(2) th{
	font-size:5.6vw;
}

main section.data_table_wrap{
	position:relative;
}

main section.data_table_wrap span.scrollable{
	display:block;
	position:absolute;
	right:1vw;
	top:calc(50% - 8vw);
	background:rgba(183,213,255,0.5) url(../images/chevron-right_over.svg) center no-repeat;
	opacity:0.75;
	width:8vw;
	height:10vw;
	border-radius:2vw;
	background-size:6vw 6vw;
	box-shadow:0 0.4vw 0.8vw rgba(0,0,0,0.5);
}

main section.executive table tr.fth th{
	border-radius:0 0 0 2vw;
}


main section.executive table td span{
	position:static;
	padding:0;
}

main section.executive table tr th,
main section.executive table tr td{
	display:table-cell;
	padding:3vw 0;
}

main section.executive table tr th{
	width:25%;
	min-width:8em;
	border-bottom:calc(0.8vw / 3) solid #f2c4c7;
}

main section.executive table tr:first-child th,
main section.executive table tr:first-child td{
	padding-top:0;
}

main section.executive table tr td span{
	display:inline-block;
	width:auto;
	min-width:100%;
}

main section.executive table tr td span.bl{
	display:none;
}

main section.executive table tr.fth th{
	border-radius:0 0 0 2vw;
}

main div.important_notice h2{
	font-size:calc(10.4vw / 3);
	padding:0.25em calc(16vw / 3);
}

main div.important_notice p{
	font-size:calc(11.2vw / 3);
	padding:0 calc(16vw / 3);
}

main section ul.tab li a{
	padding:calc(11.2vw / 3) 0;
	font-size:4.8vw;
	border-radius:2vw 2vw 0 0;
	padding:3.2vw;
}

main section ul.tab li a span{
	display:inline-block;
}




/* 3.4. Sougi Hoken  -------------------------------------------------------------------------------------*/

main.sougi-hoken section.sougi-hoken{
	display:block;
	padding:28vw calc(16vw / 3) 10vw;
}

main.sougi-hoken section.sougi-hoken:after{
	bottom:calc(-10.4vw / 3);
	left:calc(50% - (10.4vw / 3));
	width:(-20.8vw / 3);
	height:calc(10.4vw / 3);
}

main.sougi-hoken section.sougi-hoken.index dl dt img{
	width:78vw;
}

main.sougi-hoken section.sougi-hoken.index dl dd{
	font-size:calc(12.8vw / 3);
	margin-top:calc(20vw / 3);
}

main.sougi-hoken section.sougi-hoken.index ul{
	max-width:none;
	width:100%;
}

main.sougi-hoken section.sougi-hoken.index ul li{
	width:80vw;
	margin:calc(16vw / 3) auto 0;
}

main.sougi-hoken section.sougi-hoken.index ul li a.button{
	font-size:4.8vw;
	height:calc(40vw / 3);
	line-height:calc(40vw / 3);
	background-size:2.4vw 2.4vw;
	background-position:center right calc(16vw / 3) no-repeat;
}

main.sougi-hoken section.plan a.button,
main.sougi-hoken section.plan a.button:hover{
	padding-bottom:calc(36vw / 3);
	background-position:bottom 4vw center;
}

main.sougi-hoken section.plan a.button strong{
	font-size:4.8vw;
	line-height:1.25;
}

main.sougi-hoken section.plan a.button strong:before{
	width:3em;
	text-indent:2em;
}

main.sougi-hoken section.plan a.button em{
	font-size:calc(8.8vw / 3);
	margin-top:0.75em;
}

main.sougi-hoken section.service ul.separate_links{
	margin-top:4vw;
}

main.sougi-hoken section.service ul.separate_links a{
	padding-bottom:4vw;
}

main.sougi-hoken section.service ul.separate_links li:first-child,
main.sougi-hoken section.service ul.separate_links li:last-child{
	padding-right:0;
	padding-left:0;
}

main.sougi-hoken section.pickup{
	margin-top:16vw;
	padding:0;
}

main.sougi-hoken section.pickup ul.separate_links{
	width:100%;
	flex-direction:column;
	padding:0 3.6vw;
}

main.sougi-hoken section.pickup ul.separate_links li{
	padding:0;
	width:100%;
}

main.sougi-hoken section.pickup ul.separate_links li + li{
	border-top:calc(0.8vw / 3) solid #f2c4c7;
}

main.sougi-hoken section.pickup ul.separate_links li + li:before{
	display:none;
}

main.sougi-hoken section.pickup ul.separate_links li a{
	padding:8vw 0 17vw;
}

main.sougi-hoken section.pickup ul.separate_links li a.flow span{
	letter-spacing:0;
}

main.sougi-hoken section.pickup ul.separate_links li a strong{
	font-size:6vw;
	padding:0 calc(16vw / 3);
}

main.sougi-hoken section.pickup ul.separate_links li a.flow{
	background-size:calc(72.8vw / 3) calc(58.8vw / 3);
}

main.sougi-hoken section.pickup ul.separate_links li a.voice{
	background-size:calc(151.6vw / 3) 15.2vw;
}

main.sougi-hoken section.sougi-hoken + section h2{
	margin-top:calc(28vw / 3);
}

/* 3.4.1. Sougi Hoken - product */

main section.about > div{
	display:block;
	margin-top:8vw;
	padding:calc(16vw /3);
	border-radius:2vw;
}

main section.about > div img{
	display:block;
	width:calc(164.8vw / 3);
	height:calc(76vw /3);
	margin:2vw auto calc(8vw /3);
}

main section.about > div p{
	margin:0.25em 0 0;
}

main section.about > div a.button{
	font-size:4.8vw;
	width:calc(204.8vw / 3);
	height:calc(36.8vw / 3);
	line-height:calc(36.8vw / 3);
	background-size:2.4vw 2.4vw;
	background-position:center right calc(16vw / 3);
	margin:4vw auto 0;
}

main section.about > div + h3{
	margin-top:calc(16vw / 3);
}

main section.recommend h2{
	margin-top:calc(24vw / 3);
}

main section.recommend ul.point{
	margin-top:calc(6.4vw / 3);
}

main section.recommend ul.point li{
	font-size:calc(8.8vw / 3);
}

main section.recommend ul.point li:first-child{
	text-align:center;
	margin-right:calc(16vw / 3);
	padding-right:0;
	padding-top:50vw;
	background:url(../../sougi-hoken/images/recommend_img_bg01_sp.png) top center no-repeat;
	background-size:contain;
}

main section.recommend ul.point li:last-child{
	text-align:center;
	padding-left:0;
	padding-top:50vw;
	background:url(../../sougi-hoken/images/recommend_img_bg02_sp.png) top center no-repeat;
	background-size:contain;
}

main section.recommend ul.point li strong{
	font-size:calc(100% * (13 / 11));
}

main section.features{
	margin-top:calc(20vw / 3);
	padding:calc(26vw / 3) calc(16vw / 3) calc(32vw / 3);
}

main section.features h2{
	margin-top:0;
}

main section.features div{
	border-radius:2vw;
	padding-bottom:calc(16vw / 3);
}

main section.features div h3{
	font-size:calc(16vw / 3);
	border-radius:2vw 2vw 0 0;
	padding:5.8vw 32vw 5.8vw calc(16vw / 3);
	line-height:1.5;
	text-align:left;
}

main section.features div.feature1 h3{
	background-position:bottom right 6vw;
	background-size:calc(74.24vw / 3) calc(74.24vw / 3);
}
main section.features div.feature2 h3{
	background-position:bottom right 6vw;
	background-size:calc(56.96vw / 3) calc(74.24vw / 3);
}
main section.features div.feature3 h3{
	background-position:bottom right 2vw;
	background-size:28.8vw calc(71.68vw / 3);
}

main section.features div h3:before{
	display:none;
}

main section.features h2 + div h3{
	margin-top:8vw;
}

main section.features div em{
	font-size:9.6vw;
	padding-left:calc(16vw / 3);
	margin-top:calc(20vw / 3);
}

main section.features div em span{
	margin-right:2vw;
}

main section.features div em span:after{
	bottom:calc(1.6vw / 3);
	width:100%;
	height:0.8vw;
	border-radius:0.4vw;
}

main section.features h4{
	font-size:4.8vw;
	bottom:0.8vw;
	margin-top:0.5em;
	display:block;
}

main section.features h4 strong{
	font-size:125%;
}

main section.features div p{
	padding:0 calc(16vw / 3);
	margin-top:calc(4vw / 3);
}

main section.features h3 + p{
	margin-top:calc(12vw / 3);
}

main section.features ul.plan{
	display:block;
	padding: 0 calc(16vw / 3);
	margin-top:calc(20vw / 3);
}

main section.features ul.plan li{
	width:100%;
}

main section.features ul.plan li a.button{
	font-size:calc(18.4vw / 3);
	padding:2vw 0 calc(13.6vw / 3);
}

main section.features div.links{
	margin-top:calc(12.8vw / 3);
	min-height:0;
	text-align:center;
}

main section.features div.links a{
	display:block;
	font-size:calc(11.2vw / 3);
	padding:calc(4vw / 3) calc(8vw / 3) calc(4vw / 3) 0;
}

main section.features div.links a:hover{
	text-decoration:none;
}

main section.features div.links a + a{
	border-left:2px solid #f2c4c7;
	padding:calc(4vw / 3) 0 calc(4vw / 3) calc(8vw / 3);
}

main section.features div.links a p{
	margin:calc(4vw / 3) 0 0;
}

main section.features div.links a strong{
	font-size:calc(100% * (9 / 7));
	margin-top:calc(4vw / 3);
}

main section.features div.links a strong:after{
	display:block;
	position:static;
	margin:calc(4vw / 3) auto 0;
	width:6.4vw;
	height:6.4vw;
	border-radius:3.2vw;
	background-size:2.4vw 2.4vw;
	box-shadow:0 calc(0.8vw / 3) 0.8vw rgba(0,0,0,0.5);
}

main section.features div.links a:hover strong:after{
	background:#dc0014 url(../images/chevron-right_over.svg) center no-repeat;
	background-size:14px 14px;
}

main section.products > div.bouquet div.links a:after{
	display:inline-block;
	position:relative;
	top:10px;
	margin-left:15px;
}


/* 3.4.2. Sougi Hoken - Fixed-S */

main section.product.detail ul.tab{
	margin-top:calc(8vw / 3);
}

main section.product.detail div.female,
main section.product.detail div.male,
main section.product.detail div.tel{
	padding:calc(16vw / 3);
}

main section.product.detail div.tel{
	border-radius:0 0 2vw 2vw;
}

main section.product.detail h4{
	font-size:4.8vw;
}

main section.product.detail section.data_table_wrap + h4{
	margin-top:calc(16vw / 3);
}

main section.product.detail div.male p,
main section.product.detail div.female p{
	font-size:calc(10.4vw / 3);
}

main section.product.detail div.tel p.tel{
	font-size:6.4vw;
	display:block;
}

main section.product.detail div.tel address.freedial{
	display:inline-block;
	font-size:6.4vw;
	background-size:7.8vw 4.56vw;
	padding-left:10vw;
	line-height:1.25;
}

main section.product.detail div.tel address.freedial + p{
	font-size:calc(8.8vw / 3);
}

main.sougi-hoken section.notice ul li{
	font-size:calc(11.2vw / 3);
}


/* 3.4.3. Sougi Hoken - Fixed-P */



/* 3.4.5. Sougi Hoken - Voice */

main section.voice div.voice_list{
	border-radius:2vw;
	padding:0 calc(16vw / 3);
	margin-top:8vw;
}

main section.voice div.voice_list details{
	padding:calc(16vw / 3) 0;
	display:block;
	min-height:0;
	overflow:hidden;
	height:auto;
}

main section.voice div.voice_list details:not(.notoggle){
	height:auto;
}

main section.voice div.voice_list details:not(.notoggle)[open]{
	padding-bottom:calc(32vw / 3);
}

main section.voice div.voice_list details:not(.notoggle):after{
	width:calc(100% + (32vw / 3));
	height:15vw;
	left:calc(-16vw / 3);
	box-shadow:inset 0 -6vw 5vw 3vw #f5f5f5;
	bottom:0;
}

main section.voice div.voice_list details[open]:not(.notoggle):after{
	display:none;
}

main section.voice div.voice_list details.notoggle{
	min-height:calc(128vw / 3);
	height:auto;
}

main section.voice div.voice_list details:not(.notoggle) summary{
	position:static;
}

main section.voice div.voice_list details:not(.notoggle) summary:after{
	width:calc(20vw / 3);
	height:calc(20vw / 3);
	border-radius:calc(4vw / 3);
	background-size:2.4vw 2.4vw;
	top:calc(100% - (34vw / 3));
	position:absolute;
}

main section.voice div.voice_list details summary + p:before{
	content:"";
	display:block;
	width:28vw;
	height:28vw;
}

main section.voice div.voice_list details summary div.summary{
	height:34vw;
}

main section.voice div.voice_list details summary div.summary p:first-child,
main section.voice div.voice_list details summary + div p:first-child{
	margin-top:0.5em;
}

main section.voice div.voice_list details summary h3 + p{
	font-size:calc(10.4vw / 3);
}

main section.voice div.voice_list details summary picture{
	width:24vw;
	height:24vw;
	top:2.4vw;
	border-radius:4vw;
	position:relative;
	float:right;
	margin:0 0 4vw 4vw;
}

main section.voice div.voice_list details summary picture img{
	width:100%;
}

main section.voice div.voice_list details.notoggle summary + div:before{
	height:12vw;
}


/* 3.4.7. Sougi Hoken - Quick Payment */

main section.about table.data tr th{
	min-width:4em;
	width:4em;
}


/* 3.4.8. Sougi Hoken - Anshin Payment */

main section.anshin-payment.about h3.lead em,
main section.anshin-payment.about h3.lead strong{
	font-size:143.75%;
}

main section.anshin-payment.about h3:not(.lead){
	font-size:6.4vw;
	margin:calc(20vw / 3) 0 0.5em;
}

main section.anshin-payment.about picture,
main section.anshin-payment.about img{
	max-width:80vw;
}

main section.anshin-payment.flow div{
	border-radius:2vw;
	padding:calc(16vw / 3);
	margin-top:calc(28vw / 3);
}

main section.anshin-payment.flow div h2{
	font-size:5.6vw;
	margin:calc(4vw / 3) 0;
}

main section.anshin-payment.flow div + p{
	margin-top:calc(20vw / 3);
}

main section.anshin-payment.features p.notes{
	font-size:calc(8.8vw / 3);
}

main section.anshin-payment.usage div{
	border-radius:2vw;
	padding:calc(16vw / 3);
	margin-top:calc(32vw / 3);
}

main section.anshin-payment.usage div h2{
	font-size:calc(4.8vw / 3);
}

main section.anshin-payment.usage div address.freedial{
	font-size:calc(18.4vw / 3);
	background-size:calc(26.2vw / 3) calc(14.8vw / 3);
	padding-left:9.6vw;
	margin-top:calc(8vw / 3);
}

main section.anshin-payment.usage div address.freedial + p{
	font-size:calc(8.8vw / 3);
	margin-top:0.75em;
}


/* 3.4.9. Sougi Hoken - Process */

main section.process ul.tab{
	margin-top:calc(20vw / 3);
}

main section.process div{
	border-radius:0 0 2vw 2vw;
	padding:10vw calc(16vw / 3) calc(16vw / 3);
}

main section.process h4.caution{
	font-size:calc(11.2vw / 3);
}

main section.process > div div{
	border-radius:2vw;
	margin-top:12vw;
	padding:0 0 4.8vw;
}

main section.process > div div:first-child{
	margin-top:3vw;
}

main section.process > div div:after{
	width:8vw;
	height:10.24vw;
	bottom:calc(-44.8vw / 3);
	left:calc(50% - 4vw);
}

main section.process > div div.customer:after,
main section.process > div div.agency:after{
	background-size:8vw 10.24vw;
}

main section.process > div div h5{
	font-size:5.6vw;
	border-radius:2vw 2vw 0 0;
	margin-bottom:calc(56vw / 3);
}

main section.process > div div p{
	padding: 0 calc(16vw / 3);
}

main section.process > div div p.role{
	left:calc(50% - (44vw / 3));
	top:calc(46.4vw / 3);
	font-size:calc(10.4vw / 3);
	width:calc(88vw / 3);
	height:calc(64vw / 3);
	padding:calc(44.8vw / 3) 0 0;
}

main section.process > div div.customer p.role,
main section.process > div div.agency p.role{
	background-size:calc(88vw / 3) calc(64vw / 3);
}

main section.process > div div a.button{
	font-size:calc(8.8vw / 3);
	width:calc(104vw / 3);
	background-size:2vw 2vw;
	left:calc(50% - (52vw / 3));
}

main section.process > div div.conclusion{
	margin-top:calc(56vw / 3);
}

main section.process > div div.conclusion h4{
	font-size:calc(22.4vw / 3);
	padding-bottom:calc(160vw / 3);
	background-size:68.5vw 47.6vw;
}

main section.process > div div.conclusion p{
	font-size:4.8vw;
}

main section.process > div div.conclusion p.notes{
	font-size:calc(8.8vw / 3);
}

main section.process p.tel{
	font-size:calc(14.4vw / 3);
	padding:0;
}

main section.process address.freedial{
	font-size:5.6vw;
	background-size:8.8vw calc(15.2vw / 3);
	padding-left:calc(28vw / 3);
	margin-top:0.25em;
}

main section.process address.freedial + p{
	font-size:3.2vw;
}

main section.process.schedule{
	padding-top:calc(8vw / 3);
}

main section.process.schedule div{
	margin-top:calc(16vw / 3);
	padding:calc(16vw / 3);
	border-radius:2vw;
}

main section.process.schedule ul.separate_links li picture,
main section.process.schedule ul.separate_links li:last-child picture{
	padding:0;
}

main section.process.schedule ul.separate_links h4{
	font-size:calc(11.2vw / 3);
}

main section.process.schedule ul.separate_links img{
	margin:calc(16vw / 3) 0 calc(8vw / 3);
}

main section.process.schedule p.notes{
	font-size:calc(8.8vw / 3);
}

main section.process h2 + div.common{
	margin-top:8vw;
}

main section.process div.common{
	border-radius:2vw;
	padding-top:calc(16vw / 3);
	margin-top:4vw;
}

main section.process div.continuation div.conclusion p,
main section.process div.decline div.conclusion p,
main section.process.claim div.common div.conclusion p{
	font-size:calc(11.2vw / 3);
}

main section.process div.continuation div.conclusion p:first-child,
main section.process div.decline div.conclusion p:first-child{
	font-size:4.8vw;
}



/* 3.5. Kekkon Cancel  -------------------------------------------------------------------------------------*/

main section.kekkon-cancel{
	padding:30vw calc(16vw / 3) 38vw;
	display:block;
	text-align:center;
}

main section.kekkon-cancel.index div p{
	font-size:calc(11.2vw / 3);
	text-align:center;
	margin:1em auto 0;
}

main section.kekkon-cancel.index img{
	width:calc(233.6vw / 3);
	height:calc(132.8vw / 3);
	margin-right:0;
}

main section.kekkon-cancel.index ul{
	width:80vw;
	padding:0;
	margin:0 auto;
}

main section.kekkon-cancel.index ul li{
	margin-top:calc(16vw / 3);
}

main section.kekkon-cancel.index ul li a.button,
main section.kekkon-cancel.index ul li a.button:hover{
	font-size:4.8vw;
	height:calc(40vw / 3);
	line-height:calc(40vw / 3);
	background-size:2.4vw 2.4vw;
	background-position:center right calc(16vw / 3) no-repeat;
}

main.kekkon-cancel section.index + section.agency{
	background:url(/bouquet/images/index_bg_agency.png) top no-repeat;
	background-size:calc(141vw / 3) calc(250vw / 3);
	padding-top:32.4vw;
	margin-top:-34vw;
}

main.kekkon-cancel section.agency h2{
	margin-top:8vw;
}

main.kekkon-cancel section.agency p{
	margin-top:0.5em;
}

main.kekkon-cancel section.agency ul.plan{
	margin-top:4vw;
}

main.kekkon-cancel section.agency a.button.large{
	padding:6.5vw calc(16vw / 3);
	width:100%;
}

main.kekkon-cancel section.agency a.button strong{
	font-size:calc(22.4vw / 3);
	line-height:1.3
}

main.kekkon-cancel section.agency p.tel{
	font-size:6.4vw;
}

main.kekkon-cancel section.agency address.freedial{
	font-size:calc(18.4vw / 3);
	background-size:calc(26.2vw / 3) calc(14.8vw / 3);
	padding-left:9.6vw;
	margin-left:3.2vw;
}

main.kekkon-cancel section.agency address.freedial + p{
	font-size:calc(14.4vw / 3);
}

main.kekkon-cancel section.voice{
	margin-top:12vw;
}

main.kekkon-cancel section.voice a{
	max-width:100%;
	padding:8vw 0 16vw;
	background-size:calc(245.6vw / 3) calc(48.8vw / 3);
}

main.kekkon-cancel section.voice a:after{
	width:6.4vw;
	height:6.4vw;
	border-radius:3.2vw;
	background-size:2.4vw 2.4vw;
	margin:4px auto 0;
	margin:calc(4vw / 3) auto 0;
	box-shadow:0 calc(0.8vw / 3) 0.8vw rgba(0,0,0,0.5);
}

main.kekkon-cancel section.voice a:hover:after{
	background-size:2.4vw 2.4vw;
}

main.kekkon-cancel section.voice a span{
	font-size:4.8vw;
}

main.kekkon-cancel section.voice a strong{
	font-size:calc(22.4vw / 3);
}

main.kekkon-cancel section.request{
	background-position:bottom calc(-32.32vw / 3) center;
	background-size:26.88vw 53.44vw;
}

main.kekkon-cancel section.request a.button,
main.kekkon-cancel section.request a.button:hover{
	background-size:calc(13.6vw / 3) calc(13.6vw / 3);
	background-position:right calc(8vw / 3) center;
	padding:calc(20vw / 3) 0;
}


/* 3.5.1. Kekkon Cancel - Product Detail */

main h1 + section.product_name.bouquet{
	padding-top:24vw;
}

main section.product_name.bouquet h2{
	width:calc(164.8vw / 3);
	height:calc(102.4vw / 3);
}

main section.product.detail h2{
	margin-top:8vw;
}

main.kekkon-cancel section.product.detail a.button.request{
	font-size:4.8vw;
	background-position:center right calc(16vw / 3);
	background-size:calc(11.2vw / 3) calc(11.2vw / 3);
	height:calc(40vw / 3);
	line-height:calc(40vw / 3);
	width:75vw;
	margin:4vw auto 0;
	border-radius:2vw;
}

main.kekkon-cancel section.product.detail div.prepare{
	margin-top:10px;
}

main.kekkon-cancel section.product.detail div.prepare > div,
main.kekkon-cancel section.product.detail div.prepare > div:first-child + div{
	width:100%;
	padding:calc(16vw / 3);
	border-radius:2vw;
	margin-top:calc(16vw / 3);
}

main.kekkon-cancel section.product.detail div.prepare > div p.notes{
	font-size:calc(8.8vw / 3);
}

main.kekkon-cancel section.product.detail div.prepare > div img{
	margin-top:4vw;
}

main.kekkon-cancel section.product.detail div.prepare > div picture.eximg img{
	width:calc(100% + (8vw / 3));
	margin-left:calc(-8vw / 3);
}

main.kekkon-cancel section.product.detail table.data.bouquet{
	margin-top:8vw;
}

main.kekkon-cancel section.product.detail table.data.bouquet tr:first-child th,
main.kekkon-cancel section.product.detail table.data.bouquet tr:first-child + tr th{
	font-size:4.8vw;
}

main.kekkon-cancel section.product.detail.plan{
	padding:calc(16vw / 3);
}


/* 3.5.2. Kekkon Cancel - Voice */

main.kekkon-cancel section.voice.bouquet{
	background:none;
	padding:24.8vw calc(16vw / 3) 12vw;
}


main.kekkon-cancel section.voice.bouquet details summary h3 + p{
	font-size:calc(11.2vw / 3);
}

main.kekkon-cancel section.voice.bouquet details summary h3 + p strong{
	font-size:calc(900% / 7);
}


/* 3.5.2. Kekkon Cancel - Shop List */

main.kekkon-cancel section.bouquet.shop{
	padding-bottom:16vw;
}





/* 3.6. Policy Holder  -------------------------------------------------------------------------------------*/

main.subindex section > div{
	max-width:100%;
	margin:calc(16vw / 3) 0 0;
	border-radius:2vw;
	padding:calc(16vw / 3);
}

main.subindex section > div ul.separate_links.sps li:first-child{
	padding-right:calc(16vw / 3);
}

main.subindex section > div ul.separate_links.sps li:last-child{
	padding-left:calc(16vw / 3);
}
main.subindex section > div ul.separate_links:not(.sps) li:first-child,
main.subindex section > div ul.separate_links:not(.sps) li:last-child{
	padding-left:0;
	padding-right:0;
}

main.subindex section > div ul.separate_links.sps li a{
	padding:calc(2vw / 3) 0 calc(4vw / 3);
}

main.subindex section.news ul.news li a{
	padding:4vw 8vw 4vw 0;
}

main.subindex section.news > div{
	padding:0 calc(16vw / 3);
}

main.subindex section.news ul.news li a time{
	margin-right:calc(16vw / 3);
}

main.subindex section.procedure ul.separate_links li a{
	padding-top:12vw;
}

main.policyholder section.procedure ul.separate_links li a.renewal{
	background-position:top 1.6vw left 50%;
	background-size:calc(22.8vw /3) calc(22.8vw /3);
}

main.subindex section.procedure ul.separate_links li:first-child,
main.subindex section.procedure ul.separate_links li:last-child{
	padding-left:0;
	padding-right:0;
}

main.policyholder section.procedure ul.separate_links li a.address{
	background-position:top 1.6vw left calc(50% + 0.8vw);
	flex-basis:calc(100% / 3);
	background-size:8.4vw 7.2vw;
}

main.policyholder section.procedure ul.separate_links li a.claim{
	background-position:top 1.6vw left 50%;
	flex-basis:calc(100% / 3);
	background-size:10vw 7.2vw;
}

main.policyholder section.procedure ul.separate_links li a.coolingoff{
	background-position:top 1.6vw left 50%;
	flex-basis:calc(100% / 3);
	background-size:calc(28.4vw /3) calc(24.8vw /3);
}

main.policyholder p.notes{
	font-size:calc(8.8vw / 3);
}

main.policyholder a.button.form{
	font-size:4.8vw;
	background-position:center right calc(16vw / 3);
	background-size:calc(11.2vw / 3) calc(11.2vw / 3);
	height:calc(40vw / 3);
	line-height:calc(40vw / 3);
	width:75vw;
	margin:4vw auto 0;
	border-radius:2vw;
}

main.policyholder a.button.form:hover{
	background-position:center right calc(16vw / 3);
	background-size:calc(11.2vw / 3) calc(11.2vw / 3);
}



/* 3.7. Fun  -------------------------------------------------------------------------------------*/

main div:has(ul.separate_links.logo_link){
	background:#f5f5f5 url(../../fun/images/fun_logo_bg_sp.svg) center no-repeat;
	background-size:106vw 56.6vw;
}

main.subindex section > div ul.separate_links.logo_link li a{
	padding:calc(10vw / 3) 0;
}

main.subindex section > div ul.separate_links.logo_link li a:after{
	margin:calc(8vw / 3) auto 4vw;
}


/* 3.7.1. Fun - Gallery */

main.fun section.gallery > div{
	border-radius:2vw;
	padding:calc(16vw / 3);
	margin-top:8vw;
}

main.fun section.gallery div.cm li,
main.fun section.gallery div.cm li:nth-child(2){
	width:100%;
	margin-top:calc(20vw / 3);
}

main.fun section.gallery div.cm li:first-child{
	margin-top:0;
}

main.fun section.gallery div.cm li div{
	border-radius:2vw;
}

main.fun section.gallery div.cm li h3{
	font-size:calc(11.2vw / 3);
}

main.fun section.gallery div.cm li p{
	font-size:calc(10.4vw / 3);
}


/* 3.7.2. Fun - Column */

main.fun section.column p.notes{
	font-size:calc(8.8vw / 3);
}

main.fun section.column.vol1{
	padding-bottom:calc(208vw / 3);
	background-size:calc(171.2vw / 3) 64vw;
}

main.fun section.column.vol1 picture{
	margin:8vw auto;
}

main.fun section.column.vol1 img{
	width:100%;
}


/* 3.7.3. Fun - Campaign */

main.fun section.campaign{
	padding-bottom:calc(40vw / 3);
}

main.fun section.campaign div.prize img,
main.fun section.campaign div.prize p{
	margin-top:calc(16vw / 3);
}

main.fun section.campaign table.data{
	margin-top:calc(32vw / 3);
}

main.fun section.campaign table.data tr th{
	width:calc(5em + (32vw / 3));
}

main.fun section.campaign table.data tr td span.notes{
	font-size:calc(100% * (13 / 14));
}




/* 3.8. Corporate  -------------------------------------------------------------------------------------*/

main section.message div{
	padding:0;
	margin-top:6.4vw;
}

main section.message div picture{
	width:60vw;
	height:80vw;
	border-radius:4vw;
	position:static;
	margin:0 auto calc(16vw / 3);
}

main section.message p.messageby{
	margin-top:2em;
}

main section.philosophy{
	padding:24.8vw calc(16vw / 3) calc(32vw / 3);
}

main section.philosophy div{
	padding:0 6vw;
}

main section.philosophy div h3:before{
	display:none;
}

main section.philosophy h2 + div h3{
	margin-top:8vw;
}

main section.philosophy div em{
	font-size:4.8vw;
	padding-left:0;
	margin-top:calc(20vw / 3);
	line-height:1.6;
}

main section.philosophy h4{
	font-size:4.8vw;
	margin-top:-1.6em;
	margin-left:0;
	line-height:1.6;
	padding-left:1.5em;
}

main section.philosophy div p{
		padding:0;
}

main section.outline > div,
main section.executive > div,
main section.history > div,
main section.disclosure > div,
main section.access > div{
	border-radius:2vw;
	padding:calc(16vw / 3);
	margin-top:5.6vw;
}

main section.history > div table tr th,
main section.access > div table tr th{
	width:100%;
}

main section.access div div.gmap{
	height:56vw;
}

main section.disclosure div.cover a{
	flex-wrap:nowrap;
}

main section.disclosure div.cover img{
	min-width:24vw;
	box-shadow:0.5vw 0.5vw 1vw rgba(0,0,0,0.2);
}

main section.disclosure div.cover h3{
	margin-left:calc(16vw / 3);
}

main section.disclosure div.cover h4,
main section.disclosure div.cover p{
	padding-left:calc(16vw / 3);
	height:auto;
}

main section.disclosure div.cover h4{
	font-size:4.8vw;
}

main section.disclosure div.cover a h4:after{
	width:5.6vw;
	height:5.6vw;
	background-size:2.4vw 2.4vw;
	border-radius:2.8vw;
	top:0.1em;
}

main section.disclosure div.cover a:hover h4:after{
	background-size:2.4vw 2.4vw;
}

main section.disclosure div.cover p.format{
	font-size:calc(10.4vw / 3);
}

main section.disclosure.news ul li a{
	font-size:calc(11.2vw / 3);
	padding:calc(12.8vw / 3) calc(12.8vw / 3) calc(12.8vw / 3) 0;
}

main section.disclosure div.item-disclose{
	padding:0 0 calc(16vw / 3);
}

main section.disclosure div.item-disclose table.data{
	margin-top:calc(4vw / 3);
}

main section.disclosure div.item-disclose div.item-solvencyMargin{
	padding:calc(16vw / 3);
	margin-top:calc(16vw / 3);
}

main section.disclosure div.item-disclose div.item-solvencyMargin p:first-child{
	font-size:4.8vw;
}

main section.disclosure div.item-disclose div.item-solvencyMargin p:first-child strong{
	display:block;
	margin-top:0.5em;
}

main section.disclosure div.item-disclose h4{
	font-size:calc(11.2vw / 3);
	margin-top:calc(16vw / 3);
}

main section.disclosure div.item-disclose h3 + section.data_table_wrap table.data{
	margin-top:calc(16vw / 3);
}

main section.disclosure div.item-disclose p.notes{
	font-size:calc(8.8vw / 3);
}

main section.disclosure a.button.back:before,
main section.disclosure a.button.back:hover:before{
	width:calc(5.6vw / 3);
	height:calc(5.6vw / 3);
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
	top:calc(50% - (2.8vw / 3));
}

main section.disclosure a.button.back{
	font-size:calc(8.8vw / 3);
	margin:calc(32vw / 3) auto 0;
	padding:0.6em calc(16vw / 3);;
	width:40vw;
	border-radius:1.5em;
}

main.sougi-hoken section.notice ul li{
	font-size:calc(11.2vw / 3);
}

main.sougi-hoken section.attention{
	margin-top:12vw;
	padding:0 calc(16vw / 3) 8vw;
}

main.sougi-hoken section.attention h2.lead{
	margin-top:30px;
}

main.sougi-hoken section.attention h4{
	font-size:calc(12.8vw / 3);
}

main.sougi-hoken section.attention ol li{
	font-size:calc(11.2vw / 3);
}

main section.social > div{
	flex-direction:column;
	align-items:center;
}

main section.social > div picture{
	padding-left:0;
	margin-top:calc(12vw / 3);
}

main section.social > div.hawks picture{
	width:60%;
	nax-width:60%;
}

main section.social > div.v-varen picture{
	width:80%;
	nax-width:80%;
}





/* 3.9. News  ------------------------------------------------------------------------------------- */

main h1 + div.important_notice,
main h1 + section.archive_list{
	margin-top:24.8vw;
}

main section.archive_list{
	padding:0;
	margin-top:calc(16vw / 3);
}

main section.archive_list a.control{
	display:none;
}

main section.archive_list ul.archive{
	flex-direction:column;
	overflow:hidden;
	height:calc(11.2vw + (1.6vw / 3));
}

main section.archive_list ul.archive.open{
	height:auto;
}

main section.archive_list ul.archive li{
	font-size:calc(11.2vw / 3);
	position:static;
	padding:0;
	line-height:11.2vw;
	text-align:left;
	display:block;
	z-index:2;
	border:calc(0.8vw / 3) solid #014099;
	border-bottom:none;
	display:none;
}

main section.archive_list ul.archive.open li{
	display:block;
}

main section.archive_list ul.archive li:has(a.selected){
	display:block;
	background:none;
	margin-bottom:calc(1.6vw / 3);
	background:#fff;
	border:calc(0.8vw / 3) solid #014099;
	border-radius:2vw;
}

main section.archive_list ul.archive li:has(a.selected):after{
	content:"";
	display:block;
	position:absolute;
	height:calc(5.6vw / 3);
	width:calc(5.6vw / 3);
	right:4vw;
	top:calc(5.6vw - (2.8vw / 3));
	background:#fff url(../images/chevron-right_blue.svg) no-repeat;
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
	transform:rotate(90deg);
}

main section.archive_list ul.archive li:has(a.active){
	background:#4682d7;
}

main section.archive_list ul.archive li a.active{
	color:#fff;
}

main section.archive_list ul.archive li:has(a.selected) + li{
	border-radius:2vw 2vw 0 0;
}

main section.archive_list ul.archive li:nth-child(2n){
	background:#edf5ff;
}

main section.archive_list ul.archive li:nth-child(2n-1){
	background:#e3efff;
}

main section.archive_list ul.archive li:last-child{
	border-radius:0 0 2vw 2vw;
	border:calc(0.8vw / 3) solid #014099;
}

main section.archive_list ul.archive li a{
	display:block;
	height:100%;
	padding:0 10vw 0 4vw;
}

main section.archive_list ul.archive li a,
main section.archive_list ul.archive li a:hover,
main section.archive_list ul.archive li a.active{
	border-bottom:none;
}

main section.archive_list ul.archive.anchor li a:after{
	display:none;
}

main.news h2 + time{
	margin:5.6vw auto 4vw;
	padding:0 calc(16vw / 3);
	font-size:calc(10.4vw / 3);
}

main.news section.news.body{
	padding:0 calc(16vw / 3) 16vw;
}

main.news section.news.body p.notes{
	font-size:calc(8.8vw / 3);
}

main section.news.body a.button.back:before,
main section.news.body a.button.back:hover:before{
	width:calc(5.6vw / 3);
	height:calc(5.6vw / 3);
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
	top:calc(50% - (2.8vw / 3));
}

main section.news.body a.button.back{
	font-size:calc(8.8vw / 3);
	margin:calc(32vw / 3) auto 0;
	padding:0.6em calc(16vw / 3);;
	width:40vw;
	border-radius:1.5em;
}




/* 3.10. FaQ  -------------------------------------------------------------------------------------*/

section.faq div.faq_list{
	padding:0 calc(16vw / 3);
	border-radius:2vw;
}

section.faq div.faq_list details{
	padding:calc(16vw / 3) 16vw calc(16vw / 3) 0;
}

section.faq div.faq_list details summary{
	font-size:3.2vw;
}

section.faq div.faq_list details summary:after{
	width:10.4vw;
	height:10.4vw;
	border-radius:2vw;
	background-size:2.4vw 2.4vw;
	right:-16vw;
	top:calc(50% - 5.2vw);
	box-shadow:calc(0.8vw / 3) 0 0.8vw rgba(0,0,0,0.5);
}

section.faq div.faq_list details[open] summary:after{
	box-shadow:calc(-0.8vw / 3) 0 0.8vw rgba(0,0,0,0.5);
}

section.faq div.faq_list details summary + p{
	width:calc(100% + 16vw - (16vw / 3));
}




/* 3.11. Biz  -------------------------------------------------------------------------------------*/

main a.button.form{
	font-size:4.8vw;
	background-position:center right calc(16vw / 3);
	background-size:calc(11.2vw / 3) calc(11.2vw / 3);
	height:calc(40vw / 3);
	line-height:calc(40vw / 3);
	width:75vw;
	margin:4vw auto 0;
	border-radius:2vw;
}

main a.button.form:hover{
	background-position:center right calc(16vw / 3);
	background-size:calc(11.2vw / 3) calc(11.2vw / 3);
}

main.biz section address{
	font-size:calc(11.2vw / 3);;
}




/* 3.12. Contact  -------------------------------------------------------------------------------------*/

main.contact section.request{
	margin-top:12vw;
}

main.contact section.contact.tel h2{
	margin-bottom:8vw;
}

main section.contact.tel{
	text-align:center;
	margin:calc(32vw / 3) auto 0;
}

main section.contact.tel a.button{
	margin:0 auto;
	padding:calc(14vw / 3) 0;
	height:auto;
}

main section.contact.tel a.button strong{
	display:inline-block;
	font-size:calc(22.4vw / 3);
	padding-left:21.6vw;
	padding-bottom:8.8vw;
	padding-top:calc(3.2vw / 3);
	background-size:14.8vw calc(50.8vw / 3);
}

main section.contact.tel a.button:hover strong{
	background-size:14.8vw calc(50.8vw / 3);
}

main section.contact.tel a.button span{
	display:block;
	font-size:calc(12.8vw / 3);
	margin-top:calc(-17.6vw / 3);
	padding-left:21.6vw;
}

main.contact section address{
	font-size:calc(11.2vw / 3);
}




/* 3.13. Policy  -------------------------------------------------------------------------------------*/

main section.policy:last-child{
	padding-bottom:12vw;
}

main section.policy h3{
	display:flex;
}

main section.policy p.notes{
	font-size:calc(9.6vw / 3);
}

main section.policy ol li{
	font-size:calc(11.2vw / 3);
}

main section.policy p.notes{
	font-size:calc(8.82vw / 3);
}

main section.policy.privacy > div,
main section.policy.fiduciary-duty > div{
	padding:calc(16vw / 3);
	border-radius:2vw;
	margin-top:calc(16vw / 3);
}

main section.policy.privacy > div address,
main section.policy.fiduciary-duty > div address{
	font-size:calc(11.2vw / 3);
}

main section.policy.privacy > div h4,
main section.policy.fiduciary-duty > div h4{
	font-size:calc(11.2vw / 3);
	margin-bottom:1em;
}





/* 3.14. Sitemap  -------------------------------------------------------------------------------------*/

main.sitemap{
	padding-bottom:12vw;
}

main.sitemap section div ul{
	padding:calc(4vw / 3) calc(16vw / 3);
	border-radius:2vw;
}

main.sitemap section div ul + ul{
	margin-top:20px;
}

main.sitemap section div ul li{
	width:calc(50% - (8vw / 3));
	border-top:calc(0.8vw / 3) solid #f2c4c7;
}

main.sitemap section div ul li.category_top{
	margin-right:0;
	width:100%;
}

main.sitemap section div ul:not(:has(li.category_top)) li:first-child,
main.sitemap section div ul:not(:has(li.category_top)) li:first-child + li,
main.sitemap section div ul li.button{
	border-top:none;
}
main.sitemap section div ul:not(:has(li.category_top)) li:first-child + li + li{
	border-top:calc(0.8vw / 3) solid #f2c4c7;
}

main.sitemap section div ul li.category_top a{
	font-size:calc(11.2vw / 3);
}

main.sitemap section div ul li a{
	font-size:3.2vw;
	background-size:7px 7px;
	padding:12px 0;
}

main.sitemap section div ul li.button a{
	font-size:calc(8.8vw / 3);
	background-size:calc(5.6vw / 3) calc(5.6vw / 3);
	padding:0.6em 0;
	width:100%;
	margin:2vw auto;
}

main.sitemap section div ul li.button a:hover{
	background:#dc0014 url(../images/chevron-right_over.svg) right 0.8em center no-repeat;
	background-size:2.4vw 2.4vw;
}