@charset "utf-8";

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

　   COMMON

--------------------------------------------------------------------------------------------- */
.sec_title {

}
.sec_title_en {
	font-weight: 600;
	display: inline-block;
}
.sec_title_en_circle {
	position: relative;
	padding-left: 1.8em;
}
.sec_title_en_circle:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	border: 2px solid #ccc;
	border-radius: 50%;
}
.sec_title_en_circle.purple:before {
	border: 2px solid #8fa6d5;
}
.sec_title_en_circle.orange:before {
	border: 2px solid #f4be67;
}
.sec_title_en_circle.blue:before {
	border: 2px solid #74c5e6;
}
.sec_title_img {
	display: block;
}
.sec_title_lead {
	display: block;
	color: #fff;
	background: #ccc;
	border-radius: 50px;
	text-align: center;
	font-weight: bold;
	padding-top: .2em;
}
.sec_title_center .sec_title_lead {
	margin: 0 auto;
}
.sec_title_lead.purple {
	background: #8fa6d5;
}
.sec_title_lead.orange {
	background: #f4be67;
}
.sec_title_txt {
	font-weight: 700;
	margin-bottom: 1em;
}
.sec_title_center {
	text-align: center;
}
.sec_title_txt span {
	background: url(../img/line.png) repeat-x left bottom;
	padding-bottom: .2em;
	display: inline-block;
	margin-bottom: .2em;
}
.sec_title_txt.blue span {
	background: url(../img/line_b.png) repeat-x left bottom;
}
.sec_title_txt.purple span {
	background: url(../img/line_p.png) repeat-x left bottom;
}
.sec_title_txt span:last-child {
	margin-bottom: 0;
}
.text-center {
	text-align: center;
}
@media only screen and ( max-width : 767px ) {
	.sec_title_en {
		font-size: 13px;
		margin-bottom: 15px;
	}
	.sec_title_en_circle:before {
		width: 8px;
		height: 8px;
	}
	.sec_title_txt {
		font-size: 22px;
	}
	.sec_title_txt_sp_small {
		font-size: 18px;
	}
	.sec_title_lead {
		margin-bottom: 10px;
		max-width: 160px;
		font-size: 13px;
	}
	.sec_title_center .sec_title_lead {
		margin-bottom: 10px;
	}
	.sec_title_img img {
		max-width: 90%;
	}
}

@media print, screen and ( min-width : 768px ) {
	.sec_title_en {
		font-size: 16px;
		margin-bottom: 35px;
	}
	.sec_title_en_circle:before {
		width: 12px;
		height: 12px;
	}
	.sec_title_lead {
		margin-bottom: 20px;
		max-width: 180px;
	}
	.sec_title_center .sec_title_lead {
		margin-bottom: 20px;
	}
	.sec_title_txt {
		font-size: 34px;
	}
}


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

　   FV

--------------------------------------------------------------------------------------------- */
#fv {
	position: relative;
	background: #74c5e6;
}
#fv .container {
	z-index: 10;
	color: #fff;
}
.fv_text {
}
.fv_img img {
	width: 100%;
}
.fv_text p {
	font-weight: bold;
}
@media only screen and ( max-width : 991px ) {
	#fv .container {
		max-width: 100%;
	}
}
@media only screen and ( max-width : 767px ) {
	#fv .container {
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		height: 100%;
	}
	.fv_text {
		display: flex;
		height: 100%;
		flex-direction: column;
		justify-content: space-between;
		align-items: center;
	}
	.fv_text h1 {
		max-width: 76%;
		margin-top: 16vw;
	}
	.fv_text h1 img {
		width: 100%;
	}
	.fv_text p {
		text-align: center;
		margin-bottom: 4vw;
		font-size: 3vw;
	}
}
@media only screen and ( max-width : 480px ) {
	.fv_text h1 {
		margin-top: 70px;
	}
	.fv_text p {
		margin-bottom: 20px;
		font-size: 14px;
	}
}

@media print, screen and ( min-width : 768px ) {
	#fv {
		height: 70vw;
	}
	#fv .container {
		height: 100%;
		display: flex;
		align-items: center;
		position: relative;
	}
	.fv_text {
		width: 40%;
	}
	.fv_text h1 {
		margin-bottom: 40px;
	}
	.fv_text p {
		padding-left: 6vw;
		font-size: 1.4vw;
	}
	.fv_img {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 1;
		width: 100%;
	}
}
@media print, screen and ( min-width : 992px ) {
	#fv {
		height: 56vw;
	}
	.fv_text h1 {
		padding-left: 24px;
	}
	.fv_text p {
		padding-left: 90px;
		font-size: 16px;
	}
	.fv_img {
	}
}
/* ---------------------------------------------------------------------------------------------

　   ABOUT

--------------------------------------------------------------------------------------------- */
#about {
	background: #d9f2fa;
}
@media only screen and ( max-width : 991px ) {
	.about_img {
		display: none;
	}
	.about_text .about_img_sp {
		margin-bottom: 15px;
	}
}

@media print, screen and ( min-width : 992px ) {
	.about_img {
		width: 50%;
	}
	.about_text {
		width: 44%;
	}
	.about_img_sp {
		display: none;
	}
}
/* ---------------------------------------------------------------------------------------------

　   MERIT

--------------------------------------------------------------------------------------------- */
#merit {
	background: url(../img/bg.png) repeat;
}

.merit_text h3 span {
	display: inline-block;
	background: #f4be67;
	color: #fff;
	border-radius: 50px;
	text-align: center;
	font-weight: 700;
}
.merit_img {
	text-align: center;
}
.merit_other h3 {
	font-weight: 700;
	text-align: center;
	letter-spacing: .1em;
}
.merit_other h3 span {
	display: inline-block;
	position: relative;
	padding: 0 2em;
}
.merit_other h3 span:before,
.merit_other h3 span:after {
	content: "";
	position: absolute;
	bottom: 0;
	width: 2px;
	height: 1.6em;
	background: #000;
}
.merit_other h3 span:before {
	transform: rotate(-40deg);
	left: 0;
}
.merit_other h3 span:after {
	transform: rotate(40deg);
	right: 0;
}
.merit_other_pointBox {
	background: #fff;
	position: relative;
	border-radius: 24px;
}
.merit_other_pointBox img {
	border-radius: 50%;
}
.merit_other_pointBox .merit_other_pointBox_text h4 {
	font-weight: 700;
	margin-bottom: .5em;
}
.job_ex {
	border: 2px solid #000;
	position: relative;
}
.job_ex h3 {
	font-weight: bold;
	text-align: center;
	position: absolute;
	left: 0;
	width: 100%;
	top: -1em;
}
.job_ex h3 span {
	display: inline-block;
	background: url(../img/bg.png) repeat;
	padding: 0 1em;
	letter-spacing: .15em;
}
.job_ex .job_ex_list_box {
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	/*box-shadow: 5px 5px 0 rgba(0,0,0,.2);*/
}
.job_ex .job_ex_list_box span {
	text-align: center;
	font-weight: 700;
	line-height: 1.2em;
}

@media only screen and ( max-width : 991px ) {
	.merit_img {
		margin-bottom: 15px;
	}
	.merit_other_pointBox_num {
		display: none;
	}
	.merit_other_pointBox {
		padding: 20px 10px;
		margin-bottom: 10px;
	}
	.merit_other_pointBox:last-child {
		margin-bottom: 0;
	}
	.merit_other_pointBox .merit_other_pointBox_img {
		width: 100px;
		margin-right: 15px;
	}
	.merit_other_pointBox .merit_other_pointBox_text {
		width: calc(100% - 115px);
	}
}
@media only screen and ( max-width : 767px ) {
	.merit_text h3 {
		margin-bottom: 15px;
	}
	.merit_text h3 span {
		min-width: 140px;
	}
	.panel {
		display: none;
	}
	.panel.is-show{
		display:block;
	}
	.tab-group {
		display: flex;
		flex-wrap: wrap;
		margin-bottom: 15px;
	}
	.tab-group li {
		background: #fff;
		border: 2px solid #fff;
		flex: 1;
		max-width: 52px;
		margin-right: 5px;
		text-align: center;
		color: #f4be67;
		font-weight: 700;
		position: relative;
	}
	.tab-group li.is-active {
		border: 2px solid #f4be67;
	}
	.tab-group li.is-active:before {
	  content: "";
	  position: absolute;
	  top: calc(100% + 2px);
	  left: 50%;
	  margin-left: -5px;
	  border: 5px solid transparent;
	  border-top: 5px solid #f4be67;
	}
	.tab-group li:last-child {
		margin-right: 0;
	}
	.merit_text .tab-panel {
		margin-bottom: 20px;
	}
	.merit_text .tab-panel:last-of-type {
		margin-bottom: 0;
	}
	.merit_other {
		margin: 30px 0 40px;
	}
	.merit_other h3 {
		font-size: 15px;
		margin-bottom: 15px;
	}
	.merit_other_pointBox .merit_other_pointBox_text h4 {
		font-size: 14px;
	}
	.job_ex {
		padding: 25px 20px;
	}
	.job_ex h3 {
		font-size: 15px;
	}
	.job_ex .job_ex_list_box {
		width: 49%;
		margin-bottom: 10px;
		margin-right: 2%;
		height: 40px;
	}
	.job_ex .job_ex_list_box:nth-child(2n) {
		margin-right: 0;
	}
	.job_ex_list .toggle {
		display: none;
	}
	.Label {
		position: relative;
		display: block;
		width: 180px;
		margin: 0 auto;
		font-weight: 600;
		background: #111;
		border-radius: 12px;
		color: #fff;
		text-align: center;
		padding: 8px 10px;
	}
	.Label::before{		/*タイトル横の矢印*/
		content:"";
		width: 9px;
		height: 4px;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		right: 10px;
		background: url(../img/top/ac_arrow.png) no-repeat center / 100%;
	}
	.Label,
	.sp_hiddenBox {
		-webkit-backface-visibility: hidden;
		backface-visibility: hidden;
		transform: translateZ(0);
		transition: all 0.3s;
	}
	.sp_hiddenBox {		/*本文*/
		height: 0;
		overflow: hidden;
	}
	.toggle:checked + .Label + .sp_hiddenBox {	/*開閉時*/
		height: auto;
		transition: all .3s;
		margin-top: 15px;
	}
	/*.toggle:checked + .Label::before {
		transform: rotate(-180deg) !important;
	}*/
	.showBox,
	.sp_hiddenBox {
		padding-right: 5px;
	}
	.sp_hiddenBox {
	}
}

@media print, screen and ( min-width : 768px ) {
	.merit_text h3 {
		margin-bottom: 10px;
	}
	.merit_text h3 span {
		padding: 0 25px;
	}
	.merit_text dl {
		margin-bottom: 40px;
	}
	.merit_text dl:last-of-type {
		margin-bottom: 0;
	}
	.merit_text dt,
	.merit_text dd {
		margin-top: 10px;
		font-weight: 700;
	}
	.merit_text dt {
		background: #fff;
		width: 78px;
		color: #746e6a;
		text-align: center;
		margin-right: 20px;
	}
	.merit_text dd {
		width: calc(100% - 98px);
		line-height: 2em;
	}
	.merit_text .col2_dl dd {
		width: calc(50% - 118px);
		margin-right: 20px;
	}
	.merit_text .col2_dl dd:nth-child(4n) {
		margin-right: 0;
		width: calc(50% - 98px);
	}
	.merit_other {
		margin-bottom: 60px;
	}
	.merit_other h3 {
		font-size: 22px;
		margin-bottom: 40px;
	}
	.merit_other_pointBox .merit_other_pointBox_text h4 {
		font-size: 16px;
	}
	.merit_other_pointBox .merit_other_pointBox_text p {
		font-size: 14px;
	}
	.job_ex {
		padding: 40px;
	}
	.job_ex h3 {
		font-size: 22px;
	}
	.job_ex .job_ex_list_box {
		width: 23.5%;
		margin-bottom: 15px;
		margin-right: 2%;
		height: 55px;
		padding: 0 10px;
		box-shadow: 5px 5px 0 rgba(0,0,0,.2);
	}
	.job_ex .job_ex_list_box:nth-child(4n) {
		margin-right: 0;
	}
	.job_ex .job_ex_list_box:nth-last-child(-n+4) {
		margin-bottom: 0;
	}
	.job_ex_list .toggle,.job_ex_list .Label {
		display: none;
	}
}
@media print, screen and ( min-width : 992px ) {
	.merit_img {
		width: 42%;
	}
	.merit_text {
		width: 54%;
	}
	.merit_other h3 {
		margin-bottom: 100px;
	}
	.merit_other_pointBox_num {
		width: 120px;
		height: 60px;
		background: url(../img/top/point.png) no-repeat center / 100%;
		position: absolute;
		top: -60px;
		left: 50%;
		transform: translateX(-50%);
		display: flex;
		align-items: flex-end;
		justify-content: center;
	}
	.merit_other_pointBox_num p {
		line-height: 1;
		font-size: 22px;
		font-weight: 600;
		margin-bottom: .2em;
	}
	.merit_other_pointBox {
		padding: 30px 20px;
		flex: 1;
		margin-right: 30px;
	}
	.merit_other_pointBox:last-child {
		margin-right: 0;
	}
	.merit_other_pointBox .merit_other_pointBox_img {
		width: 100px;
		margin-right: 20px;
	}
	.merit_other_pointBox .merit_other_pointBox_text {
		width: calc(100% - 120px);
	}
	.job_ex .job_ex_list_box {
		width: 15%;
		margin-bottom: 15px;
	}
	.job_ex .job_ex_list_box:nth-child(4n) {
		margin-right: 2%;
	}
	.job_ex .job_ex_list_box:nth-child(6n) {
		margin-right: 0;
	}
	.job_ex .job_ex_list_box:nth-last-child(-n+4) {
		margin-bottom: 15px;
	}
	.job_ex .job_ex_list_box:nth-last-child(-n+6) {
		margin-bottom: 0;
	}
}

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

　   ENTRY

--------------------------------------------------------------------------------------------- */
#entry {
	background: #fffbde;
}
.entry_bnr {
 	border: 3px solid #ff3300;
 	border-radius: 10px;
 	background: #fff;
 	position: relative;
 	box-shadow: 5px 5px 18px rgba(0,0,0,.12);
 }
 .entry_bnr_noBg {
 	border: none;
 	background: none;
 	box-shadow: none;
 }
 .entry_bnr_noBg .entry_bnr_text {
 	padding: 0;
 }
 .entry_bnr_lead {
 	font-weight: 700;
 	text-align: center;
 }
 .entry_bnr_btn {
 	display: flex;
 	align-items: center;
 	justify-content: center;
 	color: #fff;
 	font-weight: 700;
 	background: #ff3300;
 	border-radius: 20px;
 	box-shadow: 2px 2px 0 rgba(0,0,0,.2);
 	margin: 0 auto; 
 	position: relative;
 }
 .entry_bnr_btn:after {
 	content: "";
 	background: url(../img/entry_btn_arr.png) no-repeat center / 100%;
 	position: absolute;
 	top: 50%;
 	transform: translateY(-50%);
 }
 .entry_tel {
 	margin-top: 20px;
 }
 .entry_tel_num a {
 	font-weight: 600;
 	color: #ff3300;
 	text-shadow: 2px 2px 5px rgba(0,0,0,.2);
 }
 .entry_tel_num i img {
 	display: block;
 }
.entry_tel_num a span {
	line-height: 1;
}
@media only screen and ( max-width : 767px ) {
	#entry h2 {
		margin-bottom: 15px;
	}
	.entry_tel_title,
	.entry_bnr_bottom {
		display: none;
	}
	.entry_bnr {
		padding: 20px 15px;
	}
	.entry_bnr_btn {
		height: 52px;
		width: 100%;
		font-size: 18px;
		max-width: 295px;
		margin-top: 10px;
	}
	.entry_bnr_btn:after {
		width: 18px;
		height: 18px;
		right: 20px;
	}
	.entry_tel {
		margin-top: 30px;
	}
	.entry_tel_num a {
		font-size: 26px;
	}
	.entry_tel_num a i {
		margin-right: 10px;
		width: 20px;
	}
	.entry_tel_num p {
		font-size: 11px;
		text-align: center;
		margin-top: 10px;
	}
}

@media print, screen and ( min-width : 768px ) {
	#entry h2 {
		margin-bottom: 35px;
	}
	.entry_bnr_lead {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.entry_bnr_bottom {
		background: #f4be67;
		color: #fff;
		font-weight: 700;
		text-align: center;
		border-radius: 0 0 8px 8px;
		padding: 5px;
	}
	.entry_bnr_btn {
		font-size: 28px;
		height: 68px;
 		max-width: 470px;
	}
	 .entry_bnr_btn:after {
	 	width: 30px;
	 	height: 30px;
	 	right: 50px;
	 }
	 .entry_tel_title {
	 	background: url(../img/entry_tel_bg.png) no-repeat right top / auto 100%;
	 	height: 28px;
	 	width: 260px;
	 	display: flex;
	 	align-items: center;
	 	justify-content: center;
	 	font-weight: 700;
	 	margin-right: 10px;
	 }
	 .entry_bnr_noBg .entry_tel_title {
	 	background: url(../img/entry_tel_bg_w.png) no-repeat right top / auto 100%;
	 }
	 .entry_bnr_text {
	 	padding: 40px 0 50px;
	 }
	 .entry_tel_num a {
		font-size: 32px;
	}

	.entry_tel_num i {
		margin-right: 5px;
	}
	.entry_tel_num p {
		font-size: 12px;
		text-align: right;
	}
}

@media print, screen and ( min-width : 992px ) {
	#entry .entry_bnr:before,
	#entry .entry_bnr:after {
		content: "";
		position: absolute;
		bottom: 0;
	}
	#entry .entry_bnr:before {
		width: 221px;
		height: 200px;
		background: url(../img/entry_ph01.png) no-repeat center / 100%;
		left: -13px;
	}
	#entry .entry_bnr:after {
		width: 248px;
		height: 200px;
		background: url(../img/entry_ph02.png) no-repeat center / 100%;
		right: -21px;
	}
	.entry_bnr_text {
		position: relative;
		z-index: 2;
	}
}
@media print, screen and ( min-width : 1200px ) {
	#entry .entry_bnr:before {
		width: 290px;
		height: 262px;
		left: -13px;
	}
	#entry .entry_bnr:after {
		width: 320px;
		height: 258px;
		right: -21px;
	}
	.entry_bnr_btn {
 		max-width: 570px;
	}
}


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

　   POINT

--------------------------------------------------------------------------------------------- */
#point {
	background: #ffffff;
}
.point_lead_wrap {
	position: relative;
}
.point_lead_wrap p {
	font-weight: 700;
}
.point_lead_img img {
	width: 100%;
}
.point_lead_img_small {
	position: absolute;
	z-index: 2;
}
@media only screen and ( max-width : 991px ) {
	.point_lead_wrap {
		padding-bottom: 60px;
	}
	.point_pc_text {
		display: none;
	}
	.point_lead_img {
		margin-right: -10px;
	}
	.point_lead_img_large {
		width: 80%;
		margin-left: 20%;
	}
	.point_lead_img_small {
		width: 42%;
		left: -3%;
		bottom: 0;
	}
	.point_sp_text {
		font-weight: 700;
	}
	.point_list {
		margin: 15px 0 20px;
	}
	.point_list li {
		width: 46%;
		text-align: center;
		margin-top: 15px;
	}
	.point_list li img {
		max-width: 80%;
	}
	.point_list li span {
		display: block;
		text-align: left;
		font-weight: 700;
		max-width: 90%;
		margin: 5px auto 0;
	}
}
@media only screen and ( max-width : 767px ) {
	#point {
		background: url(../img/top/point_bg_sp.jpg) no-repeat left bottom / 100%;
	}
}

@media print, screen and ( min-width : 768px ) {
	#point {
		background: url(../img/top/point_bg.jpg) no-repeat left bottom / 100%;
	}
}
@media print, screen and ( min-width : 992px ) {
	.point_lead_text {
		width: 40%;
	}
	.point_lead_wrap {
		padding-bottom: 200px;
	}
	.point_lead_img {
		width: 64%;
		margin-right: -6%;
	}
	.point_lead_img_small {
		left: 4%;
		bottom: 0;
		width: 48%;
	}
	.point_sp_text {
		display: none;
	}
	.point_list {
		margin-bottom: 70px;
	}
	.point_list li {
		width: 25%;
	}
}
@media print, screen and ( min-width : 1200px ) {
	.point_lead_wrap {
		padding-bottom: 110px;
	}
	.point_lead_text {
		width: 36%;
	}
	.point_lead_img {
		width: 68%;
		margin-right: -6%;
	}
}

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

　   RECRUIT

--------------------------------------------------------------------------------------------- */
#recruit {
	background: url(../img/bg.png) repeat;
}
.recommendation_img {
	position: relative;
	margin-bottom: 20px;
}
.recommendation_img .area {
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
	font-size: 14px;
	padding: 5px 10px;
}
.recommendation_content h3 {
	font-weight: 700;
	margin-bottom: 1em;
	font-size: 17px;
	line-height: 1.5em;
}
.recommendation_content h3 a {
	line-height: 1.5em;
}
.recommendation_content dt {
	color: #e34c46;
	font-weight: 700;
}
@media only screen and ( max-width : 991px ) {
	.recommendation_box {
		width: 48%;
		margin-right: 4%;
		margin-top: 30px;
	}
	.recommendation_box:nth-child(2n) {
		margin-right: 0;
	}
}
@media only screen and ( max-width : 767px ) {
	#recruit .container {
		padding: 0;
	}
	.recommendation_box {
		width: 100%;
		margin-right: 0;
		padding: 0 7px
	}
	.recommendation_box:first-child {
		margin-top: 0;
	}
}
@media only screen and ( max-width : 575px ) {
	.recommendation_content h3 {
		font-size: 16px;
	}
}

@media print, screen and ( min-width : 768px ) {
	.recommendation_content dt {
		width: 4em;
		margin-right: 1em;
		letter-spacing: 0;
	}
	.recommendation_content dd {
		width: calc(100% - 5em);
	}
}
@media print, screen and ( min-width : 992px ) {
	.recommendation_box {
		width: 23.5%;
		margin-right: 2%;
	}
	.recommendation_box:last-child {
		margin-right: 0;
	}
}

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

　   VOICE

--------------------------------------------------------------------------------------------- */
#voice {
	background: url(../img/bg02.png) repeat;
}
#voice h2,
#voice .sec_title_txt {
	color: #fff;
}
.voice_title {
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #fff;
	font-weight: 700;
	margin: 0 auto -30px;
	position: relative;
}
.voice_title span {
	display: block;
	line-height: 1.3;
}

.voice01 .voice_title {
	background: url(../img/top/ribbon1.png) no-repeat center / 100%;
}
.voice02 .voice_title {
	background: url(../img/top/ribbon2.png) no-repeat center / 100%;
}
.voice03 .voice_title {
	background: url(../img/top/ribbon3.png) no-repeat center / 100%;
}
.voiceBox {
	color: #fff;
}
.voiceBox p {
	font-weight: 700;
}
.voiceBox figure img {
	border: 3px solid #fff;
	border-radius: 20px;
	box-shadow: 0 0 7px rgba(0,0,0,.1);
}
.voice_content {
	max-width: 92%;
	margin: 0 auto;
}
.voice_comment {
	position: relative;
	border-radius: 20px;
	background: #fff;
}
.voice_comment .voice_comment_title {
	color: #fff;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	position: absolute;
	text-align: center;
	line-height: 1;
	font-size: 16px;
	font-weight: 600;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.voice_comment .voice_comment_title span {
	line-height: 1.4;
}
.voice_comment .voice_comment_title small {
	display: block;
	font-size: 10px;
	line-height: 1;
}
.voice01 .voice_comment .voice_comment_title {
	background: #90adff;
}
.voice02 .voice_comment .voice_comment_title {
	background: #8eb780;
}
.voice03 .voice_comment .voice_comment_title {
	background: #eea126;
}
.voiceBox .voice_comment p {
	color: #111;
	font-weight: 400;
}
@media only screen and ( max-width : 991px ) {
	#voice .container:first-child {
		padding: 0;
	}
	.voiceBox {
		padding: 0 7px;
	}
	.voice_title {
		width: 235px;
		height: 50px;
		padding-top: 3px;
	}
	.voice_title .voice_title_area {
		font-size: 14px;
	}
	.voice_title .voice_title_kind {
		font-size: 10px;
	}
	.voice_comment .voice_comment_title {
		width: 30px;
		height: 30px;
		top: -15px;
		left: -7px;
	}
	.voice_comment .voice_comment_title small {
		display: none;
	}
	.voice_comment {
		padding: 10px 10px 10px 15px;
		margin-top: 20px;
	}
	.voice_content {
		margin-top: 10px;
	}
}
@media only screen and ( max-width : 767px ) {
	.voice_content {
		max-width: 100%;
	}
}

@media print, screen and ( min-width : 992px ) {
	.voice_title {
		width: 330px;
		height: 69px;
		padding-top: 6px;
	}
	.voice_title .voice_title_area {
		font-size: 16px;
	}
	.voice_title .voice_title_kind {
		font-size: 12px;
	}
	.voice_comment .voice_comment_title {
		left: -30px;;
		top: -10px;
	}
	.voice_comment {
		padding: 15px 25px;
		margin-top: 15px;
	}
	.voice_content {
		margin-top: 15px;
	}
	.voiceBox {
		margin-right: 30px;
		flex: 1;
	}
	.voiceBox:last-child {
		margin-right: 0;
	}
	.voice_comment .voice_comment_title small {
		margin-top: 10px;
	}
}

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

　   FLOW

--------------------------------------------------------------------------------------------- */
.flow_box {
	border: 3px solid #74c5e6;
	border-radius: 20px;
	background: #fff;
	position: relative;
}
.flow_box h3 .flow_step_num {
	background: #74c5e6;
	color: #fff;
	text-align: center;
	border-radius: 50%;
	font-weight: 600;
}
.flow_box h3 .flow_step_title {
	font-weight: 700;
}
.flow_box figure {
	text-align: center;
}
.flow_box a {
	color: #74c5e6;
	text-align: center;
	font-weight: 600;
	display: block;
	font-size: 16px;
}
.flow_box a i {
	display: inline-block;
	margin-right: 10px;
}
.flow_box a i img {
	display: block;
}
@media only screen and ( max-width : 991px ) {
	.flow_box {
		padding: 15px 25px 15px 90px;
		margin-bottom: 20px;
	}
	.flow_box:before {
	  content: "";
	  position: absolute;
	  top: 100%;
	  left: 50%;
	  margin-left: -15px;
	  border: 15px solid transparent;
	  border-top: 15px solid #74c5e6;
	}
	.flow_box:last-child:before {
		content: none;
	}
	.flow_box figure {
		width: 50px;
		position: absolute;
		left: 20px;
		top: 50%;
		transform: translateY(-50%);
	}
	.flow_box h3 {
		display: flex;
		align-items: center;
		margin-bottom: 10px;
	}
	.flow_box h3 .flow_step_num {
		width: 34px;
		height: 34px;
		font-size: 14px;
		line-height: 34px;
		margin-right: 10px;
	}
	.flow_box h3 .flow_step_title {
		font-size: 15px;
	}
}
@media only screen and ( max-width : 767px ) {
	#flow {
		background: url(../img/top/flow_bg_sp.jpg) no-repeat left bottom / 100%;
	}
}

@media print, screen and ( min-width : 768px ) {
	#flow {
		background: url(../img/top/flow_bg.jpg) no-repeat left bottom / 100%;
	}
	.flow_wrap {
		margin: 70px 0 60px;
	}
}
@media print, screen and ( min-width : 992px ) {
	.flow_box {
		flex: 1;
		margin-right: 50px;
		padding: 0 30px 20px 30px;
	}
	.flow_box:last-child {
		margin-right: 0;
	}
	.flow_box:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 100%;
		margin-top: -15px;
		border: 15px solid transparent;
		border-left: 15px solid #74c5e6;
	}
	.flow_box:last-child:before {
		content: none;
	}
	.flow_box h3 {
		margin-bottom: 15px;
		text-align: center;
	}
	.flow_box h3 span {
		display: block;
	}
	.flow_box h3 .flow_step_num {
		width: 58px;
		height: 58px;
		font-size: 22px;
		line-height: 58px;
		margin: -29px auto 0;
	}
	.flow_box h3 .flow_step_title {
		font-size: 18px;
		margin-top: 15px;
		text-align: center;
	}
	.flow_box figure {
		margin-bottom: 15px;
	}
}

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

　   FORM

--------------------------------------------------------------------------------------------- */
#form {
	background: url(../img/bg.png) repeat;
}
.form_text {
	text-align: center;
	font-weight: 700;
}
.col_select_1 {
	width: calc(33.333333333333333% - 1.8em);
}
.col_select_2 {
	width: 1.6em;
	letter-spacing: 0;
	text-align: center;
}
.attention_form_txt {
	color: #e02828;
}
.gray_form_text {
	display: block;
	color: #888888;
	font-size: 12px;
}
.must {
	display: inline-block;
	font-size: 11px;
	border: 1px solid #e02828;
	color: #e02828;
	line-height: 1;
	padding: 2px 10px;
	margin-left: 10px;
}
.form_inner p small {
	display: block;
	font-size: 12px;
}
.submit_btn {
	border: 1px solid #ff3300;
	color: #ff3300;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	background: #fff;
	box-shadow: 3px 4px 0 rgba(0,0,0,.12);
	position: relative;
}
.submit_back_btn {
	border: 1px solid #888;
	color: #888;
}
.submit_btn:after {
	content: "";
	position: absolute;
	background: url(../img/arrow_o.png) no-repeat center / 100%;
	top: 50%;
	transform: translateY(-50%);
}
.submit_back_btn:after {
	transform: translateY(-50%) rotate(180deg);
	background: url(../img/arrow_g.png) no-repeat center / 100%;
	right: auto;
}

.form_dl dt {
	position: relative;
}
.form_dl dt .must {
	position: absolute;
	right: 0;
	top: 4px;
}
.form_postcode input[type="text"] {
	display: inline-block !important;
	width: 7em !important;
}

@media only screen and ( max-width : 767px ) {
	.form_text {
		margin-bottom: 30px;
	}
	.form_dl {
		margin-bottom: 30px;
	}
	.submit_btn_area {
		margin-top: 20px;
	}
	.submit_btn {
		width: 240px;
		height: 50px;
		font-size: 17px;
		border-radius: 10px;
		margin: 0 auto;
	}
	.submit_back_btn {
		margin-bottom: 20px;
	}
	.submit_btn:after {
		width: 15px;
		height: 15px;
		right: 15px;
	}
	.submit_back_btn:after {
		left: 15px;
	}
	.form_dl dt {
		margin-bottom: 5px;
	}
	.form_dl dd {
		margin-bottom: 20px;
	}
}

@media print, screen and ( min-width : 768px ) {
	.form_text {
		margin-bottom: 60px;
	}
	.form_inner {
		max-width: 800px;
		margin: 0 auto;
	}
	.form_dl {
		margin-bottom: 60px;
	}
	.form_dl dt,.form_dl dd {
		margin-bottom: 20px;
	}
	.form_dl dt:last-of-type,.form_dl dd:last-of-type {
		margin-bottom: 0;
	}
	.form_dl dt {
		width: 200px;
		margin-right: 30px;
	}
	.form_dl dd {
		width: calc(100% - (200px + 30px));
	}
	.submit_btn_area {
		margin-top: 30px;
	}
	.submit_btn {
		width: 320px;
		height: 60px;
		font-size: 24px;
		border-radius: 20px;
	}
	.submit_back_btn {
		margin-right: 20px;
	}
	.submit_btn:after {
		width: 25px;
		height: 25px;
		right: 50px;
	}
	.submit_back_btn:after {
		left: 50px;
	}
}
@media print, screen and ( min-width : 992px ) {
	.submit_btn {
		width: 380px;
	}
}


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

　   XXX

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

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

}

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

}
