@charset "utf-8";
/* -----------------------------------------------------------------------

layout.css

----------------------------------------------------------------------- */

/*-----------------------------------------------------------------
	common
-----------------------------------------------------------------*/

#wrap {
	min-width:320px;
}
.inner {
	max-width:1000px;
	margin:0 auto;
}
@media screen and (max-width:559px) {
	.inner {
		padding:35px 15px;
	}
}

@media print, screen and (min-width:560px) {
	.inner {
		padding:40px 20px;
	}
}

@media print, screen and (min-width:768px) {
	.inner {
		padding:50px 30px;
	}
}

/*--  --*/

.headLine {
	margin-bottom:1em;
	line-height:1.5;
	letter-spacing:0.04em;
	text-indent:0.04em;
	font-family: 'Noto Serif JP', serif;
	text-align:center;
}

@media screen and (max-width:559px) {
	.headLine {
		font-size:2.4rem;
	}
}

@media print, screen and (min-width:560px) {
	.headLine {
		font-size:2.8rem;
	}
}

@media print, screen and (min-width:768px) {
	.headLine {
		font-size:3.2rem;
	}
}

/*--  --*/

.entryBtn {
	display:block;
	width:90%;
	max-width:350px;
	text-align:center;
	font-weight:500;
	letter-spacing:0.04em;
	text-indent:0.04em;
	font-family: 'Noto Serif JP', serif;
	text-align:center;
	color:#fff;
	border-radius:50vh;
	background-image: radial-gradient(circle, rgba(56, 56, 102, 1), rgba(37, 28, 86, 1));
	background-color: #474774;
	position:relative;
	cursor:pointer;
	transition:all 0.5s ease;
}
.entryBtn::after {
	display:block;
	content:"";
	width:0;
	height:0;
	margin:auto 0;
	border-top: 6px solid transparent;
	border-bottom: 6px solid transparent;
	border-left: 10px solid #e9d296;
	position:absolute;
	top:0;
	bottom:0;
	right:20px;
	transition:all 0.5s ease;
}
.entryBtn:hover {
	opacity:0.7;
}
.entryBtn:hover::after {
	right:15px;
}
.entryBtn.center {
	margin-left:auto;
	margin-right:auto;
}

@media screen and (max-width:559px) {
	.entryBtn {
		font-size:2.0rem;
		line-height:48px;
	}
}

@media print, screen and (min-width:560px) {
	.entryBtn {
		font-size:2.2rem;
		line-height:50px;
	}
}

@media print, screen and (min-width:768px) {
	.entryBtn {
		font-size:2.4rem;
		line-height:52px;
	}
}



/*-----------------------------------------------------------------
	header
-----------------------------------------------------------------*/

header {
	background:#000;
}
header h1 {
	max-width:1000px;
	margin:0 auto;
	font-size:1.12em;
	color:#fff;
}

@media screen and (max-width:559px) {
	header h1 {
		padding:10px 15px;
		font-size:1.3rem;
	}
}

@media screen and (min-width:560px) {
	header h1 {
		padding:18px;
	}
}

@media print, screen and (min-width:768px) {
	header h1 {
		padding:20px 30px;
	}
}


/*-----------------------------------------------------------------
	main
-----------------------------------------------------------------*/

#mainimg {
	background-repeat:no-repeat;
}
#mainimg .data {
	max-width:465px;
}
#mainimg .entryBtn {
	box-shadow: 0px 0px 5px 0px rgba(255,255,255,0.5),0px 0px 10px 0px rgba(255,255,255,0.5);
}

@media screen and (max-width:559px) {
	#mainimg {
		padding-top:77.5%;
		background-position:top 0% left 50%;
		background-size:cover;
	}
	#mainimg.a01 {
		background-image:url(../img/main_a_bg01_sp.jpg);
	}
	#mainimg.a02 {
		background-image:url(../img/main_a_bg02_sp.jpg);
	}
	#mainimg .inner {
		padding:0 5px 30px;
	}
	#mainimg .data {
		margin:0 auto;
	}
}

@media screen and (min-width:560px) {
	#mainimg {
		background-position:top 50% left 50%;
		background-size:auto 101%;
	}
	#mainimg.a01 {
		background-image:url(../img/main_a_bg01.jpg);
	}
	#mainimg.a02 {
		background-image:url(../img/main_a_bg02.jpg);
	}
	#mainimg .inner {
		padding:35px 5px;
	}
	#mainimg .data {
		width:50%;
		max-width:465px;
	}
}

@media screen and (min-width:768px) {
	#mainimg .inner {
		padding:30px 10px 40px;
	}
}

@media screen and (min-width:1000px) {
	#mainimg {
		background-size:1400px auto;
	}
	#mainimg .inner {
		padding:40px 15px 50px;
	}
}

@media print, screen and (min-width:1400px) {
	#mainimg {
		background-size:cover;
	}
}



/*-----------------------------------------------------------------
	reason
-----------------------------------------------------------------*/

#reason {
	background-image:url(../img/reason_a_bg.jpg);
	background-color:#000;
	background-repeat:no-repeat;
	background-position:bottom 0% left 50%;
	position:relative;
}
#reason02 {
	background-image:url(../img/reason_a_bg.jpg);
	background-color:#000;
	background-repeat:no-repeat;
	background-position:bottom 0% left 50%;
	position:relative;
}


#reason::before {
	display:block;
	content:"";
	width:0;
	height:0;
	margin:0 auto;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	border-top: 25px solid #8c5616;
	position:absolute;
	left:0;
	right:0;
	bottom:-24px;
	z-index:3;
	transition:all 0.5s ease;
}

#reason .reasonList dt {
	max-width:510px;
	margin:20px auto 15px;
	padding:8px 35px;
	line-height:1.3;
	text-align:center;
	font-weight:500;
	letter-spacing:0;
	text-indent:0.04em;
	font-family: 'Noto Serif JP', serif;
	text-align:center;
	color:#6f4f0b;
	background-image: radial-gradient(circle, rgba(255, 242, 185, 1), rgba(220, 182, 83, 1));
	position:relative;
}
#reason .reasonList dt::before,
#reason .reasonList dt::after {
	display:block;
	content:"";
	width:17px;
	height:21px;
	margin:auto 0;
	background:url(../img/reason_icon_star.png) no-repeat 0 0;
	background-size:100% auto;
	position:absolute;
	top:0;
	bottom:0;
}
#reason .reasonList dt::before {
	left:12px;
}
#reason .reasonList dt::after {
	right:12px;
}
#reason .reasonList dd {
	padding:0 5px;
	color:#fff;
}

@media screen and (max-width:559px) {
	#reason {
		padding-bottom:30px;
		background-size:700px auto;
	}
	#reason .reasonList dt {
		font-size:1.6rem;
	}
}

@media screen and (min-width:560px) {
	#reason {
		padding-bottom:30px;
		background-size:768px auto;
	}
	#reason .reasonList dt {
		font-size:1.8rem;
	}
}

@media print, screen and (min-width:768px) {
	#reason {
		padding-bottom:40px;
		background-size:1000px auto;
	}
	#reason .reasonList dt {
		font-size:2.0rem;
	}
	#reason .reasonList dd {
		text-align:center;
	}
}

@media print, screen and (min-width:1000px) {
	#reason {
		padding-bottom:50px;
		background-size:1400px auto;
	}
}

@media print, screen and (min-width:1400px) {
	#reason {
		background-size:100% auto;
	}
}



/*-----------------------------------------------------------------
	faq
-----------------------------------------------------------------*/

#faq {
	background-image:url(../img/faq_bg.jpg);
	background-color:#000;
	background-repeat:no-repeat;
	background-position:top 0% left 50%;
	position:relative;
}
#faq::before {
	display:block;
	content:"";
	width:0;
	height:0;
	margin:0 auto;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	border-top: 25px solid #000;
	position:absolute;
	left:0;
	right:0;
	bottom:-24px;
	z-index:3;
	transition:all 0.5s ease;
}
#faq .faqBox {
	background-color:#fff;
}
#faq .faqBox dt {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	color:#fff;
	background:#6d4f00;
	border-top:1px solid #000;
	position:relative;
}
#faq .faqBox:first-child dt {
	border-top:none;
}
#faq .faqBox dt .icon{
	width:48px;
	font-size:2.6rem;
	line-height:48px;
	font-weight:bold;
	text-align:center;
	color:#fff;
}
#faq .faqBox dt p.txt {
	width: calc(100% - 48px);
	padding:10px 50px 10px 15px;
	background:#FFA60C;
}
#faq dt .icon,
#faq dt .txt{
	min-height:50px;
}
#faq .faqBox dt .con {
	display:block;
	width:32px;
	height:32px;
	margin:auto 0;
	background:#0d0d0d;
	position:absolute;
	top:0;
	bottom:0;
	right:10px;
	cursor:pointer;
	z-index:2;
}
#faq .faqBox dt .con::before,
#faq .faqBox dt .con::after {
	display:block;
	content:"";
	margin:auto;
	background:#fff;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	transition:all 0.5s ease;
}
#faq .faqBox dt .con::before {
	width:3px;
	height:19px;
}
#faq .faqBox dt .con::after {
	width:19px;
	height:3px;
}
#faq .faqBox.close dt .con::before {
	transform:rotate(270deg);
}
#faq .faqBox.close dt .con::after {
	opacity:0;
}

#faq .faqBox dd {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
}
#faq .faqBox dd .icon{
	width:48px;
	height:100%;
	padding:12px 0;
	font-size:2.6rem;
	font-weight:bold;
	text-align:center;
	color:#c15f5f;
}
#faq .faqBox dd p.txt {
	width: calc(100% - 48px);
	padding:20px 15px;
}

@media screen and (max-width:559px) {
	#faq {
		background-size:700px auto;
	}
}

@media screen and (min-width:560px) {
	#faq {
		background-size:768px auto;
	}
}

@media print, screen and (min-width:768px) {
	#faq {
		background-size:1000px auto;
	}
}

@media print, screen and (min-width:1000px) {
	#faq {
		padding-bottom:50px;
		background-size:1400px auto;
	}
}

@media print, screen and (min-width:1400px) {
	#faq {
		background-size:100% auto;
	}
}


/*-----------------------------------------------------------------
	flow
-----------------------------------------------------------------*/

#flow {
	background:#fff;
	position:relative;
}
#flow::before {
	display:block;
	content:"";
	width:0;
	height:0;
	margin:0 auto;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	border-top: 25px solid #fff;
	position:absolute;
	left:0;
	right:0;
	bottom:-24px;
	z-index:3;
	transition:all 0.5s ease;
}
#flow .flowList li {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
	position:relative;
}
#flow .flowList li:nth-child(odd) {
	background:#eee;
}
#flow .flowList li:nth-child(even) {
	background:#d8d8d8;
}

#flow .flowList li::before {
	display:block;
	content:"";
	width:0;
	height:0;
	position:absolute;
	z-index:3;
}
#flow .flowList li:last-child::before {
	display:none;
}

#flow .flowList li .number {
	font-family: 'Oswald', sans-serif;
	font-weight:400;
	text-align:right;
	line-height:0.6;
}
#flow .flowList li .number span {
	display:inline-block;
	font-weight:500;
	text-align:center;
	line-height:0.6;
	vertical-align:top;
	position:relative;
}
#flow .flowList li .title {
	line-height:1.2;
	letter-spacing:-0.05em;
	color:#3a3a85;
}
#flow .flowList li .txt {
	line-height:1.6;
}
#flow .catchcopy {
	margin-top:1.25em;
	line-height:1.6;
	font-family: 'Noto Serif JP', serif;
	text-align:center;
	color:#9d7318;
}


@media screen and (max-width:559px) {
	#flow .flowList li {
		padding:28px 0 18px;
	}
	#flow .flowList li::before {
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
		left:63px;
		bottom:-15px;
	}
	#flow .flowList li:nth-child(odd)::before {
		border-top: 15px solid #eeeeee;
	}
	#flow .flowList li:nth-child(even)::before {
		border-top: 15px solid #d8d8d8;
	}
	
	#flow .flowList li .number {
		width:90px;
		font-size:2.4rem;
	}
	#flow .flowList li .number span {
		width:25px;
		margin-left:5px;
		font-size:4.2rem;
	}
	#flow .flowList .title {
		width: calc(100% - 90px);
		padding:0 0 5px 15px;
		font-size:2.0rem;
	}
	#flow .flowList li .txt {
		width: 100%;
		padding:10px 16px 0;
	}
	#flow .catchcopy {
		font-size:1.8rem;
	}
}

@media screen and (min-width:560px) {
	#flow .flowList li {
		padding:25px 0;
	}
	#flow .flowList li::before {
		border-left: 15px solid transparent;
		border-right: 15px solid transparent;
		left:88px;
		bottom:-15px;
	}
	#flow .flowList li:nth-child(odd)::before {
		border-top: 15px solid #eeeeee;
	}
	#flow .flowList li:nth-child(even)::before {
		border-top: 15px solid #d8d8d8;
	}
	
	#flow .flowList li .number {
		width:120px;
		font-size:3.2rem;
	}
	#flow .flowList li .number span {
		width:35px;
		margin-left:5px;
		font-size:5.8rem;
	}
	#flow .flowList .title {
		width:150px;
		font-size:2.0rem;
		text-align:center;
	}
	#flow .flowList li .txt {
		width: calc(100% - 270px);
		padding-right:20px;
	}
	#flow .catchcopy {
		font-size:2.4rem;
	}
}

@media print, screen and (min-width:768px) {
	#flow .flowList li {
		min-height:110px;
		padding:25px 0;
	}
	#flow .flowList li::before {
		border-left: 18px solid transparent;
		border-right: 18px solid transparent;
		left:106px;
		bottom:-20px;
	}
	#flow .flowList li:nth-child(odd)::before {
		border-top: 20px solid #eeeeee;
	}
	#flow .flowList li:nth-child(even)::before {
		border-top: 20px solid #d8d8d8;
	}
	
	#flow .flowList li .number {
		width:140px;
		font-size:3.6rem;
	}
	#flow .flowList li .number span {
		width:35px;
		margin-left:5px;
		font-size:6.4rem;
	}
	#flow .flowList .title {
		width:180px;
		font-size:2.4rem;
	}
	#flow .flowList li .txt {
		width: calc(100% - 320px);
		padding-right:20px;
	}
	#flow .catchcopy {
		font-size:2.6rem;
	}
}



/*-----------------------------------------------------------------
	voice
-----------------------------------------------------------------*/

#voice {
	background:url(../img/voice_bg.jpg) no-repeat 50% 50%;
	background-size:cover;
	position:relative;
}
#voice::before {
	display:block;
	content:"";
	width:0;
	height:0;
	margin:0 auto;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	border-top: 25px solid #e3c966;
	position:absolute;
	left:0;
	right:0;
	bottom:-24px;
	z-index:3;
	transition:all 0.5s ease;
}
#voice .voiceList {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
}
#voice .voiceList li{
	margin-top:25px;
	background:#fff;
	border:2px solid #fff;
	border-radius:10px;
	overflow:hidden;
}
#voice .voiceList li .head {
	color:#fff;
	background-color:#d89c1e;
	background-repeat:no-repeat;
	background-position:top 50% left 20px;
	background-size:100px auto;
}
#voice .voiceList li:nth-child(1) .head {
	background-image:url(../img/voive_img01.png);
}
#voice .voiceList li:nth-child(2) .head {
	background-image:url(../img/voive_img02.png);
}
#voice .voiceList li:nth-child(3) .head {
	background-image:url(../img/voive_img03.png);
}
#voice .voiceList li:nth-child(4) .head {
	background-image:url(../img/voive_img04.png);
}
#voice .voiceList li .body {
	padding:20px 20px 20px;
	line-height:2;
}
@media screen and (max-width:559px) {
	#voice .voiceList li{
		width:100%;
	}
	#voice .voiceList li:nth-child(1){
		margin-top:0;
	}
	#voice .voiceList li .head {
		padding:15px 15px 15px 95px;
	}
	#voice .voiceList li .head {
		background-size:60px auto;
	}
}

@media screen and (min-width:560px) {
	#voice .voiceList li{
		width:100%;
	}
	#voice .voiceList li:nth-child(1){
		margin-top:0;
	}
	#voice .voiceList li .head {
		padding:20px 20px 20px 140px;
	}
}

@media print, screen and (min-width:768px) {
	#voice .voiceList li{
		width:48.5%;
	}
	#voice .voiceList li:nth-child(1),
	#voice .voiceList li:nth-child(2){
		margin-top:0;
	}
}



/*-----------------------------------------------------------------
	greeting
-----------------------------------------------------------------*/

#greeting {
	color:#fff;
	background-image:url(../img/greeting_a_bg.jpg);
	background-color:#000;
	background-repeat:no-repeat;
	background-position:bottom 0% left 50%;
	position:relative;
}
#greeting::before {
	display:block;
	content:"";
	width:0;
	height:0;
	margin:0 auto;
	border-left: 25px solid transparent;
	border-right: 25px solid transparent;
	border-top: 25px solid #8c5616;
	position:absolute;
	left:0;
	right:0;
	bottom:-24px;
	z-index:3;
	transition:all 0.5s ease;
}
#greeting .box {
	text-align:center;
	background-image:
		url(../img/greeting_waku_tl.png),
		url(../img/greeting_waku_tr.png),
		url(../img/greeting_waku_bl.png),
		url(../img/greeting_waku_br.png);
	background-repeat:
		no-repeat,
		no-repeat,
		no-repeat,
		no-repeat;
	background-position:
		top 0 left 0,
		top 0 right 0,
		bottom 0 left 0,
		bottom 0 right 0;
	position:relative;
}
#greeting .box .in {
	position:relative;
}

#greeting .box::before,
#greeting .box::after {
	display:block;
	content:"";
	margin:auto 0;
	background:#af9357;
	position:absolute;
	top:0;
	bottom:0;
}

#greeting .in::before,
#greeting .in::after {
	display:block;
	content:"";
	margin:0 auto;
	background:#af9357;
	position:absolute;
	left:0;
	right:0;
}

#greeting .heading {
	position:absolute;
	top:-3px;
	left:0;
	right:0;
	z-index:3;
}
#greeting .heading span {
	display:inline-block;
	line-height:1;
	color:#af9357;
	font-family: 'Noto Serif JP', serif;
	background-image:
		url(../img/greeting_heading_bg1.png),
		url(../img/greeting_heading_bg2.png);
	background-repeat:
		no-repeat,
		no-repeat;
	background-color:#000;
}
#greeting .in .txt {
	line-height:2;
	text-align:left;
}
#greeting .in .txt dl {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
	text-align:left;
}
#greeting .in .txt dl dt {
	width:95px;
	margin:5px 0;
}
#greeting .in .txt dl dd {
	width: calc(100% - 95px);
	margin:5px 0;
	padding-left:80px;
	position:relative;
}
#greeting .in .txt dl dd::after {
	display:block;
	content:"";
	width:50px;
	height:4px;
	margin:auto 0;
	background:url(../img/dot.png) no-repeat 0 0;
	position:absolute;
	top:14px;
	left:0px;
}

@media screen and (max-width:559px) {
	#greeting {
		padding-bottom:30px;
		background-size:700px auto;
	}
	#greeting .box {
		width: calc(100% + 16px);
		margin-left:-8px;
		background-size:
			70px auto,
			70px auto,
			70px auto,
			70px auto;
	}
	#greeting .box::before,
	#greeting .box::after {
		width:1px;
		height:calc(100% - 160px);
	}
	#greeting .box::before {
		left:9px;
	}
	#greeting .box::after {
		right:9px;
	}
	#greeting .box .in {
		padding:40px 35px 30px;
	}
	#greeting .in::before,
	#greeting .in::after {
		width:calc(100% - 160px);
		height:1px;
	}
	#greeting .in::before {
		top:5px;
	}
	#greeting .in::after {
		bottom:5px;
	}
	
	#greeting .heading span {
		padding:0 20px;
		font-size:2.1rem;
		background-position:
			top 0 left 5px,
			bottom 0 right 8px;
		background-size:
			12px auto,
			10px auto;
	}
	#greeting .in .txt dl dt {
		margin:0;
	}
	#greeting .in .txt dl dd {
		width: 100%;
		margin:0 0 15px;
		padding-left:1em;
	}
	#greeting .in .txt dl dd::after {
		display:none;
		content:"";
		width:25px;
		height:4px;
		margin:auto 0;
		background:url(../img/dot.png) no-repeat top 0 left 3px;
		position:absolute;
		top:12px;
		left:0px;
	}
}

@media screen and (min-width:560px) {
	#greeting {
		padding-bottom:40px;
		background-size:768px auto;
	}
	#greeting .box {
		background-size:
			100px auto,
			100px auto,
			100px auto,
			100px auto;
	}
	#greeting .box::before,
	#greeting .box::after {
		width:1px;
		height:calc(100% - 220px);
	}
	#greeting .box::before {
		left:13px;
	}
	#greeting .box::after {
		right:13px;
	}
	#greeting .box .in {
		padding:50px 50px 40px;
	}
	#greeting .in::before,
	#greeting .in::after {
		width:calc(100% - 220px);
		height:1px;
	}
	#greeting .in::before {
		top:7px;
	}
	#greeting .in::after {
		bottom:7px;
	}
	
	#greeting .heading span {
		padding:0 35px;
		font-size:2.8rem;
		background-position:
			top 0 left 10px,
			bottom 0 right 18px;
		background-size:
			18px auto,
			10px auto;
	}
}

@media print, screen and (min-width:768px) {
	#greeting {
		padding-bottom:60px;
		background-size:1000px auto;
	}
	#greeting .box {
		background-size:
			140px auto,
			140px auto,
			140px auto,
			140px auto;
	}
	#greeting .box::before,
	#greeting .box::after {
		width:2px;
		height:calc(100% - 300px);
	}
	#greeting .box::before {
		left:18px;
	}
	#greeting .box::after {
		right:18px;
	}
	#greeting .box .in {
		padding:60px 80px 50px;
	}
	#greeting .in::before,
	#greeting .in::after {
		width:calc(100% - 300px);
		height:2px;
	}
	#greeting .in::before {
		top:9px;
	}
	#greeting .in::after {
		bottom:9px;
	}
	
	#greeting .heading span {
		padding:0 40px;
		font-size:3.2rem;
		background-position:
			top 0 left 10px,
			bottom 0 right 18px;
		background-size:
			22px auto,
			14px auto;
	}
	#greeting .in .txt {
		text-align:center;
	}
}

@media print, screen and (min-width:1000px) {
	#greeting {
		padding-bottom:80px;
		background-size:1400px auto;
	}
}

@media print, screen and (min-width:1400px) {
	#greeting {
		background-size:100% auto;
	}
}

.entryBtnL {
	display:block;
	width:100%;
	line-height:1.6;
	text-align:center;
	font-weight:500;
	letter-spacing:0.04em;
	text-indent:0.04em;
	font-family: 'Noto Serif JP', serif;
	text-align:center;
	color:#fff;
	background-image: radial-gradient(circle, rgba(56, 56, 102, 1), rgba(37, 28, 86, 1));
	background-color: #474774;
	position:relative;
	cursor:pointer;
	transition:all 0.5s ease;
}
.entryBtnL::after {
	display:block;
	content:"";
	width:0;
	height:0;
	margin:auto 0;
	position:absolute;
	top:0;
	bottom:0;
	transition:all 0.5s ease;
}

.entryBtnL:hover {
	opacity:0.7;
}
.entryBtnL.center {
	margin-left:auto;
	margin-right:auto;
}

@media screen and (max-width:559px) {
	.entryBtnL {
		margin:25px 0 50px;
		padding:12px 30px;
		font-size:1.5rem;
		letter-spacing:-0.05em;
		border-radius:14px;
	}
	.entryBtnL::after {
		border-left: 10px solid #e9d296;
		border-top: 6px solid transparent;
		border-bottom: 6px solid transparent;
		right:10px;
	}
	.entryBtnL:hover::after {
		right:6px;
	}
}

@media print, screen and (min-width:560px) {
	.entryBtnL {
		margin:25px 0 60px;
		padding:18px 55px;
		font-size:1.8rem;
		border-radius:14px;
	}
	.entryBtnL::after {
		border-left: 18px solid #e9d296;
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		right:25px;
	}
	.entryBtnL:hover::after {
		right:20px;
	}
}

@media print, screen and (min-width:768px) {
	.entryBtnL {
		margin:30px 0 65px;
		padding:18px 55px;
		font-size:2.0rem;
		border-radius:16px;
	}
	.entryBtnL::after {
		border-left: 18px solid #e9d296;
		border-top: 10px solid transparent;
		border-bottom: 10px solid transparent;
		right:25px;
	}
	.entryBtnL:hover::after {
		right:20px;
	}
}

@media print, screen and (min-width:1000px) {
	.entryBtnL {
		margin:35px 0 70px;
		padding:18px 65px;
		font-size:2.4rem;
		border-radius:18px;
	}
	.entryBtnL::after {
		border-left: 25px solid #e9d296;
		border-top: 14px solid transparent;
		border-bottom: 14px solid transparent;
		right:30px;
	}
	.entryBtnL:hover::after {
		right:25px;
	}
}



/*-----------------------------------------------------------------
	boshu
-----------------------------------------------------------------*/

#boshu {
	color:#fff;
	background-image: linear-gradient(135deg, rgba(92, 92, 139, 1), rgba(55, 55, 102, 1));
}
#boshu .heading {
	color:#fff7b1;
	text-align:center;
	font-family: 'Noto Serif JP', serif;
}
#boshu .heading.kazari {
	margin:20px 0 1em;
	padding-top:45px;
	background:url(../img/boshu_heading_kazari.png) no-repeat top 0 left 50%;
	background-size:150px auto;
}
#boshu .entryBox {
	max-width:600px;
	margin:45px auto 15px;
	text-align:center;
	font-family: 'Noto Serif JP', serif;
	position:relative;
}
#boshu .entryBox .in{
	width:100%;
	padding:35px 20px 30px;
	color:#fff;
	border:2px solid #a4a4bc;
	border-top:none;
	border-radius:10px;
	position:relative;
	overflow:hidden;
}
#boshu .entryBox .midashi{
	width:100%;
	font-size:2.0rem;
	line-height:24px;
	text-align:center;
	color:#fff;
	position:absolute;
	top:-12px;
}
#boshu .entryBox .in::before {
	display:block;
	content:"";
	width: calc((100% - 320px)/2);
	height:2px;
	background:#a4a4bc;
	position:absolute;
	top:0;
	left:0;
}
#boshu .entryBox .in::after {
	display:block;
	content:"";
	width: calc((100% - 320px)/2);
	height:2px;
	background:#a4a4bc;
	position:absolute;
	top:0;
	right:0;
}
#boshu .list {
	max-width:600px;
	margin:0 auto;
}
#boshu .list a {
	color:#fff;
	text-decoration:underline;
}
#boshu .list a:hover {
	color:#fff;
	text-decoration:none;
	opacity:0.6;
}
#boshu .jobList {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: space-between;
	-ms-flex-pack: space-between;
	justify-content: space-between;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
}
#boshu .jobList li{
	width:100%;
	margin-top:10px;
	padding:10px;
	line-height:1.5;
	text-align:center;
	border:2px solid #a4a4bc;
}
#boshu .jobList li:first-child{
	margin-top:0;
}
#boshu .jobList li.l1{
	line-height:3;
}
#boshu .entryBtn {
	background:#0a0a2e;
}

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

	#boshu .heading {
		font-size:2.0rem;
	}

}

@media screen and (min-width:560px) {

	#boshu .heading {
		font-size:2.3rem;
	}
}

@media print, screen and (min-width:768px) {

	#boshu .heading {
		font-size:2.6rem;
	}
	#boshu .entryBox .txt{
		font-size:1.8rem;
	}
	#boshu .jobList li{
		width:32.33%;
		margin-top:0px;
		font-size:1.4rem;
	}
}

@media print, screen and (min-width:1000px) {
	#boshu .jobList li{
		font-size:1.6rem;
	}
}



/*-----------------------------------------------------------------
	entry
-----------------------------------------------------------------*/

.entry {
	min-height:225px;
	background-color:#eee;
	position:relative;
}
.entry > .in {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
	max-width:1000px;
	margin:0 auto;
	text-align:center;
}
.entry .in .lBox,
.entry .in .rBox {
	width:100%;
	text-align:center;
	position:relative;
}
.entry .in .heading {
	line-height:1.5;
	letter-spacing:0.04em;
	text-indent:0.04em;
	font-family: 'Noto Serif JP', serif;
	text-align:center;
}
.entry .in .number a {
	display:block;
	padding:8px 0;
	line-height:1;
	letter-spacing:0.04em;
	text-indent:0.04em;
	font-family: 'Noto Serif JP', serif;
	color:#3a3a85;
}
.entry .in .txtBox {
	display:inline-block;
	margin-right:8px;
	padding:0 10px;
	color:#fff;
	background:#000;
}

.entry .lineBox {
	color:#fff;
	background:#373766;
}
.entry .lineBox .in {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-pack: wrap;
	flex-wrap: wrap;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	max-width:720px;
	margin:0 auto;
	padding:25px 10px;
}
.entry .lineBox .in .qr{
	width:120px;
}
.entry .lineBox .in .line{
	width:55px;
	margin:0 15px 0 25px;
}

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

	.entry .in .lBox {
		padding:40px 10px 30px;
	}
	.entry .in .rBox {
		padding:30px 10px 40px;
	}
	.entry .in .lBox::after {
		display:block;
		content:"";
		width:90%;
		height:4px;
		margin:0 auto;
		background-image: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 25%, rgba(255, 255, 255, 0.8) 75%, rgba(255, 255, 255, 0));
		position:absolute;
		left:0;
		right:0;
		bottom:-2px;
		z-index:2;
	}
	.entry .lineBox .in .txt{
		width:100%;
		margin-top:15px;
		text-align:center;
	}

}
@media screen and (max-width:559px) {
	.entry .in .heading {
		font-size:1.8rem;
	}
	.entry .in .number a {
		font-size:4.2rem;
	}
	.entry .lineBox .in .txt{
		font-size:1.2rem;
	}
}
@media screen and (min-width:560px) {
	.entry .in .heading {
		font-size:1.9rem;
	}
	.entry .in .number a {
		font-size:4.6rem;
	}
}
@media print, screen and (min-width:768px) {

	.entry .in .lBox,
	.entry .in .rBox {
		width:50%;
		padding:50px 10px 40px;
	}
	.entry .in .lBox::after {
		display:block;
		content:"";
		width:4px;
		height:80%;
		margin:auto 0;
		background-image: linear-gradient(0deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 1) 25%, rgba(255, 255, 255, 0.8) 75%, rgba(255, 255, 255, 0));
		position:absolute;
		top:5%;
		right:-2px;
		bottom:0;
		z-index:2;
	}
	.entry .in .heading {
		font-size:2.0rem;
	}
	.entry .in .number a {
		font-size:4.8rem;
		line-height:52px;
	}
}

@media print, screen and (min-width:1000px) {

	.entry .in .number a {
		font-size:5.4rem;
	}
}
/*-----------------------------------------------------------------
	追加コンテンツ
-----------------------------------------------------------------*/
@media screen and (max-width: 767px){
	.pc { display: none !important; }
	.sp { display: block !important; }
	.fs_24_18{
		font-size:1.8rem;
		font-family: 'Noto Serif JP', serif;
	}
	.fs_20_16{
		font-size:1.6rem;
		font-family: 'Noto Serif JP', serif;
	}
	.fs_18_14{
		font-size:1.4rem;
	}
	.sb_100{
		padding-bottom:50px;
	}
	.sb_50{
		padding-bottom:25px;
	}
}
@media screen and (min-width: 768px){
	.pc { display: block !important; }
	.sp { display: none !important; }
	.fs_24_18{
		font-size:2.8rem;
		font-family: 'Noto Serif JP', serif;
	}
	.fs_20_16{
		font-size:2.0rem;
		font-family: 'Noto Serif JP', serif;
	}
	.fs_18_14{
		font-size:1.8rem;
	}
	.sb_100{
		padding-bottom:100px;
	}
	.sb_50{
		padding-bottom:50px;
	}
}
.inner_support {
	max-width:1000px;
	margin:0 auto;
}
#support {
	background:url(../img/voice_bg.jpg) no-repeat 50% 50%;
	background-size:cover;
	position:relative;
}
@media screen and (max-width: 767px){
	.lb_30_100{
		width:100%;
		margin:0 auto 0;
	}
	.rb_70_100{
		width:100%;
		margin:0 auto 0;
	}
	.lb_80_100{
		width:100%;
		text-align: center;
		box-sizing: border-box;
	}
	.rb_20{
	}
	.yobu_title{
		font-size:3.4rem;
	}

	.support_titlebar{
		font-size:2.0rem;
		padding:5px;
		font-family: 'Noto Serif JP', serif;
		text-align:center;	
		background:#6d4f00;
	}
	.support_text{
		font-size:1.4rem;
		padding-left:30px;
		padding-right:30px;
		font-family: 'Noto Serif JP', serif;
		text-align:center;	
	}
	.lb_50_100{
		width:100%;
		padding:20px;
		box-sizing: border-box;
	}
}
	.yobu_title{
		margin-bottom:1em;
		line-height:1.5;
		letter-spacing:0.04em;
		text-indent:0.04em;
		font-family: 'Noto Serif JP', serif;
		text-align:center;	
	}

@media screen and (min-width: 768px){
	.lb_30_100{
		float:left;
		width:30%;
		margin:50px auto 0;
		box-sizing: border-box;
	}
	.rb_70_100{
		float:right;
		width:70%;
		margin:30px auto 0;
		padding-left:40px;
		box-sizing:border-box;
	}
	.lb_80_100{
		float:left;
		width:75%;
		box-sizing: border-box;
	}
	.rb_20{
		float:right;
		width:23%;
		box-sizing: border-box;
	}
	.yobu_title{
		font-size:5.4rem;
	}
	.inner {
		padding:50px 30px;
	}
	.inner_support{
		padding:50px 30px;
	}
	.support_titlebar{
		font-size:2.6rem;
		padding:5px;
		font-family: 'Noto Serif JP', serif;
		text-align:center;	
		background:#6d4f00;
	}
	.support_text{
		font-size:2.0rem;
		font-family: 'Noto Serif JP', serif;
		text-align:center;	
	}
	.lb_50_100{
		float:left;
		width:50%;
		padding:20px;
		box-sizing: border-box;
	}
	}
	.yobu_title{
		margin-bottom:1em;
		line-height:1.5;
		letter-spacing:0.04em;
		text-indent:0.04em;
		font-family: 'Noto Serif JP', serif;
		text-align:center;	
	}

@media screen and (max-width:767px) {
	.lb_70_100{
		width:80%;
		margin:30px auto 0;
		box-sizing: border-box;
		line-height:1.5;
	}
	.rb_30_100{
		width:60%;
		margin:0px auto 0;
		padding:20px;
		box-sizing: border-box;
	}
	.m_manager_s{
		font-size:1.2rem;
		font-family: 'Noto Serif JP', serif;
	}
	.m_manager{
		font-size:1.6rem;
		font-family: 'Noto Serif JP', serif;
	}
}


@media print, screen and (min-width:768px) {
	.lb_70_100{
		float:left;
		width:70%;
		padding:40px;
		box-sizing: border-box;
	}
	.rb_30_100{
		float:right;
		width:30%;
		padding:40px;
		box-sizing: border-box;
	}
	.message{
		margin-top:20px;
	}
	.m_manager_s{
		font-size:1.4rem;
		font-family: 'Noto Serif JP', serif;
	}
	.m_manager{
		font-size:1.8rem;
		font-family: 'Noto Serif JP', serif;
	}

}

.cb_120{
	max-width:1200px;
	width:100%;
	margin:0 auto 0;
}
.img100 img{
	width:100%;
}
.clear{
	clear:both;
}


/*-----------------------------------------------------------------
	footer
-----------------------------------------------------------------*/

footer .head {
	padding:35px 10px;
	font-size:2.4rem;
	text-align:center;
	color:#fff;
	background:#000;
}
footer .head .eng{
	padding:0 5px;
	font-size:3.0rem;
	text-align:center;
	font-family: 'Oswald', sans-serif;
	font-weight:400;
	position:relative;
	bottom:-3px;
}
footer .body {
	padding:35px 10px 70px;
	text-align:center;
	background:#fff;
}
footer .body .logo {
	width:156px;
	margin:0 auto;
	transition:all 0.5s ease;
}
footer .body .logo:hover {
	opacity:0.6;
}
footer .snsList {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack: center;
	-ms-flex-pack: center;
	justify-content: center;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	margin-top:40px;
}
footer .snsList li{
	margin:0 8px;
}
footer .snsList .twitter{
	width:46px;
}
footer .snsList .insta{
	width:39px;
}
footer .snsList li img{
	transition:all 0.5s ease;
}
footer .snsList li img:hover{
	opacity:0.6;
}