@charset "utf-8";



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

html {
}



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

header{
	height:60px;
}

header a.logo{
	display:block;
	width:148px;
	height:34px;
	margin:13px;
}

header nav div.mypage{
	padding:0 12px 0 10px;
}

header nav a.mypage{
	font-size:120%;
	height:24px;
	line-height:24px;
	border-radius:18px;
	padding:0 16px 0 12px;
	background:#fff url(../images/chevron-right.svg) right 0.4em center no-repeat;
	box-shadow:0 1px 2px rgba(0,0,0,0.4);
	background-size:7px 7px;
}

header nav a.mypage:hover{
	background:#dc0014 url(../images/chevron-right_over.svg) right 0.4em center no-repeat;
	background-size:7px 7px;
}

header nav ul.links{
	padding-right:10px;
	height:30px;
	padding-top:12px;
}

header nav ul.links li{
	font-size:110%;
	margin-left:1.5em;
}

header nav ul.global{
	padding:2px 0;
	height:auto;
}

header nav ul.global li{
}

header nav ul.global li a{
	font-size:120%;
	padding:6px 1em;
}

header nav ul.global li:last-child a{
	padding-right:10px;
}

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.hold:after,
header nav ul.global li a:hover:after{
	width:calc(100% - 2em);
	bottom:-7px;
}

header nav ul.global li div.sub{
	top:60px;
	padding:22px calc(50% - 600px) 24px;
}

header nav ul.global li div.sub ul.category_top{
}

header nav ul.global li div.sub ul.category_top li a{
	font-size:140%;
}

header nav ul.global li div.sub ul li{
	margin-left:20px;
	width:calc((100vw - 80px) / 3);
}




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

footer{
	text-align:center;
	padding-bottom:55px;
}

footer nav{
	padding:15px 0 25px;
}

footer nav a{
	color:#fff;
}

footer nav ul{
	display:flex;
	justify-content:center;
	flex-wrap:wrap;
}

footer nav ul.global{
	padding:7px 0;
}

footer nav ul.global li{
	font-size:130%;
	padding:0 12px;
}

footer nav ul.buttons{
	margin:15px 0;
}

footer nav ul.buttons li a{
	font-size:110%;
	background-size:7px 7px;
	border:1px solid #d70c19;
	padding:0.6em 15px;
	width:128px;
	margin:0 10px;
}

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:7px 7px;
}

footer nav ul.links{
	padding-bottom:10px;
}

footer nav ul.links li{
	font-size:110%;
	padding:0 10.5px;
}

footer nav p.links.policy strong{
	font-size:130%;
	padding:10px 0 8px;
}

footer nav ul.links li.category_top{
	font-size:140%;
	font-weight:500;
	width:100%;
	padding:20px 0 16px;
}

footer nav ul.links li a{
}

footer nav ul.links li + li{
	border-left:1px solid #fff;
}

footer nav ul.links li.category_top, 
footer nav ul.links li.category_top + li{
	border:none;
}

footer nav small{
	font-size:8px;	
	right:20px;
	bottom:1.5em;
}

footer a.logo{
	margin:16px auto 8px;
	width:52.5px;
	height:33px;
}

footer small{
	font-size:110%;
}

footer ol.breadcrums{
	padding:8px 20px;
}

footer ol.breadcrums li{
	font-size:110%;
}




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

main{
}

@media screen and (max-width:1200px){
	main section{
		padding-left:20px;
		padding-right:20px;
	}
}

main.subindex{
	padding-bottom:60px;
}



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

main#toppage{
	padding-top:0;
	width:100%;
	padding: 20px 40px 50px;
}

main#toppage section > div{
	border-radius:7.5px;
	padding:20px;
	margin-top:20px;
}

main#toppage a.button,
main#toppage a.button:hover{
	background-size:17px 17px;
	background-position:right 10px center;
}

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

main#toppage div.important_notice h2{
	display:inline-block;
	background:#f30;
	color:#fff;
	font-size:160%;
	padding:0.5em 35px;
	border-radius:1.5em;
}

main#toppage div.important_notice p{
	font-size:180%;
	margin-top:1em;
}

main#toppage div.important_notice p a{
	color:#c00;
}

/* 3.1.1. Section - Products */

main section.products > div{
	width:calc(50% - 20px);
}

main section.products > div p.lead{
	font-size:160%;
}

main section.products > div p.lead strong{
	font-size:120%;
}

main section.products > div a.logo{
	height:84px;
	padding:12.5px 35px;
	border-radius:5px;
	margin-top:15px;
	display:flex;
	align-items:center;
	justify-content:center;
}

main section.products > div a.logo img{
	height:100%;
	max-height:59px;
}

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 10px center;
	background-size:17px 17px;
}

main section.products > div div.links{
	margin-top:10px;
	min-height:90px;
	width:calc(100% + 40px);
	margin-left:-20px;
}

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

main section.products > div div.links a{
	font-size:120%;
}

main section.products > div div.links a.strong{
	font-size:calc(25.6vw / 3);
}

main section.products > div div.links a:after{
	width:23px;
	height:23px;
	border-radius:12px;
	background-size:9px 9px;
}

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

main section.products > div.bouquet div.links a:after{
	top:5px;
	margin-left:5px;
}

main section.products > div a.request{
	height:auto;
	margin-top:15px;
	padding:5px 15px;
	min-height:64px;
	background-size:17px 17px;
	background-position:right 10px center;
	justify-content:center;
}

main section.products > div a.request:hover{
	background-size:17px 17px;
	background-position:right 10px center;
}

main section.products > div a.request p{
	font-size:160%;
}

main section.products > div a.request p.sub{
	font-size:120%;
	padding-left:12px;
	padding-right:15px;
}

/* 3.1.2. Section - Mypage */

main section.mypage div.login p{
	font-size:140%;
	padding-right:1em;
}

main section.mypage div.login a.login{
	height:48px;
	line-height:48px;
	width:100%;
	max-width:205px;
	font-size:160%;
}

main section.mypage div.links{
	margin-top:20px;
	width:calc(100% + 40px);
	margin-left:-20px;
}

main section.mypage div.links a{
	font-size:180%;
}

main section.mypage div.links a:after{
	width:23px;
	height:23px;
	margin:4px auto 0;
	border-radius:12px;
	background-size:9px 9px;
}

main section.mypage div.links a.renewal{
	background-position:top 11px left 50%;
}

main section.mypage div.links a.renewal{
	background-position:top 12px left 50%;
	padding-right:0;
}
main section.mypage div.links a.claim{
	background-position:top 12px left 50%;
	padding-left:0;
}

/* 3.1.3. Section - Pickup */

main#toppage section.pickup{
	width:calc(100% + 80px);
	margin-left:-40px;
	margin-top:50px;
	padding:25px 0;
}

main#toppage section.pickup ul li{
	max-width:204px;
	margin-right:25px;
}

/* 3.1.4. Section - News */

main section.news ul li a{
	padding:16px 0;
	background-position:right 8px center;
	background-size:7px 7px;
}

main section.news ul li:first-child a{
	background-position:right 8px top calc(50% - 8px);
}

main section.news ul li a time{
	font-size:120%;
}

main section.news ul li a i.category{
	font-size:8px;
	padding:0 0.25em;
	margin:0.25em 20px 0;
	min-width:9em;
	width:auto;
	border-radius:10px;
}

main section.news ul li a p{
	font-size:140%;
}

main section.news a.newslist{
	font-size:110%;
	margin:18px auto 0;
	background:#fff url(../images/chevron-right.svg) right 0.8em center no-repeat;
	background-size:7px 7px;
	margin-top:20px;
	padding:0.6em 20px;
	width:130px;
	border-radius:1.5em;
	box-shadow:0 1px 3px rgba(0,0,0,0.5);
}

main section.news a.newslist:hover{
	text-decoration:none;
	color:#fff;
	background:#dc0014 url(../images/chevron-right_over.svg) right 0.8em center no-repeat;
	background-size:7px 7px;
}

/* 3.1.5. Section - Free Dial */

main section.tel{
	margin-top:50px;
}

main section.tel p.lead{
	font-size:160%;
}

main section.tel address.freedial{
	font-size:230%;
	background-size:31.5px 18.5px;
	padding-left:36px;
	margin-top:10px;
}

main section.tel address.freedial + p{
	font-size:140%;
}

main section.tel a.faq{
	font-size:110%;
	margin:18px auto 0;
	background:#fff url(../images/chevron-right_blue.svg) right 0.8em center no-repeat;
	background-size:7px 7px;
	padding:0.6em 20px;
	width:130px;
	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:7px 7px;
}


/* 3.1.5. Section - Relay Service */

main#toppage section.relay_service{
	border-radius:7.5px;
	padding:20px;
	margin-top:30px;
}




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

section.slider{
	overflow-x:hidden;
	max-width:auto;
	min-height:0;
	margin-bottom:0;
	top:60px;
}

section.slider img{
	width:100%;
	position:relative;
	z-index:2;
}

section.slider:after{
	content:"";
	display:block;
	background:linear-gradient(-27.3deg,#fb2533 40%,#d70c19 60%);
	width:110%;
	height:170px;
	position:relative;
	top:-145px;
	left:-5%;
	transform:rotate(-2.7deg);
	transform-origin:bottom right;
	z-index:0;
}

main{
	text-align:center;
}

.slider .bx-wrapper .bx-pager.bx-default-pager{
	display:flex;
	align-items:center;
	justify-content:space-between;
	width:70%;
	left:15%;
	margin:0 auto;
}

.slider .bx-wrapper .bx-pager.bx-default-pager .bx-pager-item{
	width:100%;
	padding-right:5px;
}

.slider .bx-wrapper .bx-pager.bx-default-pager a.active,
.slider .bx-wrapper .bx-pager.bx-default-pager a,
.slider .bx-wrapper .bx-pager-item a{
	width:100%;
	position:relative;
	background:none;
	height:20px;
	top:8px;
}





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

main section{
	width:100%;
	padding:0 20px;
}

main:not(#toppage){
	padding-top:60px;
}

main:not(#toppage):before{
	border-bottom:1px solid #fff;
	height:100px;
	position:absolute;
	top:calc((0.047 * 20px) + 40px);
}

main h1{
	font-size:230%;
	width:100%;
	padding:24px 20px;
}

main h1 + section{
	padding-top:93px;
}

main h2{
	font-size:230%;
	margin-top:45px;
}

main h1 + h2{
	margin-top:93px;
}

main h2.lead{
	max-width:calc(100% - 32px);
}

main h2.lead:after{
	border-radius:1.5px;
	height:3px;
	width:calc(100% + 32px);
	margin-left:-16px;
}

main h2.lead + p{
	margin-top:30px;
}

main h3{
	font-size:160%;
	margin-top:30px;
	padding-left:6px;
	text-indent:-6px;
}

main h3:before{
	border-radius:1.5px;
	width:3px;
	top:2px;
	margin-right:3px;
}

main p{
	font-size:140%;
}

main a.button{
	border-radius:5px;
	border:1px solid #d70c19;
	box-shadow:0 1px 3px rgba(0,0,0,0.5);
	background:#fff url(../images/chevron-right.svg) right 10px center no-repeat;
	background-size:17px 17px;
}

main a.button.large{
	width:400px;
	border-radius:7.5px;
}

main a.button:hover{
	background:#dc0014 url(../images/chevron-right_over.svg) right 10px center no-repeat;
	background-size:17px 17px;
}




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

main ul.separate_links{
	margin-top:10px;
}

main ul.separate_links + ul.separate_links{
	border-top:2px solid #f2c4c7;
	margin-top:20px;
	padding-top:20px;
}

main ul.separate_links li{
	padding:0 20px;
}

main ul.separate_links li + li{
	border-left:2px solid #f2c4c7;
}

main ul.separate_links li a:after{
	width:24px;
	height:24px;
	border-radius:12px;
	background-size:9px 9px;
	box-shadow:0 1px 3px rgba(0,0,0,0.5);
	margin:4px auto 0;
}

main section.related_links ul.separate_links{
	margin-top:20px;
}

main section.related_links ul.separate_links li{
	font-size:160%;
	padding-left:0;
}

main section.related_links ul.separate_links li + li{
	padding-left:20px;
}

main section.related_links ul.separate_links li a:after{
	width:21px;
	height:21px;
	background-size:9px 9px;
}

main ul.separate_links li a:hover:after{
	background-size:9px 9px;
}

main ul.separate_links li a span{
	font-size:140%;
}

main ul.separate_links li a strong{
	font-size:180%;
}

ul.plan{
}

ul.plan li{
	width:calc(50% - 10px);
}

ul.plan li a.button{
	width:100%;
	padding:20px;
	border-radius:7.5px;
}

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 15px;
	background-size:17px 17px;
}

main section.estimate{
	padding:32.5px 20px 40px;
}

main section.estimate p.lead{
	font-size:180%;
	line-height:1.5;
	padding:14px 115px 36px 0;
	margin-bottom:6px;
}

main section a.button.estimate,
main section a.button.estimate:hover{
	background-position:right 20px center;
	background-size:17px 17px;
	padding:7.5px 0 15px;
	max-width:100%;
}

main section a.button.estimate strong{
	font-size:280%;
}

main section.request{
	padding:40px 20px;
	background-position:bottom 0 left calc(50% - 311px);
	background-size:112px 222.66px;
}

main section.request a.button{
	margin:0 auto;
	padding:12.5px 0 10px;
	background-position:center right 20px;
}

main section.request a.button strong{
	font-size:280%;
	line-height:1.5;
}

main section.request p.tel{
	font-size:230%;
}

main section.request address.freedial{
	font-size:230%;
	background-size:38px 19px;
	padding-left:40px;
	margin-left:12px;
}

main section.request address.freedial + p{
	font-size:180%;
	margin-top:0;
}

main h2 + table{
	margin-top:30px;
}

main table tr th{
	padding-right:15px;
	width:280px;
}

main table tr th,
main table tr td{
	font-size:140%;
	padding:15px 0;
}

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

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

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

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

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

main table.data tr th,
main table.data tr td{
	padding:10px;
	border-right:1px solid #fff;
	border-bottom:1px solid #fff;
}

main table.data tr:first-child th,
main table.data tr:first-child td{
	border-top:1px solid #fff;
}

main table.data tr th:first-child,
main table.data tr td:first-child{
	border-left:1px solid #fff;
}

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:180%;
	padding:7.5px;
}

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

main section.related_links{
	margin-top:45px;
	padding:10px 20px 40px;
}

main div.important_notice h2{
	font-size:130%;
	padding:0.25em 20px;
}

main div.important_notice p{
	font-size:140%;
}

main section ul.tab li a{
	padding:14px 0;
	font-size:210%;
	border-radius:7.5px 7.5px 0 0;
}

main section ul.tab li a span.sub{
	font-size:calc(200% / 3);
}




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

main.sougi-hoken section.sougi-hoken{
	padding:105px 20px 50px;
}

main.sougi-hoken section.sougi-hoken:after{
	bottom:-13px;
	left:calc(50% - 13px);
	width:26px;
	height:13px;
}

main.sougi-hoken section.sougi-hoken.index dl dt img{
	width:290px;
}

main.sougi-hoken section.sougi-hoken.index dl dd{
	font-size:160%;
	margin-top:20px;
}

main.sougi-hoken section.sougi-hoken.index ul{
	width:auto;
	max-width:400px;
}

main.sougi-hoken section.sougi-hoken.index ul li{
	width:300px;
	margin:20px 0 auto;
}

main.sougi-hoken section.sougi-hoken.index ul li a.button{
	font-size:180%;
	height:50px;
	line-height:50px;
	background-size:9px 9px;
	background-position:center right 20px;
}

main.sougi-hoken section.plan{
	padding-left:20px;
	padding-right:20px;
}

main.sougi-hoken section.plan a.button{
	width:100%;
	padding:20px;
	border-radius:7.5px;
}

main.sougi-hoken section.plan ul.plan li{
	width:calc(50% - 10px);
}

main.sougi-hoken section.plan a.button strong{
	display:block;
	font-size:280%;
}

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

main.sougi-hoken section.plan a.button em{
	display:block;
	font-size:140%;
	margin-top:1em;
}

main.sougi-hoken section.service ul.separate_links{
	margin-top:15px;
}

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

main.sougi-hoken section.pickup{
	margin-top:60px;
}

main.sougi-hoken section.pickup ul{
	max-width:none;
}

main.sougi-hoken section.pickup ul li + li:before{
	width:2px;
	height:134px;
	top:36px;
	left:50%;
}

main.sougi-hoken section.pickup ul li a{
	padding:35px 0 82px;
}

main.sougi-hoken section.pickup ul li a strong{
	font-size:280%;
}

main.sougi-hoken section.pickup ul li a.flow{
	background-size:121px 98px;
}

main.sougi-hoken section.pickup ul li a.voice{
	background-size:252px 76px;
}

main.sougi-hoken section.sougi-hoken + section h2{
	margin-top:20px;
}

/* 3.4.1. Sougi Hoken - product */

main section.about{
	padding-left:20px;
	padding-right:20px;
}

main section.about > div{
	align-items:center;
	flex-wrap:nowrap;
	margin-top:30px;
	padding:20px;
	border-radius:7.5px;
}

main section.about > div img{
	width:206px;
	height:95px;
	margin:7.5px 20px 10px;
}

main section.about > div p{
	margin:-0.25em 0 0;
	text-align:left;
}

main section.about > div a.button{
	font-size:180%;
	width:256px;
	height:46px;
	line-height:46px;
	background-size:9px 9px;
	background-position:center right 20px;
	margin:15px 0 0 calc(100% - 256px);
}

main section.about > div + h3{
	margin-top:20px;
}

main section.recommend h2{
	margin-top:40px;
}

main section.recommend ul.point{
	margin-top:8px;
}

main section.recommend ul.point li{
	font-size:140%;
}

main section.recommend ul.point li:first-child{
	margin-right:30px;
	padding-right:70px;
	padding-top:155px;
	background-size:206.33px 203.33px;
}

main section.recommend ul.point li:last-child{
	padding-left:70px;
	padding-top:155px;
	background-size:208px 203.33px;
}

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

main section.features{
	margin-top:25px;
	padding:32.5px 20px 40px;
}

main section.features div{
	border-radius:7.5px;
	padding-bottom:20px;
}

main section.features div h3{
	font-size:200%;
	border-radius:7.5px 7.5px 0 0;
	padding:25px 0 21px;
}

main section.features div.feature1 h3{
	background-position:bottom right calc(50% - 10em);
	background-size:58px 58px;
}
main section.features div.feature2 h3{
	background-position:bottom right calc(50% - 11em);
	background-size:44.5px 58px;
}
main section.features div.feature3 h3{
	background-position:bottom right calc(50% - 10em);
	background-size:67.5px 56px;
}

main section.features h2 + div h3{
	margin-top:30px;
}

main section.features div em{
	font-size:360%;
	padding-left:20px;
	margin-top:25px;
}

main section.features div em span{
	font-size:calc(100% * (4 / 9));
	bottom:0.9em;
}

main section.features div em span:after{
	bottom:2px;
	width:100%;
	height:3px;
	border-radius:1.5px;
}

main section.features h4{
	font-size:180%;
	bottom:2px;
}

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

main section.features div p{
	padding:0 20px;
	margin-top:5px;
}

main section.features h3 + p{
	margin-top:15px;
}

main section.features ul.plan{
	padding: 0 20px;
	margin-top:25px;
}

main section.features ul.plan li{
	width:calc(50% - 20px);
}

main section.features ul.plan li a.button{
	font-size:230%;
	padding:7.5px 0 17px;
}

main section.features div.links{
	display:flex;
	margin-top:16px;
	padding:0;
	min-height:125px;
	align-items:center;
	background:none;
}

main section.features div.links a{
	font-size:140%;
	padding:5px 20px 5px 0;
}

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

main section.features div.links a + a{
	border-left:2px solid #f2c4c7;
	padding:10px 0 10px 40px;
}

main section.features div.links a h4{
	font-size:100%;
}

main section.features div.links a p{
	margin:5px 0 0;
}

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

main section.features div.links a strong:after{
	top:5px;
	margin-left:7.5px;
	width:24px;
	height:24px;
	border-radius:12px;
	background-size:9px 9px;
	box-shadow:0 1px 3px 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:10px;
}

main section.product.detail div.female,
main section.product.detail div.male,
main section.product.detail div.tel{
	padding:20px;
}

main section.product.detail div.tel{
	border-radius:0 0 7.5px 7.5px;
}

main section.product.detail div.tel a.button{
	margin:10px auto 20px;
}

main section.product.detail h4{
	font-size:180%;
}

main section.product.detail section.data_table_wrap + h4{
	margin-top:20px;
}

main section.product.detail div.male p,
main section.product.detail div.female p{
	font-size:130%;
}

main section.product.detail div.tel p.tel{
	font-size:230%;
}

main section.product.detail div.tel address.freedial{
	font-size:230%;
	background-size:38px 19px;
	padding-left:40px;
	margin-left:12px;
}

main section.product.detail div.tel address.freedial + p{
	font-size:140%;
}

main.sougi-hoken section.notice ul li{
	font-size:140%;
}

main.sougi-hoken section.attention{
	margin-top:45px;
	padding:0 20px 30px;
}

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

main.sougi-hoken section.attention h4{
	font-size:160%;
}

main.sougi-hoken section.attention ol li{
	font-size:140%;
}


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


/* 3.4.5. Sougi Hoken - Voice */

main section.voice div.voice_list{
	border-radius:7.5px;
	padding:0 20px;
	margin-top:30px;
}

main section.voice div.voice_list details{
	padding:20px 140px 20px 0;
}

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

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

main section.voice div.voice_list details.notoggle{
	min-height:160px;
}

main section.voice div.voice_list details:not(.notoggle):after{
	width:calc(100% + 40px);
	height:60px;
	left:-20px;
	box-shadow:inset 0px -30px 20px 20px #f5f5f5;
}

main section.voice div.voice_list details:not(.notoggle) summary:after{
	width:32.5px;
	height:32.5px;
	border-radius:7.5px;
	background-size:9px 9px;
	top:160px;
	box-shadow:1px 0 3px 1px rgba(0,0,0,0.3);
}

main section.voice div.voice_list details[open]:not(.notoggle) summary:after{
	box-shadow:-1px 0 3px 1px rgba(0,0,0,0.3);
}

main section.voice div.voice_list details summary h3 + p{
	font-size:130%;
}

main section.voice div.voice_list details summary picture{
	width:120px;
	height:120px;
	top:20px;
	border-radius:15px;
}

main section.voice div.voice_list details:not(.notoggle) summary div.summary{
	-webkit-line-clamp:2;
}

main section.voice div.voice_list details.rev{
	min-height:160px;
}

main section.voice div.voice_list details.rev:after{
	width:calc(100% + 40px);
	height:40px;
	position:absolute;
	bottom:10px;
	left:-20px;
	box-shadow:inset 0 -30px 10px #f5f5f5;
}


main section.voice div.voice_list details.rev summary:after{
	top:20px;
}

main section.voice div.voice_list details.rev summary picture{
	top:79px;
	height:70px;
	border-radius:15px 15px 0 0;
}

main section.voice div.voice_list details.rev[open] summary picture{
	height:120px;
	border-radius:15px;
}


/* 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:240%;
	margin:25px 0 0.5em;
}

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

main section.anshin-payment.flow div{
	border-radius:7.5px;
	padding:20px;
	margin-top:35px;
}

main section.anshin-payment.flow div h2{
	font-size:210%;
	margin:5px 0;
}

main section.anshin-payment.flow div + p{
	margin-top:25px;
}

main section.anshin-payment.features p.notes{
	font-size:110%;
}

main section.anshin-payment.usage div{
	border-radius:7.5px;
	padding:20px;
	margin-top:40px;
}

main section.anshin-payment.usage div h2{
	font-size:180%;
}

main section.anshin-payment.usage div address.freedial{
	font-size:230%;
	background-size:31.5px 18.5px;
	padding-left:36px;
	margin-top:10px;
}

main section.anshin-payment.usage div address.freedial + p{
	font-size:140%;
}


/* 3.4.9. Sougi Hoken - Process */

main section.process ul.tab{
	margin-top:25px;
}

main section.process div{
	border-radius:0 0 7.5px 7.5px;
	padding:30px 20px 20px;
}

main section.process h4.caution{
	font-size:140%;
	width:11em;
	padding:0.25em;
}

main section.process > div div{
	border-radius:7.5px;
	margin-top:45px;
	padding:0 0 18px;
}

main section.process > div div:first-child{
	margin-top:15px;
}

main section.process > div div:after{
	width:30px;
	height:37.8px;
	bottom:-56px;
	left:calc(50% - 15px);
}

main section.process > div div.customer:after,
main section.process > div div.agency:after{
	background-size:30px 37.8px;
}

main section.process > div div h5{
	font-size:210%;
	border-radius:7.5px 7.5px 0 0;
	margin-bottom:70px;
}

main section.process > div div p{
	padding: 0 20px;
}

main section.process > div div p.role{
	position:absolute;
	left:calc(50% - 55px);
	top:58px;
	color:#fff;
	font-size:130%;
	margin:0;
	width:110px;
	height:80px;
	padding:56px 0 0;
	font-weight:700;
}

main section.process > div div.customer p.role,
main section.process > div div.agency p.role{
	background-size:110px 80px;
}

main section.process > div div a.button{
	font-size:110%;
	width:130px;
	background-size:6px 6px;
	left:calc(50% - 65px);
}

main section.process > div div.conclusion{
	margin-top:70px;
}

main section.process > div div.conclusion h4{
	font-size:280%;
	padding-bottom:200px;
	background-size:205.5px 178.5px;
}

main section.process > div div.conclusion p{
	font-size:180%;
}

main section.process > div div.conclusion p.notes{
	font-size:110%;
}

main section.process p.tel{
	font-size:180%;
	padding:0 15px 0 0;
}

main section.process address.freedial{
	font-size:210%;
	background-size:33px 19px;
	padding-left:35px;
}

main section.process address.freedial + p{
	font-size:120%;
}

main section.process.schedule{
	padding-top:10px;
}

main section.process.schedule div{
	margin-top:20px;
	padding:20px;
	border-radius:7.5px;
}

main section.process.schedule ul.separate_links li picture{
	padding-right:20px;
}

main section.process.schedule ul.separate_links li:last-child picture{
	padding-right:0;
	padding-left:20px;
}

main section.process.schedule ul.separate_links h4{
	font-size:140%;
}

main section.process.schedule ul.separate_links img{
	margin:20px 0 10px;
}

main section.process.schedule p.notes{
	font-size:110%;
}

main section.process h2 + div.common{
	margin-top:30px;
}

main section.process div.common{
	padding-top:20px;
	border-radius:7.5px;
	margin-top:15px;
}

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:140%;
}

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




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

main section.kekkon-cancel{
	padding:120px 20px 35px;
	justify-content:center;
}

main section.kekkon-cancel.index div p{
	font-size:160%;
}

main section.kekkon-cancel.index img{
	width:292px;
	height:166px;
	margin-right:150px;
}

main section.kekkon-cancel.index ul{
	width:300px;
	padding-top:5px;
}

main section.kekkon-cancel.index ul li{
	margin-top:20px;
}

main section.kekkon-cancel.index ul li a.button,
main section.kekkon-cancel.index ul li a.button:hover{
	font-size:180%;
	background-position:center right 20px;
	background-size:14px 14px;
	height:50px;
	line-height:50px;
}

main.kekkon-cancel section.index + section.agency{
	background:url(/bouquet/images/index_bg_agency.png) top no-repeat;
	background-size:177px 313px;
	padding-top:145px;
	margin-top:-142px;
}

main.kekkon-cancel section.agency h2{
	margin-top:30px;
}

main.kekkon-cancel section.agency ul.plan{
	margin-top:16px;
}

main.kekkon-cancel section.agency ul.plan li{
	width:100%;
}

main.kekkon-cancel section.agency a.button.large{
	padding:37.5px 20px;
	width:480px;
}

main.kekkon-cancel section.agency a.button strong{
	font-size:280%;
}

main.kekkon-cancel section.agency p.tel{
	font-size:230%;
}

main.kekkon-cancel section.agency address.freedial{
	font-size:230%;
	background-size:33px 19px;
	padding-left:38px;
	margin-left:12px;
}

main.kekkon-cancel section.agency address.freedial + p{
	font-size:180%;
}

main.kekkon-cancel section.voice{
	margin-top:45px;
}

main.kekkon-cancel section.voice a{
	max-width:100%;
	padding:30px 0 80px;
	background-size:410px 82px;
}

main.kekkon-cancel section.voice a:after{
	width:24px;
	height:24px;
	border-radius:12px;
	background-size:9px 9px;
	margin:4px auto 0;
}

main.kekkon-cancel section.voice a:hover:after{
	background:#c12684 url(../images/chevron-right_over.svg) center no-repeat;
	background-size:9px 9px;
}

main.kekkon-cancel section.voice a span{
	display:block;
	font-size:180%;
	font-weight:700;
	color:#c12684;
}

main.kekkon-cancel section.voice a strong{
	display:block;
	font-size:280%;
}

main.kekkon-cancel section.request{
	background-position:bottom 0 left calc(50% - 311px);
	background-size:112px 222.66px;
}

main.kekkon-cancel section.request a.button,
main.kekkon-cancel section.request a.button:hover{
	background-position:right 10px center;
	background-size:14px 14px;
	padding:25px 0;
}


/* 3.5.1. Kekkon Cancel - Product Detail */

main h1 + section.product_name.bouquet{
	padding-top:90px;
}

main section.product_name.bouquet h2{
	width:206px;
	height:128px;
}

main section.product.detail h2{
	margin-top:30px;
}

main.kekkon-cancel section.product.detail a.button.request{
	font-size:180%;
	background-position:center right 20px;
	background-size:14px 14px;
	height:50px;
	line-height:50px;
	width:300px;
	margin:15px auto 0;
	border-radius:7.5px;
}

main.kekkon-cancel section.product.detail a.button.request:hover{
	color:#fff;
	background:#c51564 url(../images/chevron-right_over.svg) center right 20px no-repeat;
	background-size:14px 14px;
}

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

main.kekkon-cancel section.product.detail div.prepare > div{
	width:calc(50% - 10px);
	padding:20px;
	border-radius:7.5px;
	margin-top:20px;
}

main.kekkon-cancel section.product.detail div.prepare > div:first-child,
main.kekkon-cancel section.product.detail div.prepare > div:first-child + div{
	margin-top:0;
}

main.kekkon-cancel section.product.detail div.prepare > div h4 sub{
	font-size:calc(700% / 9);
}

main.kekkon-cancel section.product.detail div.prepare > div p.notes{
	font-size:110%;
}

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

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

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

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:180%;
}

main.kekkon-cancel section.product.detail table.data.bouquet tr td strong{
	font-size:calc(900% / 7);
}

main.kekkon-cancel section.product.detail.plan{
	padding:20px;
}


/* 3.5.2. Kekkon Cancel - Voice */

main.kekkon-cancel section.voice.bouquet{
	background:none;
	padding:93px 20px 45px;
	margin:0;
}


main.kekkon-cancel section.voice.bouquet details summary h3 + p{
	font-size:140%;
}

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


/* 3.5.3. Kekkon Cancel - Shop List */

main.kekkon-cancel section.bouquet.shop{
	padding-bottom:60px;
}




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

main.subindex section{
}

main.subindex section > div{
	max-width:100%;
	margin:20px auto 0;
	border-radius:7.5px;
	padding:20px;
}

main.subindex section > div ul.separate_links li:first-child{
	padding-right:40px;
}

main.subindex section > div ul.separate_links li:last-child{
	padding-left:40px;
}

main.subindex section > div ul.separate_links li a{
	display:inline-block;
	padding:2.5px 0 5px;
}

main.subindex section.news ul.news li a{
	padding:20px 0;
}

main.subindex section.news > div{
	padding:0 20px;
}

main.subindex section.news ul.news li a time{
	margin-right:20px;
}

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

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

main.policyholder p.notes{
	font-size:110%;
}

main.policyholder a.button.form{
	font-size:180%;
	background-position:center right 20px;
	background-size:14px 14px;
	height:50px;
	line-height:50px;
	width:300px;
	margin:15px auto 0;
	border-radius:7.5px;
}

main.policyholder a.button.form:hover{
	color:#fff;
	background:#c51564 url(../images/chevron-right_over.svg) center right 20px no-repeat;
	background-size:14px 14px;
}




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

main.subindex section > div ul.separate_links.logo_link li a{
	display:flex;
	flex-direction:column;
	padding:25px 0;
}

main.subindex section > div ul.separate_links.logo_link li a:after{
	margin:10px auto 15px;
}


/* 3.7.1. Fun - Gallery */

main.fun section.gallery > div{
	border-radius:7.5px;
	padding:20px;
	margin-top:30px;
}

main.fun section.gallery div.cm li{
	width:calc(50% - 10px);
	margin-top:25px;
}

main.fun section.gallery div.cm li div{
	border-radius:7.5px;
}

main.fun section.gallery div.cm li h3{
	font-size:140%;
}

main.fun section.gallery div.cm li p{
	font-size:130%;
}


/* 3.7.2. Fun - Column */

main.fun section.column p.notes{
	font-size:110%;
}

main.fun section.column.vol1{
	padding-bottom:260px;
	background-size:214px 240px;
}

main.fun section.column.vol1 picture{
	margin:30px auto;
}

main.fun section.column.vol1 img{
	width:380px;
}


/* 3.7.3. Fun - Campaign */

main.fun section.campaign{
	padding-bottom:50px;
}

main.fun section.campaign div.prize img,
main.fun section.campaign div.prize p{
	margin-top:20px;
}

main.fun section.campaign table.data{
	margin-top:40px;
}

main.fun section.campaign table.data tr th{
	width:calc(5em + 40px);
}

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




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

main section.message div{
	margin-top:24px;
	padding-right:230px;
}

main section.message div picture{
	border-radius:15px;
	width:210px;
	height:280px;
}

main section.philosophy{
	padding:92.5px 20px 40px;
}

main section.philosophy div{
	padding:0 30px;
}

main section.philosophy div h3{
	font-size:200%;
	border-radius:7.5px 7.5px 0 0;
	padding:25px 0 21px;
}

main section.philosophy div.feature1 h3{
	background-position:bottom right calc(50% - 10em);
	background-size:58px 58px;
}
main section.philosophy div.feature2 h3{
	background-position:bottom right calc(50% - 11em);
	background-size:44.5px 58px;
}
main section.philosophy div.feature3 h3{
	background-position:bottom right calc(50% - 10em);
	background-size:67.5px 56px;
}

main section.philosophy h2 + div h3{
	margin-top:30px;
}

main section.philosophy div em{
	font-size:180%;
	padding-left:20px;
	margin-top:25px;
}

main section.philosophy div em span{
	font-size:calc(100% * (4 / 9));
	bottom:0.9em;
}

main section.philosophy div em span:after{
	bottom:2px;
	width:100%;
	height:3px;
	border-radius:1.5px;
}

main section.philosophy h4{
	font-size:180%;
}

main section.philosophy div p{
	padding:0 20px;
	margin-top:5px;
}

main section.philosophy h3 + p{
	margin-top:15px;
}

main section.executive h3 + table{
	margin-top:20px;
}

main section.outline > div,
main section.executive > div,
main section.history > div,
main section.disclosure > div,
main section.access > div{
	border-radius:7.5px;
	padding:20px;
	margin-top:21px;
}

main section.access div div.gmap{
	height:400px;
}

main section.disclosure div.cover img{
	width:100px;
	box-shadow:2px 2px 4px rgba(0,0,0,0.2);
}

main section.disclosure div.cover h3{
	margin-left:20px;
}

main section.disclosure div.cover h4,
main section.disclosure div.cover p{
	padding-left:20px;
}
main section.disclosure div.cover h4{
	font-size:210%;
}

main section.disclosure div.cover a h4:after{
	width:21px;
	height:21px;
	background-size:9px 9px;
	border-radius:10.5px;
	top:0.1em;
}

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

main section.disclosure div.cover p.format{
	font-size:130%;
}

main section.disclosure.news ul li a{
	font-size:140%;
	padding:16px 16px 16px 0;
}

main section.disclosure div.item-disclose{
	padding:0;
}

main section.disclosure div.item-disclose h3{
	margin-top:30px;
}

main section.disclosure div.item-disclose table.data{
	margin-top:5px;
}

main section.disclosure div.item-disclose h3 + section.data_table_wrap table.data{
	margin-top:20px;
}

main section.disclosure div.item-disclose div.item-solvencyMargin{
	padding:20px;
	margin-top:20px;
}

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

main section.disclosure div.item-disclose h4{
	font-size:140%;
	margin-top:20px;
}

main section.disclosure div.item-disclose p.notes{
	font-size:110%;
}

main section.disclosure a.button.back:before,
main section.disclosure a.button.back:hover:before{
	width:7px;
	height:7px;
	background-size:7px 7px;
	top:calc(50% - 3.5px);
}

main section.disclosure a.button.back{
	font-size:110%;
	margin:40px auto 0;
	padding:0.6em 20px;
	width:150px;
	border-radius:1.5em;
}

main section.social > div picture{
	padding-left:20px;
}

main section.social > div.hawks picture{
	width:170px;
	min-width:170px;
}

main section.social > div.v-varen picture{
	width:253px;
	min-width:253px;
}




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

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

main section.archive_list{
	padding:21px 60px;
	margin-top:24px;
	border-radius:7.5px;
	width:calc(100% - 40px);
}

main section.archive_list a.control{
	top:calc(50% - 19.5px);
	height:39px;
	width:33px;
	background-size:9px 9px;
	border-radius:5px 0 0 5px;
}

main section.archive_list a.control:hover,
main section.archive_list a.control.disabled,
main section.archive_list a.control.disabled:hover{
	background-size:9px 9px;
}

main section.archive_list ul.archive li{
	font-size:140%;
}

main section.archive_list ul.archive li a:hover,
main section.archive_list ul.archive:not(.anchor) li a.active{
	border-bottom:3px solid #dc0014;
}

main.news h2 + time{
	margin:21px auto 15px;
	padding:0 20px;
	font-size:130%;
}

main.news section.news.body{
	padding:0 20px 60px;
}

main.news section.news.body p.notes{
	font-size:110%;
}

main section.news.body a.button.back:before,
main section.news.body a.button.back:hover:before{
	width:7px;
	height:7px;
	background-size:7px 7px;
	top:calc(50% - 3.5px);
}

main section.news.body a.button.back{
	font-size:110%;
	margin:40px auto 0;
	padding:0.6em 20px;
	width:150px;
	border-radius:1.5em;
}




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

section.faq div.faq_list{
	padding:0 20px;
	border-radius:7.5px;
}

section.faq div.faq_list details{
	padding:20px 59px 20px 0;
}

section.faq div.faq_list details summary{
	font-size:120%;
}

section.faq div.faq_list details summary:after{
	width:39px;
	height:39px;
	border-radius:7.5px;
	background-size:9px 9px;
	right:-59px;
}




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

main a.button.form{
	font-size:180%;
	background-position:center right 20px;
	background-size:14px 14px;
	height:50px;
	line-height:50px;
	width:300px;
	margin:15px auto 0;
	border-radius:7.5px;
}

main a.button.form:hover{
	color:#fff;
	background-size:14px 14px;
}

main.biz section address{
	font-size:140%;
}




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

main.contact section.request{
	margin-top:45px;
}

main.contact section.contact.tel h2{
	margin-bottom:30px;
}

main section.contact.tel{
	margin:40px auto 0;
}

main section.contact.tel a.button{
	margin:0 auto;
	padding:17.5px 0;
	height:auto;
}

main section.contact.tel a.button strong{
	display:inline-block;
	font-size:280%;
	padding-left:84px;
	padding-bottom:33px;
	padding-right:18px;
	padding-top:4px;
	background-size:55.5px 63.5px;
}

main section.contact.tel a.button:hover strong{
	background-size:55.5px 63.5px;
}

main section.contact.tel a.button span{
	display:block;
	font-size:160%;
	margin-top:-22px;
	padding-left:84px;
	padding-right:18px;
}

main.contact section address{
	font-size:140%;
}




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

main section.policy:last-child{
	padding-bottom:45px;
}

main section.policy p.notes{
	font-size:120%;
}

main section.policy ol li{
	font-size:140%;
}

main section.policy p.notes{
	font-size:110%;
}

main section.policy.privacy > div,
main section.policy.fiduciary-duty > div{
	padding:20px;
	border-radius:7.5px;
	margin-top:20px;
}

main section.policy.privacy > div address,
main section.policy.fiduciary-duty > div address{
	font-size:140%;
}

main section.policy.privacy > div h4,
main section.policy.fiduciary-duty > div h4{
	font-size:140%;
	margin-bottom:1em;
}





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

main.sitemap{
	padding-bottom:45px;
}

main.sitemap section div ul{
	padding:5px 20px;
	border-radius:7.5px;
}

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

main.sitemap section div ul li.category_top{
	margin-right:calc(100% - ((100% - 40px) / 3));
}

main.sitemap section div ul li{
	width:calc((100% - 40px) / 3);
}

main.sitemap section div ul li.category_top a{
	font-size:140%;
}

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

main.sitemap section div ul li.button a{
	font-size:110%;
	background-size:7px 7px;
	padding:0.6em 15px;
	width:140px;
	margin:10px 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:7px 7px;
}
