@charset "utf-8";

@media print, screen and (min-width:768px){

/*		Contents
---------------------------------------------------------------------------

	Common（共通部分）

	HOME								[ / ]
	お申込み or お問い合わせ			[ /entry/ ]

------------------------------------------------------------------------ */


/* ========================================================================
	Common（共通部分）
======================================================================== */
body{
	min-width:1100px;
	background:#fffff4;
}

.sp{
	display:none;
}

.inner{
	position:relative;
	width:900px;
	margin:0 auto;
}

.line{
	position:relative;
}

.line::before{
	content:"";
	position:absolute;
	top:-3px;
	left:0;
	width:100%;
	height:6px;
	background:url(../../img/line_01.png) repeat-x center;
}

a img, .fade{ transition-duration:0.2s; }
a:hover img, .fade:hover{ opacity:0.8; }


/* ----------------------------------------
	header
---------------------------------------- */
header.inner{
	width:1100px;
}

header h1{
	padding:30px 0 0 38px;
}


/* entry
---------------------------------------- */
header .entry{
	position:fixed;
	top:30px;
	right:40px;
	z-index:10;
}

header .entry a{
	display:block;
	width:102px;
	height:102px;
	padding:24px 0 0 0;
	background:#fdce52;
	border:3px solid #000000;
	border-radius:50%;
	text-align:center;
	font-size:1.6rem;
	font-weight:700;
	line-height:24px;
	letter-spacing:0.02em;
	text-decoration:none;
}


/* ----------------------------------------
	menu
---------------------------------------- */
#menu .btn{
	display:none;
}

#menu ul{
	display:block !important;
	position:absolute;
	top:37px;
	left:248px;
}

#menu ul li{
	float:left;
	padding:0 30px 0 0;
	font-size:1.3rem;
	font-weight:700;
	line-height:19px;
}
#menu ul li a{ text-decoration:none; }
#menu ul li a:hover{ text-decoration:underline; }


/* ----------------------------------------
	main
---------------------------------------- */
main h2{
	padding:100px 0 60px 0;
	text-align:center;
	font-size:4.5rem;
	font-weight:700;
	line-height:1;
	letter-spacing:0.1em;
}

main h2 span{
	font-size:3.0rem;
}

main p{
	line-height:30px;
}


/* list
---------------------------------------- */
main .list{
	overflow:visible;
	padding:18px 0 32px 0;
}

main .list li{
	position:relative;
	float:left;
	width:425px;
	margin:0 50px 68px 0;
	background:#ffffff;
	border:4px solid #171717;
}
main .list li:nth-child(2n){ margin-right:0; }

main .list dl{
	padding:38px 34px 24px;
	line-height:30px;
}

main .list dl dt{
	padding:0 0 10px 0;
	text-align:center;
	font-size:1.8rem;
	font-weight:700;
	letter-spacing:0.1em;
}

main .list dl dt span{
	position:absolute;
	top:-22px;
	left:50%;
	width:200px;
	margin:0 0 0 -100px;
	background:#fdce52;
	border:3px solid #171717;
	border-radius:19px;
	font-size:2.0rem;
	line-height:34px;
	letter-spacing:0.1em;
}


/* ----------------------------------------
	footer
---------------------------------------- */
footer{
	padding:68px 0 20px 0;
	background:#000000;
	text-align:center;
	color:#ffffff;
}

footer small{
	display:block;
	padding:34px 0 0 0;
	font-size:1.1rem;
	line-height:1;
}


/* ========================================================================
	HOME								[ / ]
======================================================================== */

/* ----------------------------------------
	key
---------------------------------------- */
#key h2{
	padding:40px 0 30px 235px;
	text-align:left;
}

#key p{
	padding:0 0 50px 0;
	text-align:center;
	font-size:1.5rem;
	font-weight:500;
	line-height:34px;
	letter-spacing:0.08em;
}

#key .produce{
	padding:0 0 53px 0;
	text-align:center;
}


/* interview
---------------------------------------- */
#key .interview{
	position:absolute;
	bottom:-9px;
	left:0;
}

#key .interview::before{
	content:"";
	position:absolute;
	top:-24px;
	left:-10px;
	width:109px;
	height:95px;
	background:url(../../img/key_interview02.png) no-repeat;
	background-size:100%;
}


/* photograph
---------------------------------------- */
#key .photograph{
	position:absolute;
	bottom:-9px;
	right:-12px;
}

#key .photograph::before{
	content:"";
	position:absolute;
	top:-24px;
	right:2px;
	width:109px;
	height:95px;
	background:url(../../img/key_photograph02.png) no-repeat;
	background-size:100%;
}


/* ----------------------------------------
	about
---------------------------------------- */
#about{
	padding:0 0 100px 0;
}

#about .bg{
	background:#fdce52;
}

#about h2 span{
	margin-left:-0.5em;
}

#about h2 span.ruby{
	position:relative;
	margin:0;
	font-size:5.4rem;
}

#about h2 span.ruby::after{
	content:"ヴォイス";
	position:absolute;
	bottom:-4px;
	left:0;
	width:100%;
	text-align:center;
	font-size:1.4rem;
}


/* outline
---------------------------------------- */
#about .outline{
	padding:0 0 180px 0;
}

#about .outline p{
	width:440px;
}

#about .outline p.lead{
	padding:0 0 20px 0;
	font-size:2.1rem;
	font-weight:700;
	line-height:40px;
	letter-spacing:0.1em;
}

#about .outline .merit{
	position:absolute;
	top:20px;
	right:0;
	width:400px;
}

#about .outline .merit dl{
	width:320px;
	min-height:170px;
	margin:0 0 36px 0;
	padding:20px 0 0 30px;
	background:#ffffff;
	border:5px solid #171717;
	border-radius:23px;
}
#about .outline .merit dl:nth-child(2){ margin-left:88px; }

#about .outline .merit dd{
	padding:18px 0 0 0;
	font-size:1.7rem;
	font-weight:700;
	line-height:28px;
	letter-spacing:0.05em;
}


/* point
---------------------------------------- */
#about .point figure{
	position:relative;
	margin:-150px 0 50px 0;
	text-align:center;
}

#about .point figure::before,
#about .point figure::after{
	content:"";
	position:absolute;
	bottom:50px;
	left:45px;
	width:50%;
	height:21px;
	background:url(../../img/about_point02.png) no-repeat;
	background-size:auto 100%;
}
#about .point figure::after{
	bottom:70px;
	left:auto;
	right:0;
	background-image:url(../../img/about_point03.png);
	background-position:right center;
}


/* member
---------------------------------------- */
#about .member{
	overflow:hidden;
	padding:0 0 118px 0;
}

#about .member p.image{
	float:left;
	padding:0 67px 0 17px;
}

#about .member p.lead{
	padding:0 0 20px 0;
}


/* ---------- btn ---------- */
#about .member .btn{
	padding:40px 0 0 0;
	text-align:right;
}

#about .member .btn a{
	display:inline-block;
	width:200px;
	background:#fdce52;
	border:3px solid #171717;
	text-align:center;
	font-size:1.6rem;
	font-weight:700;
	line-height:44px;
	letter-spacing:0.05em;
	text-decoration:none;
}


/* charm
---------------------------------------- */
#about .charm{
	position:relative;
	padding:58px 46px 40px;
	background:#fdce52;
	border:4px solid #171717;
	border-radius:23px;
	line-height:30px;
}

#about .charm dt{
	position:absolute;
	top:-22px;
	left:50%;
	width:540px;
	margin:0 0 0 -270px;
	background:#171717;
	border:3px solid #fffff4;
	border-radius:19px;
	text-align:center;
	font-size:1.8rem;
	font-weight:700;
	color:#ffffff;
	line-height:34px;
	letter-spacing:0.1em;
}

#about .charm dd span{
	font-weight:700;
}


/* ----------------------------------------
	trouble
---------------------------------------- */
#trouble{
	padding:0 0 100px 0;
	background:#dceff7;
}

#trouble h2{
	padding:90px 0 30px 0;
	font-size:3.0rem;
	line-height:50px;
}

#trouble p{
	padding:0 40px;
}

#trouble ul{
	padding:0 0 30px 0;
}

#trouble ul li{
	float:left;
	width:321px;
	height:231px;
	margin:12px 20px 0 0;
	padding:66px 50px 0 58px;
	background:url(../../img/trouble_01.png) no-repeat center;
	background-size:100% auto;
	font-size:1.6rem;
	font-weight:700;
	line-height:37px;
	letter-spacing:0.1em;
}
#trouble ul li:nth-child(2){
	width:269px;
	height:201px;
	margin:76px 7px 0 0;
	padding:52px 40px 0 50px;
	background-image:url(../../img/trouble_02.png);
}
#trouble ul li:nth-child(3){
	width:283px;
	height:209px;
	margin:0;
	padding:54px 40px 0 60px;
	background-image:url(../../img/trouble_03.png);
}
#trouble ul li:nth-child(4){
	width:326px;
	height:226px;
	margin:-6px 65px 0 76px;
	padding:62px 40px 0 60px;
	background-image:url(../../img/trouble_04.png);
}
#trouble ul li:nth-child(5){
	width:377px;
	height:265px;
	margin:0;
	padding:62px 50px 0 74px;
	background-image:url(../../img/trouble_05.png);
}


/* ----------------------------------------
	plan
---------------------------------------- */
#plan > p{
	width:550px;
	margin:0 auto;
}

#plan > div:nth-of-type(2){
	background:#fdce52;
}

#plan .inner{
	padding:0 100px;
}


/* type
---------------------------------------- */
#plan .type{
	padding:100px 0;
}

#plan .type h4{
	padding:0 0 30px 0;
	text-align:center;
	font-size:1.8rem;
	font-weight:700;
	line-height:1;
	letter-spacing:0.1em;
}

#plan .type p{
	padding:0 0 40px 0;
}

#plan .type ul{
	padding:0 0 20px 0;
}

#plan .type ul li{
	float:left;
	width:340px;
	margin:0 20px 20px 0;
}
#plan .type ul li:nth-child(2n){ margin-right:0; }

#plan .type dl dt{
	padding:0 0 5px 0;
	font-size:1.6rem;
	font-weight:700;
	line-height:1;
	letter-spacing:0.1em;
}

#plan .type table{
	position:relative;
	margin:10px 0 0 0;
	border:1px solid #171717;
	font-size:1.5rem;
	line-height:38px;
	letter-spacing:normal;
}

#plan .type table th{
	width:176px;
	padding:0 0 0 15px;
	background:#171717;
	text-align:left;
	font-weight:700;
	color:#ffffff;
}

#plan .type table td{
	background:#ffffff;
	font-weight:700;
	line-height: 1.8em;
}

#plan .type table td:first-of-type{
	width:320px;
	padding:0 0 0 20px;
}

#plan .type table td:last-of-type{
	width:100px;
	text-align:center;
}

#plan .type table td:last-of-type::before{
	content:"";
	position:absolute;
	top:9px;
	right:101px;
	width:1px;
	/*height:22px;*/
	height:40px;
	background:#707070;
}

#plan .type .price{
	padding:20px 0 0 0;
	text-align:right;
	font-size:3.0rem;
	font-weight:700;
	line-height:1;
	letter-spacing:0.1em;
}

#plan .type .price span{
	font-size:1.8rem;
	letter-spacing:normal;
}
#plan .type .price > span:first-of-type{ padding:0 8px 0 0; }
#plan .type .price span.yen{ font-weight:400; }
#plan .type .price span.yen span{ font-size:1.6rem; }
#plan .type .price span.tax{ font-size:1.6rem; font-weight:400; }


/* box
---------------------------------------- */
#plan .box{
	position:relative;
	width:900px;
	margin:0 auto 60px;
	padding:0 0 40px 0;
	background:#ffffff;
	border:5px solid #171717;
	border-radius:20px;
	text-align:center;
}

#plan .box h3{
	padding:40px 0 30px 0;
	font-size:2.8rem;
	font-weight:700;
	line-height:45px;
	letter-spacing:0.1em;
}

/*#plan .box h3 img{
	position:absolute;
	top:-55px;
	left:-35px;
}*/

#plan .box h3 span{
	position:absolute;
	top:-29px;
	left:50%;
	width:376px;
	margin:0 0 0 -188px;
	background:#171717;
	border:4px solid #ffffff;
	font-size:1.8rem;
	color:#ffffff;
	line-height:42px;
	letter-spacing:normal;
}

#plan .box p{
	padding:0 0 30px 0;
	font-size:2.8rem;
    font-weight:700;
	line-height:45px;
}

#plan .box .or{
	position:relative;
	margin:0 0 30px 0;
	padding:0 0 40px 0;
	background:url(../../img/line_02.png) repeat-x 3px bottom;
	background-size:10px 3px;
}
#plan .box .or::before{
	content:"";
	position:absolute;
	bottom:-20px;
	left:50%;
	width:44px;
	height:44px;
	margin:0 0 0 -22px;
	background:url(../../img/plan_and.png) no-repeat center;
	background-size:44px;
}


/* option
---------------------------------------- */
#plan .option{
	padding:100px 0 0 0;
}

#plan .option h5{
	padding:0 0 10px 0;
	font-size:1.5rem;
	font-weight:700;
	line-height:22px;
}
#plan .option h5 img{ margin:0 1.0em 0 0; }

#plan .option figure{
	float:left;
	padding:0 20px 40px 0;
}

#plan .option p{
	overflow:hidden;
}

#plan .option p.lead{
	padding:10px 0;
	font-size:1.8rem;
	font-weight:700;
	letter-spacing:0.1em;
}


/* ----------------------------------------
	member
---------------------------------------- */
#member{
	background:#fdce52;
}

#member h2{
	padding:90px 0 50px 0;
	font-size:3.0rem;
	line-height:50px;
}

#member ul{
	padding:0 0 40px 0;
	font-size:0;
	letter-spacing:normal;
}

#member ul li{
	display:inline-block;
	width:260px;
	margin:0 60px 60px 0;
	vertical-align:top;
}
#member ul li:nth-child(3n){ margin-right:0; }

#member img{
	margin:0 0 15px 0;
}

#member h3{
	padding:10px 10px 20px;
	font-size:1.6rem;
	font-weight:700;
	line-height:1;
	letter-spacing:0.2em;
}

#member h3 span{
	display:block;
	padding:6px 0 0 0;
	font-size:1.1rem;
	font-weight:400;
	letter-spacing:0.05em;
}

#member p{
	padding:0 10px;
	font-size:1.3rem;
	line-height:25px;
	letter-spacing:0.05em;
}


/* ----------------------------------------
	case
---------------------------------------- */


/* ----------------------------------------
	area
---------------------------------------- */
#area{
	padding:0 0 100px 0;
	background:#b99c24;
}

#area h2{
	color:#ffffff;
}

#area .inner{
	background:#ffffff;
	border:5px solid #171717;
	border-radius:20px;
}

#area .clearfix{
	padding:0 35px 0 60px;
}

#area figure{
	float:right;
	padding:50px 0 40px 0;
}

#area p{
	padding:0 0 30px 0;
}

#area p.lead{
	padding:60px 0 50px 0;
	font-size:2.5rem;
	font-weight:700;
	line-height:1;
	letter-spacing:0.1em;
}

#area p.note{
	font-size:1.3rem;
}

#area .column{
	overflow:hidden;
}

#area table{
	float:left;
	width:215px;
	margin:0 0 30px 0;
	line-height:30px;
}

#area table th{
	text-align:left;
	font-weight:700;
	color:#b99c24;
}

#area table td{
	padding:0 20px 0 0;
	text-align:right;
	font-weight:700;
}

#area table td span{
	font-size:1.0rem;
}

#area dl{
	margin:0 50px;
	padding:30px 10px 50px;
	background:url(../../img/line_02.png) repeat-x center top;
	background-size:10px 3px;
	line-height:30px;
}

#area dl dt{
	float:left;
	padding:0 20px 0 0;
}

#area dl dd ul li{
	float:left;
	padding:0 40px 0 0;
}


/* ----------------------------------------
	data
---------------------------------------- */
#data{
	padding:0 0 100px 0;
}

#data ul{
	padding:0 0 0 20px;
	line-height:30px;
}

#data ul li{
	padding:0 0 30px 1.0em;
	text-indent:-1.0em;
}

#data figure{
	position:absolute;
	top:0;
	right:70px;
}

#data p{
	padding:0 0 0 20px;
	font-size:1.3rem;
	line-height:25px;
}

#data p.rgb{
	overflow:hidden;
	width:514px;
	margin:0 0 20px 20px;
	padding:30px 20px 30px 40px;
	background:#ffffff;
	border:1px solid #171717;
}

#data p.rgb img{
	float:right;
	margin:10px 0 0 20px;
}


/* ----------------------------------------
	flow
---------------------------------------- */
#flow{
	background:#fdce52;
}

#flow ol{
	width:750px;
	padding:0 0 45px 0;
}

#flow ol li{
	position:relative;
	margin:0 0 55px 0;
	padding:9px 0;
	background:#ffffff;
	border:2px solid #ffffff;
	text-align:center;
	font-size:1.8rem;
	font-weight:700;
	line-height:26px;
	letter-spacing:0.1em;
}
#flow ol li.bg{
	background:#b99c24;
	color:#ffffff;
}

#flow ol li::after{
	content:"";
	position:absolute;
	bottom:-37px;
	left:50%;
	margin:0 0 0 -15px;
	border-style:solid;
	border-width:15px 15px 0 15px;
	border-color:#8a7234 transparent transparent transparent;
}
#flow ol li:last-child::after{ display:none; }

#flow ol li span{
	vertical-align:bottom;
	font-size:1.4rem;
	font-weight:400;
}

#flow table{
	margin:2px 0;
	line-height:22px;
}

#flow table th{
	position:relative;
	width:236px;
	font-weight:700;
}
#flow .bg table th{
	padding:4px 0;
	line-height:26px;
}

#flow table th::before{
	content:"";
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:100%;
	background:#707070;
}
#flow .bg table th::before{ background:#ffffff; }

#flow table td{
	font-weight:700;
}


/* ----------------------------------------
	faq
---------------------------------------- */
#faq{
	padding:0 0 60px 0;
	background:#b99c24;
}

#faq h2{
	color:#ffffff;
}

#faq dl{
	padding:0 0 100px 0;
	line-height:30px;
}

#faq dl dt{
	position:relative;
	margin-top:20px;
	padding:13px 65px 13px 80px;
	background:#ffffff;
	font-size:1.6rem;
	font-weight:700;	
	letter-spacing:0.1em;
	cursor:pointer;
}
#faq dl dt:first-of-type{ margin-top:0; }

#faq dl dt::after{
	content:"";
	position:absolute;
	top:0;
	right:25px;
	width:20px;
	height:100%;
	background:url(../../img/faq_open.png) no-repeat center;
	background-size:20px;
}
#faq dl dt.close::after{ background-image:url(../../img/faq_close.png); }

#faq dl dd{
	display:none;
	position:relative;
	padding:13px 65px 13px 80px;
	background:#fdce52;
}
#faq dl dd:first-of-type{ display:block; }

#faq dl dt::before,
#faq dl dd::before{
	content:"Q";
	position:absolute;
	top:16px;
	left:0;
	width:80px;
	text-align:center;
	font-size:2.4rem;
	line-height:1;
}
#faq dl dd::before{
	content:"A";
	font-weight:700;
	color:#ef4c72;	
}


/* btn
---------------------------------------- */
#faq .btn a{
	display:block;
	width:500px;
	margin:0 auto 40px;
	background:#171717;
	border:2px solid #ffffff;
	text-align:center;
	font-size:1.8rem;
	font-weight:700;
	color:#ffffff;
	line-height:96px;
	letter-spacing:normal;
	text-decoration:none;
}
#faq .btn a.entry{
	background:#fdce52;
	color:#171717;
}
#faq .btn span{ padding:0 1.0em; }


/* ========================================================================
	お申込み or お問い合わせ			[ /entry/ ]
======================================================================== */
#entry{
	padding:0 0 140px 0;
}

#entry h2{
	padding:90px 0 50px 0;
	font-size:3.0rem;
	line-height:50px;
}

#entry > p{
	padding:0 0 60px 0;
	text-align:center;
}

#entry table{
	width:780px;
	margin:0 auto 30px;
	letter-spacing:normal;
}
#entry table table{
	width:auto;
	margin:0;
}

#entry table th{
	width:200px;
	padding:0 0 30px 0;
	text-align:left;
	vertical-align:top;
	font-weight:700;
	line-height:40px;
}

#entry table td{
	padding:0 0 30px 0;
}

#entry table td span.attention{
	font-weight:700;
	color:#dd0000;
}

#entry ul{
	overflow:visible;
	margin:20px 0;
}

#entry ul li{
	padding:17px 0;
	border-bottom:1px solid #171717;
}
#entry ul li:first-child{ border-top:1px solid #171717; }

#entry ul li > label{
	margin:0;
	font-weight:700;
}

#entry ul li p{
	padding:0 0 10px 0;
	font-size:1.3rem;
	line-height:25px;
	letter-spacing:0.1em;
}

#entry ul li p span{
	display:inline-block;
	padding:0 0 0 1.0em;
}

#entry ul li table th{
	width:100px;
	padding:0;
	font-weight:400;
}

#entry ul li table td{
	padding:0;
}


/* ----------------------------------------
	btn
---------------------------------------- */
#entry .btn{
	padding:0 0 60px 0;
	text-align:center;
}

#entry .btn button,
#entry .btn input{
	width:380px;
	margin:0 10px;
	background:#fdce52;
	border:none;
	line-height:70px;
}


}