@charset "UTF-8";

img {
	height: auto;
}

/* ==================================================
	submain
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.sub-const {
		display: block;
		text-align: center;
		padding-top: 150px;
		padding-bottom: 140px;
		font-size: 2.2rem;
		letter-spacing: 3px;
		line-height: 1;
	}

	.subtitle {
		display: block;
		padding-top: 55px;
		background: #f7f7f7;
		text-align: center;
		position: relative;
	}

	.subtitle .fix-1200 {
		padding: 16px 0;
	}

	.subtitle h1 {
		display: block;
		text-align: center;
		font-size: 2.2rem;
		letter-spacing: 2px;
		line-height: 1;
	}

	.subtitle span {
		display: inline-block;
		position: relative;
		color: #CA2420;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: 600;
		margin-top: 10px;
		padding: 0 14px;
	}

	.subtitle span::before {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 1px;
		height: 15px;
		background: #CA2420;
		-webkit-transform: rotate(35deg);
		transform: rotate(35deg);
	}

	.subtitle span::after {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 1px;
		height: 15px;
		background: #CA2420;
		-webkit-transform: rotate(35deg);
		transform: rotate(35deg);
	}

	.fix-1200 {
		margin-left: 4%;
		margin-right: 4%;
	}

	.fix-1100 {
		margin-left: 4%;
		margin-right: 4%;
	}

	.fix-1000 {
		margin-left: 4%;
		margin-right: 4%;
	}

	.branch {
		border-top: #dedede solid 1px;
	}

	.branch ul {
		display: none;
	}

	#content_area {
		background: #FFF;
	}

	.subpage-contents {
		border-bottom: #edeff0 solid 2px;
		padding-bottom: 25px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.sub-const {
		display: block;
		text-align: center;
		padding-top: 240px;
		padding-bottom: 300px;
		font-size: 4.2rem;
		letter-spacing: 3px;
		line-height: 1;
	}

	.subtitle {
		display: block;
		padding-top: 134px;
		position: relative;
		background: #f7f7f7;
	}

	.fix-1000 {
		max-width: 1000px;
		margin-left: auto;
		margin-right: auto;
	}

	.fix-1200 {
		max-width: 1200px;
		margin-left: auto;
		margin-right: auto;
	}

	.subtitle .fix-1200 {
		padding: 75px 0 55px 0;
		text-align: center;
	}

	.subtitle h1 {
		display: block;
		text-align: center;
		font-size: 4rem;
		letter-spacing: 2px;
		line-height: 1;
	}

	.subtitle span {
		display: inline-block;
		position: relative;
		color: #CA2420;
		font-size: 2rem;
		line-height: 1;
		font-weight: 600;
		margin-top: 14px;
		padding: 0 30px;
	}

	.subtitle span::before {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 1px;
		height: 35px;
		background: #CA2420;
		-webkit-transform: rotate(35deg);
		transform: rotate(35deg);
	}

	.subtitle span::after {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 1px;
		height: 35px;
		background: #CA2420;
		-webkit-transform: rotate(35deg);
		transform: rotate(35deg);
	}

	.branch {
		display: block;
		background: #FFF;
		padding: 17px 0;
		border-bottom: #ebebeb solid 1px;
		border-top: #ebebeb solid 1px;
	}

	.fix-1100 {
		max-width: 1100px;
		margin-left: auto;
		margin-right: auto;
	}

	.branch li {
		display: inline-block;
		position: relative;
		font-size: 1.6rem;
		line-height: 1;
		margin-left: 24px;
		color: #111;
	}

	.branch li::before {
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		left: -17px;
		width: 4px;
		height: 4px;
		border-top: 1px solid #000;
		border-right: 1px solid #000;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
	}

	.branch li:nth-child(1) {
		margin-left: 0px;
	}

	.branch li:nth-child(1)::before {
		display: none;
	}

	.branch a {
		color: #CA2420;
		text-decoration: none !important;
	}

	.branch a:hover {
		text-decoration: underline !important;
	}

	.subbox01 p {
		font-size: 1.6rem;
		line-height: 1.9;
		font-weight: normal;
	}

	#content_area {
		background: #FFF;
	}

	.subpage-contents {
		border-bottom: #edeff0 solid 2px;
		padding-bottom: 35px;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1200px) {
	.fix-1200 {
		margin-left: auto;
		margin-right: auto;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1100px) {
	.fix-1100 {
		margin-left: 4%;
		margin-right: 4%;
	}
}

@media print,
screen and (min-width: 640px) and (max-width: 1000px) {
	.fix-1000 {
		margin-left: 4%;
		margin-right: 4%;
	}
}

/* ========== end △ */


/* ==================================================
	business
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.unker01 {
		display: block;
		padding: 30px 0;
	}

	.unker01 ul {
		display: block;
	}

	.unker01 ul li {
		display: block;
		margin: 5px 5%;
	}

	.unker01 ul li a {
		display: block;
		position: relative;
		border: #CA2420 solid 1px;
		text-align: center;
		padding: 15px 0;
		text-decoration: none !important;
		font-size: 1.4rem;
		line-height: 1.2;
		font-weight: 700;
		color: #CA2420;
	}

	.business01 {
		display: block;
		padding: 40px 0;
	}

	.title01 {
		display: block;
		font-size: 2.1rem;
		line-height: 1.2;
		letter-spacing: 1px;
		border-left: #CA2420 solid 15px;
		border-bottom: #CA2420 solid 1px;
		padding: 10px 0 10px 15px;
		margin-bottom: 20px;
	}

	.title02 {
		display: block;
		background: #f7f7f7;
		color: #CA2420;
		font-size: 1.9rem;
		line-height: 1.2;
		padding: 13px 17px;
		letter-spacing: 1px;
		margin-bottom: 20px;
	}

	.fs18 {
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.mb60 {
		margin-bottom: 24px;
	}

	.listbox01 {
		display: block;
		background: #f7f7f7;
	}

	.listbox01 ul {
		display: block;
		padding: 20px 20px;
	}

	.listbox01 ul li {
		display: block;
		position: relative;
		font-weight: bold;
		line-height: 1.4;
		font-size: 1.4rem;
		padding-left: 25px;
		padding-top: 3px;
		padding-bottom: 6px;
		margin: 7px 0;
	}

	.business01 .list {
		display: block;
	}

	.business01 .list li {
		display: block;
		margin-bottom: 20px;
	}

	.business01 .list li .bord {
		display: block;
		border: #d3d3d3 solid 1px;
		padding: 14px 14px;
	}

	.business01 .list li h3 {
		display: flex;
		justify-content: space-between;
		margin-bottom: 15px;
	}

	.business01 .list li h3 b {
		display: block;
		font-size: 2rem;
		line-height: 1.2;
		border-left: #CA2420 solid 3px;
		padding-left: 10px;
	}

	.business01 .list li h3 span {
		display: block;
		text-align: center;
		width: 130px;
		color: #CA2420;
		font-size: 1.3rem;
		line-height: 1.1;
		font-weight: bold;
		background: #f7f7f7;
		padding: 6px 0;
	}

	.business01 .list li .flex {
		display: block;
	}

	.business01 .list li .flex figure {
		display: block;
		text-align: center;
		margin-left: 15%;
		margin-right: 15%;
		padding: 15px 0;
	}

	.business01 .list li .flex figure img {
		max-width: 120px;
		display: inline-block;
	}

	.business01 .list li .flex p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.business01 .flex02 {
		display: block;
		background: #f7f7f7;
		padding: 20px 20px;
		margin-top: 30px;
	}

	.business01 .flex02 .txt {
		display: block;
		margin-bottom: 20px;
	}

	.business01 .flex02 .txt h3 {
		display: block;
		font-weight: bold;
		line-height: 1.3;
		color: #CA2420;
		font-size: 1.9rem;
		margin-bottom: 15px;
	}

	.business01 .flex02 .txt p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.8;
	}

	.business01 .flex02 figure {
		display: block;
		flex-basis: 45%;
	}

	.business01 .flex02 figure img {
		width: 100%;
	}

	.business02 {
		display: block;
		padding: 30px 0;
	}

	.title03 {
		display: block;
		font-size: 1.9rem;
		line-height: 1.2;
		letter-spacing: 2px;
		font-weight: bold;
		border-bottom: #CA2420 solid 1px;
		padding-bottom: 14px;
		margin-bottom: 24px;
	}

	.title04 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: bold;
		letter-spacing: 2px;
		border-left: #dfdfdf solid 5px;
		padding-left: 14px;
		margin-bottom: 16px;
	}

	.business02 .imgs {
		display: block;
		text-align: center;
		border: #d3d3d3 solid 1px;
		padding: 10px 10px;
		margin-top: 25px;
		margin-bottom: 25px;
	}

	.business02 .imgs img {
		display: inline-block;
		max-width: 100%;
	}

	.brd2 {
		display: block;
		border: #d3d3d3 solid 1px;
		padding: 15px 15px;
		margin-top: 25px;
		margin-bottom: 30px;
	}

	.flows01 {
		display: block;
		position: relative;
		padding-bottom: 10px;
	}

	.flows01::before {
		position: absolute;
		left: 10px;
		top: 5%;
		content: "";
		background: url("../images/business/flow.png") top center no-repeat;
		background-size: 100% 140%;
		width: 24px;
		height: 95%;
	}

	.flows01 .flx {
		display: block;
		position: relative;
		z-index: 5;
		padding-bottom: 40px;
	}

	.flows01 .flx .lef {
		display: block;
		flex-basis: 17%;
	}

	.flows01 .flx .lef h3 {
		display: flex;
		align-items: center;
		text-align: center;
		background: #FFF;
		border: #CA2420 solid 1px;
		border-radius: 7px;
		padding: 12px 24px;
		color: #CA2420;
	}

	.flows01 .flx .lef h3 b {
		display: block;
		font-style: italic;
		font-size: 1.8rem;
		line-height: 1.1;
		margin-right: 15px;
	}

	.flows01 .flx .lef h3 span {
		display: block;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.1;
	}

	.flows01 .flx .ref {
		display: block;
		padding-top: 15px;
		margin-left: 40px;
	}

	.flows01 .flx .ref h4 {
		display: block;
		font-size: 1.7rem;
		line-height: 1.4;
		font-weight: 600;
		border-left: #CA2420 solid 2px;
		padding-left: 10px;
		margin-bottom: 14px;
	}

	.flows01 .flx .ref p {
		display: block;
		margin-left: 20px;
		font-size: 1.4rem;
		line-height: 1.5;
	}

	.list-dls {
		display: block;
		padding: 10px 20px;
		background: #f7f7f7;
		margin-bottom: 30px;
	}

	.list-dls dl {
		display: block;
		padding: 14px 0;
	}

	.list-dls dt {
		display: block;
		font-weight: bold;
		line-height: 1.4;
		color: #CA2420;
		font-size: 2rem;
		margin-bottom: 15px;
	}

	.list-dls dd {
		display: block;
		flex-basis: 76%;
	}

	.list-dls dd h4 {
		display: block;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: bold;
		border-left: #CA2420 solid 2px;
		padding-left: 10px;
		margin-bottom: 10px;
	}

	.list-dls dd p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.5;
		margin-left: 10px;
	}

	.business03 {
		display: block;
		padding: 25px 0 25px 0;
	}

	.business03 .flex {
		display: block;
	}

	.business03 .flex figure {
		display: block;
		flex-basis: 49%;
		margin-bottom: 20px;
	}

	.business03 .flex figure img {
		width: 100%;
	}

	.business03 .flex .txt {
		display: block;
		flex-basis: 49%;
	}

	.business03 .flex .txt p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.5;
		margin-bottom: 0px;
	}

	.business03 .flex .listbox01 ul {
		padding: 15px 15px;
		margin-top: 20px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.unker01 {
		display: block;
		padding: 50px 0;
	}

	.unker01 ul {
		display: flex;
	}

	.unker01 ul li {
		display: block;
		flex-basis: calc(100% / 3);
	}

	.unker01 ul li a {
		display: block;
		position: relative;
		border: #CA2420 solid 1px;
		text-align: center;
		padding: 28px 0;
		text-decoration: none !important;
		font-size: 2rem;
		line-height: 1.2;
		font-weight: 700;
		color: #CA2420;
	}

	.unker01 ul li:nth-child(1) a,
	.unker01 ul li:nth-child(2) a {
		border-right: 0px;
	}

	.unker01 ul li a:hover {
		color: #FFF;
		background: #CA2420;
	}

	.unker01 ul li a::after {
		opacity: 0;
		-webkit-transition: all 0.5s ease-in-out 0s;
		transition: all 0.5s ease-in-out 0s;
	}

	.unker01 ul li a:hover::after {
		position: absolute;
		left: 0;
		right: 0;
		bottom: -31px;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 16px;
		height: 16px;
		border: 16px solid transparent;
		border-top: 16px solid #CA2420;
		opacity: 1;
	}

	.business01 {
		display: block;
		padding: 40px 0;
	}

	.title01 {
		display: block;
		font-size: 4.8rem;
		line-height: 1.2;
		letter-spacing: 3px;
		border-left: #CA2420 solid 15px;
		border-bottom: #CA2420 solid 1px;
		padding: 15px 0 15px 40px;
		margin-bottom: 50px;
	}

	.title02 {
		display: block;
		background: #f7f7f7;
		color: #CA2420;
		font-size: 3.4rem;
		line-height: 1.2;
		padding: 20px 26px;
		letter-spacing: 3px;
		margin-bottom: 35px;
	}

	.fs18 {
		font-size: 1.8rem;
		line-height: 2;
	}

	.mb60 {
		margin-bottom: 60px;
	}

	.listbox01 {
		display: block;
		margin-left: auto;
		margin-right: auto;
		max-width: 1040px;
		background: #f7f7f7;
	}

	.listbox01 ul {
		display: block;
		padding: 40px 100px;
	}

	.listbox01 ul li {
		display: block;
		position: relative;
		font-weight: bold;
		line-height: 1.4;
		font-size: 2rem;
		padding-top: 3px;
		padding-bottom: 6px;
		margin: 13px 0;
	}

	#content_area section.business01 .listbox01 ul li h2 {
		font-size: 3.0rem;
		font-weight: 600;
		color: #CA2420;
	}

	#content_area section.business01 .listbox01 ul li p {
		font-size: 1.6rem;
		font-weight: 400;
		line-height: 1.8;
	}

	.business01 .list {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.business01 .list li {
		display: block;
		flex-basis: 49%;
		margin-bottom: 35px;
	}

	.business01 .list li .bord {
		display: block;
		border: #d3d3d3 solid 1px;
		padding: 44px 30px;
	}

	.business01 .list li h3 {
		display: flex;
		justify-content: space-between;
		margin-bottom: 25px;
	}

	.business01 .list li h3 b {
		display: block;
		font-size: 3.6rem;
		line-height: 1.2;
		border-left: #CA2420 solid 9px;
		padding-left: 20px;
	}

	.business01 .list li h3 span {
		display: block;
		text-align: center;
		width: 230px;
		color: #CA2420;
		font-size: 2rem;
		line-height: 1.1;
		font-weight: bold;
		background: #f7f7f7;
		padding: 10px 0;
	}

	.business01 .list li .flex {
		display: flex;
		justify-content: space-between;
	}

	.business01 .list li .flex figure {
		display: block;
		flex-basis: 24%;
	}

	.business01 .list li .flex figure img {
		max-width: 100%;
	}

	.business01 .list li .flex p {
		display: block;
		flex-basis: 65%;
		font-size: 1.8rem;
		line-height: 1.9;
	}

	.business01 .flex02 {
		display: flex;
		justify-content: space-between;
		background: #f7f7f7;
		padding: 80px 50px;
		margin-top: 70px;
	}

	.business01 .flex02 .txt {
		display: block;
		flex-basis: 50%;
	}

	.business01 .flex02 .txt h3 {
		display: block;
		font-weight: bold;
		line-height: 1.3;
		color: #CA2420;
		font-size: 3.4rem;
		margin-bottom: 30px;
	}

	.business01 .flex02 .txt p {
		display: block;
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.business01 .flex02 figure {
		display: block;
		flex-basis: 45%;
	}

	.business01 .flex02 figure img {
		width: 100%;
	}

	.business02 {
		display: block;
		padding: 40px 0;
	}

	.title03 {
		display: block;
		font-size: 3rem;
		line-height: 1.2;
		letter-spacing: 2px;
		font-weight: bold;
		border-bottom: #CA2420 solid 1px;
		padding-bottom: 20px;
		margin-bottom: 30px;
	}

	.title04 {
		display: block;
		font-size: 2.4rem;
		line-height: 1.4;
		font-weight: bold;
		letter-spacing: 2px;
		border-left: #dfdfdf solid 10px;
		padding-left: 30px;
		margin-bottom: 30px;
	}

	.business02 .imgs {
		display: block;
		text-align: center;
		margin-top: 65px;
		margin-bottom: 80px;
	}

	.business02 .imgs img {
		display: inline-block;
		max-width: 100%;
	}

	.brd2 {
		display: block;
		border: #d3d3d3 solid 1px;
		padding: 60px 70px;
		margin-top: 65px;
		margin-bottom: 80px;
	}

	.flows01 {
		display: block;
		position: relative;
		padding-bottom: 40px;
	}

	.flows01::before {
		position: absolute;
		left: 47px;
		top: 5%;
		content: "";
		background: url("../images/business/flow.png") top center no-repeat;
		background-size: 100% 100%;
		width: 86px;
		height: 95%;
	}

	.flows01 .flx {
		display: flex;
		justify-content: space-between;
		position: relative;
		z-index: 5;
		padding-bottom: 40px;
	}

	.flows01 .flx .lef {
		display: block;
		flex-basis: 17%;
	}

	.flows01 .flx .lef h3 {
		display: block;
		text-align: center;
		background: #FFF;
		border: #CA2420 solid 1px;
		border-radius: 12px;
		padding: 20px 0;
		color: #CA2420;
	}

	.flows01 .flx .lef h3 b {
		display: block;
		font-style: italic;
		font-size: 1.8rem;
		line-height: 1.1;
		margin-bottom: 13px;
	}

	.flows01 .flx .lef h3 span {
		display: block;
		font-weight: bold;
		font-size: 1.8rem;
		line-height: 1.1;
	}

	.flows01 .flx .ref {
		display: block;
		flex-basis: 75%;
	}

	.flows01 .flx .ref h4 {
		display: block;
		font-size: 2rem;
		line-height: 1.4;
		font-weight: 600;
		border-left: #CA2420 solid 2px;
		padding-left: 15px;
		margin-bottom: 16px;
	}

	.flows01 .flx .ref p {
		display: block;
		margin-left: 20px;
		font-size: 1.8rem;
		line-height: 1.5;
	}

	.list-dls {
		display: block;
		max-width: 940px;
		margin-left: auto;
		margin-right: auto;
		padding: 30px 50px;
		background: #f7f7f7;
		margin-bottom: 80px;
	}

	.list-dls dl {
		display: flex;
		justify-content: space-between;
		padding: 25px 0;
	}

	.list-dls dt {
		display: block;
		flex-basis: 23%;
		font-weight: bold;
		line-height: 1.4;
		color: #CA2420;
		font-size: 2rem;
	}

	.list-dls dd {
		display: block;
		flex-basis: 76%;
	}

	.list-dls dd h4 {
		display: block;
		font-size: 2rem;
		line-height: 1.4;
		font-weight: bold;
		border-left: #CA2420 solid 2px;
		padding-left: 15px;
		margin-bottom: 20px;
	}

	.list-dls dd p {
		display: block;
		font-size: 1.8rem;
		line-height: 1.5;
		margin-left: 20px;
	}

	.business03 {
		display: block;
		padding: 45px 0 65px 0;
	}

	.business03 .flex {
		display: flex;
		justify-content: space-between;
	}

	.business03 .flex figure {
		display: block;
		flex-basis: 49%;
	}

	.business03 .flex figure img {
		width: 100%;
	}

	.business03 .flex .txt {
		display: block;
		flex-basis: 49%;
	}

	.business03 .flex .txt p {
		display: block;
		font-size: 1.8rem;
		line-height: 1.5;
		margin-bottom: 30px;
	}

	.business03 .flex .listbox01 ul {
		padding: 30px 40px;
	}

	#content_area section.business03 .listbox01 ul li {
		padding-left: 75px;
		font-size: 1.8rem;
	}

	#content_area section.business03 .listbox01 ul li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		background: url("../img/check.png") center center / cover no-repeat;
		width: 30px;
		height: 30px;
	}

	#content_area section.business03 .listbox01 ul h2 {
		font-size: 3.0rem;
		font-weight: 600;
		color: #CA2420;
	}
}


/* ==================================================
	company
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.company01 {
		display: block;
		padding: 30px 0;
	}

	.company01 figure {
		display: block;
		margin-bottom: 20px;
	}

	.company01 figure img {
		max-width: 100%;
	}

	.company01 .boxs {
		display: block;
		padding: 15px;
		background: #f7f7f7;
	}

	.company01 .boxs h3 {
		display: block;
		font-size: 2.1rem;
		line-height: 1.5;
		letter-spacing: 2px;
		margin-bottom: 14px;
		color: #CA2420;
	}

	.company01 .boxs b {
		display: block;
		font-size: 1.6rem;
		line-height: 1.6;
		margin-bottom: 10px;
		border-bottom: #444 dotted 1px;
		padding-bottom: 10px;
	}

	.company02 {
		display: block;
		padding: 10px 0 30px 0;
	}

	.comp-tab {
		display: block;
	}

	.comp-tab table {
		width: 100%;
		border-collapse: collapse;
		border-left: #ccc solid 1px;
		border-top: #ccc solid 1px;
	}

	.comp-tab th {
		display: block;
		text-align: left;
		vertical-align: top;
		font-size: 1.4rem;
		line-height: 1.7;
		background: #faefe8;
		padding: 10px 2%;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	.comp-tab td {
		display: block;
		text-align: left;
		vertical-align: top;
		font-size: 1.4rem;
		line-height: 1.7;
		padding: 10px 4%;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	ol.nums {
		margin-left: 18px;
	}

	ol.nums li {
		list-style-type: decimal;
	}

	.title05 {
		display: block;
		text-align: center;
		font-size: 2.1rem;
		letter-spacing: 3px;
		margin-bottom: 15px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.company01 {
		display: block;
		padding: 60px 0;
	}

	.company01 figure {
		display: block;
		margin-bottom: 50px;
	}

	.company01 figure img {
		max-width: 100%;
	}

	.company01 .boxs {
		display: block;
		max-width: 910px;
		margin-left: auto;
		margin-right: auto;
		padding: 45px;
		background: #f7f7f7;
	}

	.company01 .boxs h3 {
		display: block;
		font-size: 3.1rem;
		line-height: 1.5;
		letter-spacing: 3px;
		margin-bottom: 24px;
		color: #CA2420;
	}

	.company01 .boxs b {
		display: block;
		font-size: 2.2rem;
		line-height: 1.6;
		margin-bottom: 15px;
		border-bottom: #444 dotted 1px;
		padding-bottom: 15px;
	}

	.company02 {
		display: block;
		padding: 50px 0 60px 0;
	}

	.comp-tab {
		display: block;
	}

	.comp-tab table {
		width: 100%;
		border-collapse: collapse;
		border-left: #ccc solid 1px;
		border-top: #ccc solid 1px;
	}

	.comp-tab th {
		text-align: left;
		vertical-align: top;
		font-size: 1.6rem;
		line-height: 2;
		background: #faefe8;
		padding: 20px 2%;
		width: 22%;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	.comp-tab td {
		text-align: left;
		vertical-align: top;
		font-size: 1.6rem;
		line-height: 2;
		padding: 20px 2%;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	ol.nums {
		margin-left: 18px;
	}

	ol.nums li {
		list-style-type: decimal;
	}

	.title05 {
		display: block;
		text-align: center;
		font-size: 4rem;
		letter-spacing: 3px;
		margin-bottom: 25px;
	}
}


/* ==================================================
	vision
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.vision01 {
		display: block;
		padding: 30px 0;
	}

	.vision01 .flex {
		display: block;
	}

	.vision01 .flex figure {
		display: block;
		margin-left: 13%;
		margin-right: 13%;
		margin-bottom: 20px;
	}

	.vision01 .flex figure img {
		max-width: 100%;
	}

	.vision01 .flex .txt {
		display: block;
		flex-basis: 57%;
	}

	.vision01 .flex .txt p {
		margin-bottom: 20px;
	}

	.vision01 .flex .txt .names {
		display: block;
		text-align: right;
		font-weight: bold;
		letter-spacing: 4px;
		line-height: 1.4;
		font-size: 1.5rem;
	}

	.vision01 .flex .txt .names b {
		font-size: 2rem;
	}

	.vision02 {
		display: block;
		padding: 30px 0;
	}

	.bg-02 {
		background: #f0f0f0;
	}

	.vision-link {
		display: block;
		position: relative;
		background: url("../images/vision/bg.jpg") top center no-repeat;
		background-size: cover;
		padding: 20px 20px;
	}

	.vision-link::after {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 100%;
	}

	.vision-link ul {
		display: block;
		position: relative;
		z-index: 10;
	}

	.vision-link li {
		display: block;
		margin: 8px 0;
	}

	.vision-link li a {
		display: block;
		background: rgba(255, 255, 255, 0.9);
		border: #CA2420 solid 1px;
		padding: 15px 20px;
		font-size: 1.4rem;
		letter-spacing: 2px;
		line-height: 1.4;
		font-weight: 600;
		color: #CA2420;
		text-decoration: none;
	}

	.vision-link li a:hover {
		color: #FFF;
		background: #CA2420;
	}

	.posit-link2 {
		display: block;
		padding-top: 50px;
		margin-top: -50px;
	}

	.vision02 .boxs {
		display: block;
		padding-top: 35px;
	}

	.vision02 .boxs .flex {
		display: block;
	}

	.vision02 .boxs figure {
		display: block;
		margin-bottom: 15px;
	}

	.vision02 .boxs figure img {
		width: 100%;
	}

	.vision02 .boxs .txt {
		display: block;
		flex-basis: 60%;
	}

	.vision02 .boxs .txt p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.7;
	}

	.vision02 .boxs .txt b {
		display: block;
		font-size: 1.7rem;
		line-height: 1.4;
		margin-top: 10px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.vision01 {
		display: block;
		padding: 60px 0;
	}

	.vision01 .flex {
		display: flex;
		justify-content: space-between;
	}

	.vision01 .flex figure {
		display: block;
		flex-basis: 40%;
	}

	.vision01 .flex figure img {
		max-width: 100%;
	}

	.vision01 .flex .txt {
		display: block;
		flex-basis: 57%;
	}

	.vision01 .flex .txt p {
		margin-bottom: 25px;
	}

	.vision01 .flex .txt .names {
		display: block;
		text-align: right;
		font-weight: bold;
		letter-spacing: 4px;
		line-height: 1.4;
		font-size: 2rem;
	}

	.vision01 .flex .txt .names b {
		font-size: 2.4rem;
	}

	.vision02 {
		display: block;
		padding: 60px 0;
	}

	.bg-02 {
		background: #f0f0f0;
	}

	.vision-link {
		display: block;
		position: relative;
		background: url("../images/vision/bg.jpg") top center no-repeat;
		background-size: cover;
		padding: 20px 45px;
	}

	.vision-link::after {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 100%;
	}

	.vision-link ul {
		display: block;
		position: relative;
		z-index: 10;
	}

	.vision-link li {
		display: block;
		margin: 12px 0;
	}

	.vision-link li a {
		display: block;
		background: rgba(255, 255, 255, 0.9);
		border: #CA2420 solid 1px;
		padding: 23px 35px;
		font-size: 2.2rem;
		letter-spacing: 2px;
		line-height: 1.4;
		font-weight: 600;
		color: #CA2420;
		text-decoration: none;
	}

	.vision-link li a:hover {
		color: #FFF;
		background: #CA2420;
	}

	.posit-link2 {
		display: block;
		padding-top: 70px;
		margin-top: -70px;
	}

	.vision02 .boxs {
		display: block;
		padding-top: 65px;
	}

	.vision02 .boxs .flex {
		display: flex;
		justify-content: space-between;
		flex-direction: row-reverse;
	}

	.vision02 .boxs figure {
		display: block;
		flex-basis: 37%;
	}

	.vision02 .boxs figure img {
		width: 100%;
	}

	.vision02 .boxs .txt {
		display: block;
		flex-basis: 60%;
	}

	.vision02 .boxs .txt p {
		display: block;
		font-size: 1.8rem;
		line-height: 1.8;
	}

	.vision02 .boxs .txt b {
		display: block;
		font-size: 2.1rem;
		line-height: 1.4;
		margin-top: 15px;
	}
}


/* ==================================================
	occupation
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.fx-r {
		flex-direction: row-reverse;
	}

	.tggles-base {
		display: block;
		margin-top: 30px;
	}

	.tggles-base h3 {
		display: block;
		z-index: 10;
		position: relative;
		text-align: center;
		cursor: pointer;
		color: #CA2420;
		font-size: 1.5rem;
		line-height: 1.3;
		padding: 16px 17px;
		background: #fbcb4f;
		border: #fbcb4f solid 3px;
		-webkit-transition: all 0.3s ease-in-out 0s;
		transition: all 0.3s ease-in-out 0s;
	}

	.tggles-base h3::after {
		position: absolute;
		right: 20px;
		top: 15px;
		bottom: 0;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 14px;
		height: 14px;
		border: 14px solid transparent;
		border-top: 14px solid #CA2420;
	}

	.tggles-base h3.open::after {
		position: absolute;
		right: 20px;
		top: 0px;
		bottom: 15px;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 14px;
		height: 14px;
		border: 14px solid transparent;
		border-bottom: 14px solid #CA2420;
	}

	.tgglesmain {
		display: none;
		position: relative;
		padding: 14px;
		background: #fdfcfa;
	}

	.tgglesmain dl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}

	.tgglesmain dl::before {
		position: absolute;
		left: 6.5%;
		top: 0;
		content: "";
		width: 8px;
		height: 100%;
		background: #CA2420;
	}

	.tgglesmain dl:last-of-type::before {
		height: 50%;
	}

	.tgglesmain dl dt {
		display: block;
		flex-basis: 15%;
		position: relative;
		z-index: 5;
	}

	.tgglesmain dl dt span {
		display: block;
		text-align: center;
		font-size: 1.4rem;
		line-height: 1.1;
		font-weight: bold;
		background: #CA2420;
		padding: 6px 0;
		color: #FFF;
		border-radius: 3px;
	}

	.tgglesmain dl dd {
		display: block;
		flex-basis: 78%;
		position: relative;
		padding: 15px 0;
	}

	.tgglesmain dl dd::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: #CA2420;
	}

	.tgglesmain dl dd h4 {
		margin-bottom: 20px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.fx-r {
		flex-direction: row-reverse;
	}

	.tggles-base {
		display: block;
		max-width: 900px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 45px;
	}

	.tggles-base h3 {
		display: block;
		z-index: 10;
		position: relative;
		text-align: center;
		cursor: pointer;
		color: #CA2420;
		font-size: 2.4rem;
		line-height: 1.3;
		padding: 24px 50px;
		background: #fbcb4f;
		border: #fbcb4f solid 5px;
		-webkit-transition: all 0.3s ease-in-out 0s;
		transition: all 0.3s ease-in-out 0s;
	}

	.tggles-base h3::before {
		position: absolute;
		left: -40px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		background: url("../images/occupation/sum1.jpg") center center no-repeat;
		background-size: cover;
		width: 130px;
		height: 130px;
		border: #fbcb4f solid 5px;
	}

	.tggles-base h3.sum2::before {
		background: url("../images/occupation/sum2.jpg") center center no-repeat;
		background-size: cover;
	}

	.tggles-base h3.sum3::before {
		background: url("../images/occupation/sum3.jpg") center center no-repeat;
		background-size: cover;
	}

	.tggles-base h3::after {
		position: absolute;
		right: 20px;
		top: 15px;
		bottom: 0;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 14px;
		height: 14px;
		border: 14px solid transparent;
		border-top: 14px solid #CA2420;
	}

	.tggles-base h3.open::after {
		position: absolute;
		right: 20px;
		top: 0px;
		bottom: 15px;
		margin: auto;
		content: "";
		box-sizing: border-box;
		width: 14px;
		height: 14px;
		border: 14px solid transparent;
		border-bottom: 14px solid #CA2420;
	}

	.tggles-base h3:hover {
		background: #FFF;
	}

	.tgglesmain {
		display: none;
		position: relative;
		padding: 40px;
		background: #fdfcfa;
	}

	.tgglesmain dl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		position: relative;
	}

	.tgglesmain dl::before {
		position: absolute;
		left: 6.5%;
		top: 0;
		content: "";
		width: 15px;
		height: 100%;
		background: #CA2420;
	}

	.tgglesmain dl:last-of-type::before {
		height: 50%;
	}

	.tgglesmain dl dt {
		display: block;
		flex-basis: 15%;
		position: relative;
		z-index: 5;
	}

	.tgglesmain dl dt span {
		display: block;
		text-align: center;
		font-size: 1.7rem;
		line-height: 1.1;
		font-weight: bold;
		background: #CA2420;
		padding: 6px 0;
		color: #FFF;
		border-radius: 3px;
	}

	.tgglesmain dl dd {
		display: block;
		flex-basis: 78%;
		position: relative;
		padding: 22px 0;
	}

	.tgglesmain dl dd::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "";
		width: 100%;
		height: 1px;
		background: #CA2420;
	}

	.tgglesmain dl dd h4 {
		margin-bottom: 20px;
	}
}


/* ==================================================
	employee
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.employee01 {
		padding: 40px 0 40px 0 !important;
	}

	.employee01 .tti2 {
		font-size: 2.2rem;
		font-weight: bold !important;
	}

	.employee01 .listbox01 {
		margin-bottom: 20px;
	}

	.employee01 .listbox01 p {
		display: block;
		padding: 13px;
	}

	.voice01 {
		margin-top: 45px;
	}

	.mb40 {
		margin-bottom: 40px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.employee01 {
		padding: 80px 0 60px 0 !important;
	}

	.employee01 .tti2 {
		font-size: 2rem;
		font-weight: bold !important;
	}

	.employee01 .listbox01 p {
		display: block;
		padding: 25px;
	}

	.voice01 {
		margin-top: 45px;
	}

	.mb40 {
		margin-bottom: 40px;
	}
}


/* ==================================================
	recruitment
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.recruit01 {
		display: block;
		padding: 30px 0;
	}

	.recruit01 .flex {
		display: block;
		text-align: center;
		padding-bottom: 24px;
	}

	.recruit01 .flex img {
		display: inline-block;
		max-width: 160px;
	}

	.recruit01 .flex b {
		font-size: 2.2rem;
		line-height: 1.7;
		margin-top: 10px;
		display: block;
	}

	.recruit01 p {
		display: block;
		font-size: 1.5rem;
		line-height: 1.8;
		font-weight: bold !important;
	}

	.bt-recruit {
		display: block;
		margin-top: 20px;
		max-width: 220px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.recruit01 {
		display: block;
		padding: 70px 0;
	}

	.recruit01 .flex {
		display: flex;
		justify-content: center;
		align-items: center;
		padding-bottom: 40px;
	}

	.recruit01 .flex b {
		margin-left: 40px;
		font-size: 4.2rem;
		line-height: 1.7;
	}

	.recruit01 p {
		display: block;
		text-align: center;
		font-size: 2rem;
		line-height: 2;
		font-weight: bold !important;
	}

	.bt-recruit {
		display: block;
		margin-top: 45px;
		max-width: 400px;
		margin-left: auto;
		margin-right: auto;
	}
}


/* ==================================================
	news
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.news-wrap {
		display: block;
		margin-bottom: 30px;
	}

	.news-one {
		display: block;
		padding: 30px 0;
	}

	.news-one:nth-child(2n) {
		background: #f0f0f0;
	}

	.news-one .txt {
		display: block;
	}

	.news-one.noimg .txt {
		display: block;
		float: none;
		clear: both;
		width: 100%;
	}

	.news-one .days {
		display: inline-block;
		border: #222 solid 1px;
		;
		color: #FFF;
		background: #222;
		line-height: 1;
		font-size: 1.2rem;
		padding: 5px 15px;
		margin-bottom: 10px;
	}

	.news-one h2 {
		display: block;
		font-size: 1.7rem;
		line-height: 1.3;
		padding-bottom: 15px;
		margin-bottom: 20px;
		border-bottom: #EFEFEF solid 2px;
		position: relative;
		color: #222;
	}

	.news-one h2::before {
		position: absolute;
		left: 0px;
		bottom: -2px;
		content: "";
		width: 17%;
		height: 4px;
		background: #bd0e2c;
	}

	.news-one .txt .txmain {
		display: block;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1.8;
	}

	.news-one .txt .btn02 {
		margin-top: 15px;
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;
	}

	.news-one .txt .btn02 a {
		font-size: 1.4rem;
		padding: 16px 0;
	}

	.news-one .img-b {
		display: block;
		margin-top: 20px;
		margin-bottom: 20px;
	}

	.news-one .img-b img {
		width: 100%;
	}

	.page-np-link {
		display: block;
		text-align: center;
		padding-bottom: 40px;
		padding-top: 30px;
	}

	.page-np-link li {
		display: inline-block;
		margin: 0 10px;
	}

	.page-np-link li a {
		display: block;
		font-size: 1.4rem;
		line-height: 1;
		font-weight: bold;
		position: relative;
		text-decoration: none;
		padding: 12px 15px;
	}

	.page-np-link .bt {
		display: block;
		padding-top: 25px;
		margin-left: auto;
		margin-right: auto;
		width: 270px;
		margin: auto;
	}

	.pageings {
		display: block;
		text-align: center;
		margin: 35px 0;
	}

	.pageings li {
		display: inline-block;
		margin: 3px;
	}

	.pageings li a,
	.pageings li span {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 35px;
		height: 35px;
		border: #111 solid 1px;
		background: #FFF;
		color: #111;
		text-decoration: none;
		font-size: 1.5rem;
		line-height: 1;
	}

	.pageings li a:hover {
		background: #111;
		color: #FFF;
	}

	.pageings li span {
		border: #111 solid 1px;
		background: #111;
		color: #FFF;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.news-wrap {
		display: block;
		padding: 70px 0;
		margin-bottom: 20px;
	}

	.news-one {
		display: block;
		padding: 30px 0;
	}

	.news-one::after {
		display: block;
		content: "";
		width: 100%;
		height: 1px;
		clear: both;
	}

	.news-one:nth-child(2n) {
		background: #f0f0f0;
	}

	.news-one .inner {
		display: flex;
		flex-direction: row-reverse;
		justify-content: space-between;
	}

	.news-one .txt {
		display: block;
		flex-basis: 59%;
	}

	.news-one.noimg .inner {
		display: block;
	}

	.news-one.noimg .txt {
		display: block;
		float: none;
		clear: both;
		width: 100%;
	}

	.news-one .days {
		display: inline-block;
		border: #222 solid 1px;
		;
		color: #FFF;
		background: #222;
		line-height: 1;
		font-size: 1.4rem;
		padding: 5px 15px;
		margin-bottom: 20px;
	}

	.news-one h2 {
		display: block;
		font-size: 2.3rem;
		line-height: 1.3;
		padding-bottom: 20px;
		margin-bottom: 25px;
		border-bottom: #EFEFEF solid 2px;
		position: relative;
		color: #222;
	}

	.news-one h2::before {
		position: absolute;
		left: 0px;
		bottom: -2px;
		content: "";
		width: 17%;
		height: 4px;
		background: #bd0e2c;
	}

	.news-one .txt .txmain {
		display: block;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1.8;
	}

	.news-one .txt .btn02 {
		margin-top: 24px;
		max-width: 300px;
	}

	.news-one .txt .btn02 a {
		font-size: 1.8rem;
		padding: 20px 0;
	}

	.news-one .img-b {
		display: block;
		flex-basis: 37.04%;
		height: 300px;
		background: #f3f3f3;
		border: #ccc solid 1px;
		overflow: hidden;
	}

	.news-one .img-b a {
		height: 300px;
		width: 100%;
		display: flex;
		justify-content: center;
		align-items: center;
		text-align: center;
	}

	.news-one .img-b a img {
		max-width: 100%;
		max-height: 100%;
		width: auto;
		height: auto;
		display: inline-block;
	}

	.page-np-link {
		display: block;
		text-align: center;
		padding-bottom: 30px;
		padding-top: 60px;
	}

	.page-np-link .fix-1000 {
		position: relative;
	}

	.page-np-link li {
		display: block;
		float: left;
	}

	.page-np-link li:nth-child(2) {
		float: right;
	}

	.page-np-link li a {
		display: block;
		font-size: 1.5rem;
		line-height: 1;
		font-weight: bold;
		position: relative;
		text-decoration: none;
		padding-top: 14px;
		padding-bottom: 14px;
		padding-left: 20px;
		padding-right: 20px;
	}

	.page-np-link .bt {
		position: absolute;
		left: 0;
		right: 0;
		top: 0px;
		width: 300px;
		margin: auto;
	}

	.fix-600 {
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
	}

	.pageings {
		display: block;
		text-align: center;
		margin: 35px 0;
	}

	.pageings li {
		display: inline-block;
		margin: 3px;
	}

	.pageings li a,
	.pageings li span {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 35px;
		height: 35px;
		border: #111 solid 1px;
		background: #FFF;
		color: #111;
		text-decoration: none;
		font-size: 1.5rem;
		line-height: 1;
	}

	.pageings li a:hover {
		background: #111;
		color: #FFF;
	}

	.pageings li span {
		border: #111 solid 1px;
		background: #111;
		color: #FFF;
	}
}


/* ==================================================
	news detail
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.deta-box {
		display: block;
	}

	.deta-box h1 {
		color: #e40280;
		font-size: 2.6rem;
		letter-spacing: 3px;
		line-height: 1.2;
		margin-bottom: 20px;
	}

	.deta-box h2 {
		display: block;
		color: #111;
		font-size: 2.1rem;
		line-height: 1.4;
		padding: 10px 15px 11px 15px;
		background: #efefef;
		margin-bottom: 20px;
	}

	.deta-box h3 {
		display: block;
		font-size: 2rem;
		line-height: 1.4;
		border-bottom: #222 solid 1px;
		padding-bottom: 12px;
		margin-bottom: 20px;
	}

	.deta-box h4 {
		display: block;
		text-align: center;
		font-size: 1.8rem;
		line-height: 1.2;
		font-weight: bold;
		padding: 10px 0;
		background: #fce9f4;
		margin-bottom: 15px;
	}

	.deta-box h5 {
		display: block;
		position: relative;
		font-size: 1.7rem;
		line-height: 1.4;
		font-weight: bold;
		padding-left: 18px;
		margin-top: 20px;
	}

	.deta-box h5::before {
		position: absolute;
		left: 0;
		top: 0px;
		content: "";
		width: 8px;
		height: 50%;
		background: #bd0e2c
	}

	.deta-box h5::after {
		position: absolute;
		left: 0;
		bottom: 0px;
		content: "";
		width: 8px;
		height: 50%;
		background: #ccc
	}

	.deta-box h6 {
		display: block;
		position: relative;
		font-size: 1.5rem;
		line-height: 1.4;
		font-weight: bold;
		margin-top: 20px;
		padding-bottom: 10px;
		margin-bottom: 14px;
		color: #111;
		border-bottom: #111 dotted 2px;
	}

	.deta-box p {
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 25px;
	}

	.deta-box ul,
	.deta-box ol {
		margin: 20px 0;
	}

	.deta-box ul li {
		display: block;
		margin-bottom: 4px;
		position: relative;
		padding-left: 24px;
		font-size: 1.5rem;
		line-height: 1.6;
	}

	.deta-box ul li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "◆";
		font-size: 1.8rem;
		color: #9d2328;
	}

	.deta-box ol {
		margin-left: 16px;
	}

	.deta-box ol li {
		list-style-type: decimal;
		font-size: 1.4rem;
		line-height: 1.6;
		color: #9d2328;
	}

	.deta-box table {
		border-collapse: collapse;
		border-top: #f1efef dotted 2px;
	}

	.deta-box table th {
		text-align: left;
		vertical-align: top;
		font-weight: bold;
		font-size: 1.4rem;
		line-height: 1.6;
		font-weight: bold;
		border-bottom: #f1efef dotted 2px;
		padding: 13px 2%;
	}

	.deta-box table td {
		text-align: left;
		font-size: 1.4rem;
		line-height: 1.6;
		border-bottom: #f1efef dotted 2px;
		padding: 13px 2%;
	}

	table.type-a {
		border-collapse: collapse;
		border-top: #ccc solid 1px;
		border-left: #ccc solid 1px;
		margin-top: 20px;
	}

	table.type-a thead {
		background: #fbc6e3;
	}

	table.type-a tfoot {
		background: #EFEFEF;
	}

	table.type-a th,
	table.type-a td {
		padding: 14px 2%;
		font-size: 1.3rem;
		line-height: 1.5;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	table.type-b {
		table-layout: fixed;
		border-collapse: collapse;
		width: 100%;
		border-top: #ccc solid 1px;
		border-left: #ccc solid 1px;
		margin-top: 20px;
	}

	table.type-b thead {
		background: #F4FDFF;
	}

	table.type-b tfoot {
		background: #EFEFEF;
	}

	table.type-b th,
	table.type-b td {
		padding: 14px 2%;
		font-size: 1.3rem;
		text-align: center;
		line-height: 1.5;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	.deta-box dl.type-a {
		display: block;
		margin-top: 20px;
	}

	.deta-box dl.type-a dt {
		font-size: 1.4rem;
		line-height: 1.5;
		font-weight: bold;
		padding: 13px 2%;
		flex-basis: 13%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-a dd {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 13px 5%;
		flex-basis: 79%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-b {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 20px;
	}

	.deta-box dl.type-b dt {
		font-size: 1.4rem;
		line-height: 1.5;
		font-weight: bold;
		padding: 13px 2%;
		flex-basis: 23%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-b dd {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 13px 2%;
		flex-basis: 69%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-c {
		display: block;
		margin-top: 20px;
	}

	.deta-box dl.type-c dt {
		font-size: 1.5rem;
		line-height: 1.5;
		font-weight: bold;
		padding: 13px 0 5px 0;
	}

	.deta-box dl.type-c dd {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 3px 2% 13px 2%;
		flex-basis: 79%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-acc {
		display: block;
	}

	.deta-box dl.type-acc>dt {
		font-size: 1.5rem;
		line-height: 1.5;
		font-weight: bold;
		border: #EFEFEF solid 3px;
		padding: 15px 35px 15px 15px;
		margin-top: 20px;
		cursor: pointer;
		background: #f0f0f0;
		position: relative;
	}

	.deta-box dl.type-acc>dt::before {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 15px;
		height: 2px;
		background: #000;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.deta-box dl.type-acc>dt::after {
		position: absolute;
		right: 27px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 2px;
		height: 15px;
		background: #000;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.deta-box dl.type-acc>dt.active::after {
		position: absolute;
		right: 27px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 2px;
		height: 15px;
		background: #000;
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
		opacity: 0;
	}

	.deta-box dl.type-acc>dd {
		font-size: 1.4rem;
		line-height: 1.5;
		padding: 13px 2% 13px 2%;
		border: #ccc dotted 1px;
		display: none;
		margin-top: 15px;
	}

	.deta-box ul {
		display: block;
		margin-top: 20px;
	}

	.deta-box ul li {
		position: relative;
		font-size: 1.5rem;
		line-height: 1.5;
		padding-left: 22px;
		margin: 12px 0;
	}

	.deta-box ul li::before {
		position: absolute;
		left: 0;
		top: 3px;
		content: "";
		width: 15px;
		height: 15px;
		background: #bd0e2c;
	}

	.deta-box ul li ul li {
		font-size: 1.4rem;
		padding-left: 17px;
		margin: 6px;
	}

	.deta-box ul li ul li::before {
		height: 3px;
		width: 13px;
		top: 9px;
	}

	.deta-box ul li ul li ul li {
		font-size: 1.4rem;
		font-weight: normal;
		padding-left: 10px;
		margin: 3px 0;
	}

	.deta-box ul li ul li ul li::before {
		height: 2px;
		width: 2px;
		top: 9px;
		border-radius: 50%;
		background: #222;
	}

	.deta-box ol {
		display: block;
		margin-top: 20px;
	}

	.deta-box ol li {
		position: relative;
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 12px 0;
		list-style-type: decimal;
		list-style-position: inside;
		color: #bd0e2c;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box ol li ol {
		margin-left: 16px;
		margin-top: 0px;
	}

	.deta-box ol li ol li {
		font-size: 1.5rem;
		padding: 4px 0 !important;
		color: #000;
		border-bottom: none;
	}

	.deta-box ol li ol li ol {
		margin-left: 24px;
		padding: 0px;
		margin-top: 0px;
	}

	.deta-box ol li ol li ol li {
		font-size: 1.3rem;
		font-weight: normal;
		padding: 2px;
		color: #000;
		border-bottom: none;
	}

	.deta-box .img-centers {
		text-align: center;
		margin-top: 20px;
	}

	.deta-box .img-centers img {
		display: inline-block;
		max-width: 100%;
	}

	.deta-box .float-l {
		margin-top: 20px;
	}

	.deta-box .float-l::after {
		clear: both;
		display: block;
		width: 100%;
		height: 1px;
		content: "";
	}

	.deta-box .float-l figure {
		float: left;
		margin-right: 15px;
		max-width: 42%;
	}

	.deta-box .float-l figure img {
		float: none !important;
		clear: both !important;
	}

	.deta-box .float-l figure figcaption {
		display: block;
		clear: both;
		width: 100%;
	}

	.deta-box .img-full {
		margin-top: 20px;
	}

	.deta-box .img-full img {
		width: 100%;
	}

	.deta-box .float-r {
		margin-top: 20px;
	}

	.deta-box .float-r::after {
		clear: both;
		display: block;
		width: 100%;
		height: 1px;
		content: "";
	}

	.deta-box .float-r figure {
		float: right;
		margin-left: 15px;
		max-width: 42%;
	}

	.deta-box .float-r figure figcaption {
		display: block;
		clear: both;
		width: 100%;
	}

	.inlines {
		display: inline-block;
		margin: 10px;
		max-width: 40%;
	}

	.deta-box figcaption {
		font-size: 1.3rem;
		padding: 4px;
		text-align: center;
	}

	.txt-center {
		text-align: center;
	}

	.txt-right {
		text-align: right;
	}

	.txt-justy {
		text-align: justify;
		text-justify: inter-ideograph;
	}

	.deta-box iframe {
		width: 100%;
		height: 330px;
		margin-top: 30px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.deta-box {
		display: block;
		padding-bottom: 40px;
		font-size: 1.5rem;
		line-height: 2;
	}

	.deta-box h1 {
		color: #e40280;
		font-size: 2.8rem;
		letter-spacing: 3px;
		line-height: 1.2;
		margin-top: 35px;
	}

	.deta-box h2 {
		display: block;
		color: #111;
		font-size: 2.5rem;
		line-height: 1.4;
		padding: 20px 35px 18px 35px;
		background: #efefef;
		margin-top: 30px;
	}

	.deta-box h3 {
		display: block;
		font-size: 2.4rem;
		line-height: 1.4;
		border-bottom: #222 solid 1px;
		padding-bottom: 15px;
		margin-top: 30px;
	}

	.deta-box h4 {
		display: block;
		text-align: center;
		font-size: 2rem;
		line-height: 1.2;
		font-weight: bold;
		padding: 10px 0;
		background: #fce9f4;
		margin-top: 20px;
	}

	.deta-box h5 {
		display: block;
		position: relative;
		font-size: 1.8rem;
		line-height: 1.4;
		font-weight: bold;
		padding-left: 18px;
		margin-top: 20px;
	}

	.deta-box h5::before {
		position: absolute;
		left: 0;
		top: 0px;
		content: "";
		width: 8px;
		height: 50%;
		background: #bd0e2c
	}

	.deta-box h5::after {
		position: absolute;
		left: 0;
		bottom: 0px;
		content: "";
		width: 8px;
		height: 50%;
		background: #ccc
	}

	.deta-box h6 {
		display: block;
		position: relative;
		font-size: 1.7rem;
		line-height: 1.4;
		font-weight: bold;
		margin-top: 20px;
		padding-bottom: 15px;
		color: #111;
		border-bottom: #111 dotted 2px;
	}

	.deta-box p {
		font-size: 1.5rem;
		line-height: 2;
		margin-top: 20px;
		margin-bottom: 15px;
	}

	.deta-box ul,
	.deta-box ol {
		margin: 20px 0;
	}

	.deta-box ul li {
		display: block;
		margin-bottom: 4px;
		position: relative;
		padding-left: 24px;
		font-size: 1.7rem;
		line-height: 1.6;
	}

	.deta-box ul li::before {
		position: absolute;
		left: 0;
		top: 0;
		content: "◆";
		font-size: 1.8rem;
		color: #9d2328;
	}

	.deta-box ol {
		margin-left: 16px;
	}

	.deta-box ol li {
		list-style-type: decimal;
		font-size: 1.7rem;
		line-height: 1.6;
		color: #9d2328;
	}

	.deta-box table {
		table-layout: fixed;
		border-collapse: collapse;
		width: 100%;
		border-top: #ccc solid 1px;
		border-left: #ccc solid 1px;
		margin-top: 20px;
	}

	.deta-box table thead {
		background: #F4FDFF;
	}

	.deta-box table tfoot {
		background: #EFEFEF;
	}

	.deta-box table th,
	.deta-box table td {
		padding: 14px 2%;
		font-size: 1.3rem;
		text-align: center;
		line-height: 1.5;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	table.type-a {
		border-collapse: collapse;
		border-top: #ccc solid 1px;
		border-left: #ccc solid 1px;
		margin-top: 30px;
	}

	table.type-a thead {
		background: #fbc6e3;
	}

	table.type-a tfoot {
		background: #EFEFEF;
	}

	table.type-a th,
	table.type-a td {
		padding: 14px 2%;
		font-size: 1.5rem;
		line-height: 1.5;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	table.type-b {
		table-layout: fixed;
		border-collapse: collapse;
		width: 100%;
		border-top: #ccc solid 1px;
		border-left: #ccc solid 1px;
		margin-top: 30px;
	}

	table.type-b thead {
		background: #F4FDFF;
	}

	table.type-b tfoot {
		background: #EFEFEF;
	}

	table.type-b th,
	table.type-b td {
		padding: 14px 2%;
		font-size: 1.5rem;
		text-align: center;
		line-height: 1.5;
		border-right: #ccc solid 1px;
		border-bottom: #ccc solid 1px;
	}

	.deta-box dl.type-a {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 20px;
	}

	.deta-box dl.type-a dt {
		font-size: 1.5rem;
		line-height: 1.5;
		font-weight: bold;
		padding: 13px 2%;
		flex-basis: 13%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-a dd {
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 13px 2%;
		flex-basis: 79%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-b {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin-top: 20px;
	}

	.deta-box dl.type-b dt {
		font-size: 1.5rem;
		line-height: 1.5;
		font-weight: bold;
		padding: 13px 2%;
		flex-basis: 13%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-b dd {
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 13px 2%;
		flex-basis: 79%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-c {
		display: block;
		margin-top: 20px;
	}

	.deta-box dl.type-c dt {
		font-size: 1.6rem;
		line-height: 1.5;
		font-weight: bold;
		padding: 13px 0 5px 0;
	}

	.deta-box dl.type-c dd {
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 3px 2% 13px 2%;
		flex-basis: 79%;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box dl.type-acc {
		display: block;
	}

	.deta-box dl.type-acc>dt {
		font-size: 1.6rem;
		line-height: 1.5;
		font-weight: bold;
		border: #EFEFEF solid 3px;
		padding: 15px 25px;
		margin-top: 20px;
		cursor: pointer;
		background: #f0f0f0;
		position: relative;
	}

	.deta-box dl.type-acc>dt::before {
		position: absolute;
		right: 20px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 15px;
		height: 2px;
		background: #000;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.deta-box dl.type-acc>dt::after {
		position: absolute;
		right: 27px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 2px;
		height: 15px;
		background: #000;
		-webkit-transition: all 0.2s ease-in-out 0s;
		transition: all 0.2s ease-in-out 0s;
	}

	.deta-box dl.type-acc>dt.active::after {
		position: absolute;
		right: 27px;
		top: 0;
		bottom: 0;
		margin: auto;
		content: "";
		width: 2px;
		height: 15px;
		background: #000;
		-webkit-transform: rotate(-90deg);
		transform: rotate(-90deg);
		opacity: 0;
	}

	.deta-box dl.type-acc>dd {
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 13px 2% 13px 2%;
		border: #ccc dotted 1px;
		display: none;
		margin-top: 15px;
	}

	.deta-box ul {
		display: block;
		margin-top: 20px;
	}

	.deta-box ul li {
		position: relative;
		font-size: 1.5rem;
		line-height: 1.5;
		padding-left: 22px;
		margin: 12px 0;
	}

	.deta-box ul li::before {
		position: absolute;
		left: 0;
		top: 3px;
		content: "";
		width: 15px;
		height: 15px;
		background: #bd0e2c;
	}

	.deta-box ul li ul li {
		font-size: 1.4rem;
		padding-left: 17px;
		margin: 6px;
	}

	.deta-box ul li ul li::before {
		height: 3px;
		width: 13px;
		top: 9px;
	}

	.deta-box ul li ul li ul li {
		font-size: 1.4rem;
		font-weight: normal;
		padding-left: 10px;
		margin: 3px 0;
	}

	.deta-box ul li ul li ul li::before {
		height: 2px;
		width: 2px;
		top: 9px;
		border-radius: 50%;
		background: #222;
	}

	.deta-box ol {
		display: block;
		margin-top: 20px;
	}

	.deta-box ol li {
		position: relative;
		font-size: 1.5rem;
		line-height: 1.5;
		padding: 12px 0;
		list-style-type: decimal;
		list-style-position: inside;
		color: #bd0e2c;
		border-bottom: #ccc dotted 1px;
	}

	.deta-box ol li ol {
		margin-left: 16px;
		margin-top: 0px;
	}

	.deta-box ol li ol li {
		font-size: 1.5rem;
		padding: 4px 0 !important;
		color: #000;
		border-bottom: none;
	}

	.deta-box ol li ol li ol {
		margin-left: 24px;
		padding: 0px;
		margin-top: 0px;
	}

	.deta-box ol li ol li ol li {
		font-size: 1.3rem;
		font-weight: normal;
		padding: 2px;
		color: #000;
		border-bottom: none;
	}

	.deta-box .img-centers {
		text-align: center;
		margin-top: 30px;
	}

	.deta-box .img-centers img {
		display: inline-block;
		max-width: 100%;
	}

	.deta-box .float-l {
		margin-top: 30px;
	}

	.deta-box .float-l::after {
		clear: both;
		display: block;
		width: 100%;
		height: 1px;
		content: "";
	}

	.deta-box .float-l figure {
		float: left;
		margin-right: 25px;
	}

	.deta-box .float-l figure img {
		float: none !important;
		clear: both !important;
	}

	.deta-box .float-l figure figcaption {
		display: block;
		clear: both;
		width: 100%;
	}

	.deta-box .img-full {
		margin-top: 30px;
	}

	.deta-box .img-full img {
		width: 100%;
	}

	.deta-box .float-r {
		margin-top: 30px;
	}

	.deta-box .float-r::after {
		clear: both;
		display: block;
		width: 100%;
		height: 1px;
		content: "";
	}

	.deta-box .float-r figure {
		float: right;
		margin-left: 25px;
	}

	.deta-box .float-r figure figcaption {
		display: block;
		clear: both;
		width: 100%;
	}

	.inlines {
		display: inline-block;
		;
		margin: 10px;
	}

	.deta-box figcaption {
		font-size: 1.2rem;
		padding: 4px 0;
		text-align: center;
	}

	.txt-center {
		text-align: center;
	}

	.txt-right {
		text-align: right;
	}

	.txt-justy {
		text-align: justify;
		text-justify: inter-ideograph;
	}

	.deta-box iframe {
		width: 100%;
		height: 400px;
		margin-top: 40px;
	}

	.alignright {
		float: right;
	}
}

.deta-box img {
	width: auto;
	max-width: 100%;
	height: auto;
}

/* ==================================================
	CONTACT
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.fo-lf {
		display: block;
		margin-bottom: 20px;
	}

	.fo-lf .form-ti {
		background: #EDFBE8;
		padding: 5px 15px;
		font-size: 1.5rem;
		line-height: 1;
		margin-bottom: 5px;
	}

	.subfix1 p {
		font-size: 1.4rem;
		line-height: 1.9;
	}

	.contact-box {
		display: block;
		padding: 35px 0;
	}

	#pp {
		display: block;
	}

	#pp h3 {
		display: block;
		border-bottom: #ccc solid 3px;
		padding: 20px 0;
		margin-bottom: 25px;
		font-size: 2rem;
		line-height: 1.4;
	}

	.txt_mb_area {
		background: #FFF;
		padding: 15px;
		word-break: break-all;
	}

	.contact-box dl h4 {
		display: inline-block;
		font-size: 1.5rem;
		letter-spacing: 2px;
		line-height: 1.5;
		padding: 3px 14px;
		color: #FFF;
		background: #3E9AFF;
		margin-bottom: 6px;
	}

	.medet-box {
		background: #D6FBFC;
		padding: 10px 10px 0px 10px;
		;
	}

	.medet-box2 {
		padding: 0px 10px 0px 10px;
		;
	}

	.medet-box ul {
		border-bottom: 0px;
	}

	.txt_mb_area dd li {
		list-style-type: decimal;
		margin-left: 20px;
		margin-bottom: 4px;
	}

	.bord-t {
		border-top: #ccc dotted 1px;
		clear: both;
		float: none;
		width: 90%;
		padding: 10px 2%;
	}

	.btn01.mx-400.mlr-auto {
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
	}

	#pp li.no {
		list-style-type: none !important;
	}

	.c-tels {
		display: block;
		border: #EFEFEF solid 4px;
		background: #E8F6F9;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
		margin-bottom: 50px;
		text-align: center;
		padding: 20px;
	}

	.c-tels p {
		display: block;
		font-size: 1.1rem;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 14px;
	}

	.c-tels div {
		font-size: 2.5rem;
		line-height: 0.9;
		font-weight: bold;
	}

	.c-tels div a {
		color: #111;
		text-decoration: none;
	}

	.contact-box {
		padding: 30px 0;
	}

	.bg-01 {
		background: #e9f7fe;
	}

	.mt-cont {
		display: block;
		font-size: 1.4rem;
		line-height: 1.7;
		margin-bottom: 20px;
	}

	.cont-info {
		display: block;
		border: #EFEFEF solid 5px;
		background: #FFF;
		padding: 15px;
		;
		margin-bottom: 30px;
	}

	.cont-info h3 {
		display: block;
		text-align: center;
		font-size: 1.5rem;
		line-height: 1.7;
		margin-bottom: 16px;
		color: #333;
	}

	.cont-info .flex {
		display: block;
	}

	.cont-info .flex .lef {
		display: block;
		margin: 10px 0;
		text-align: center;
	}

	.cont-info .flex .lef b {
		display: inline-block;
		padding: 5px 8px;
		border-radius: 3px;
		background: #222;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1;
	}

	.cont-info .flex .lef span {
		display: block;
		margin-top: 15px;
		margin-bottom: 6px;
		font-size: 2.8rem;
		line-height: 1;
	}

	.cont-info .flex .lef span a {
		color: #000;
		text-decoration: none;
	}

	.cont-info .flex .lef small {
		display: block;
		font-size: 1.4rem;
		letter-spacing: 1px;
	}

	.cont-txt {
		display: block;
		font-size: 1.4rem;
		line-height: 1.9;
		margin-bottom: 25px;
	}

	.c-down {
		display: block;
		text-align: center;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 30px;
		background: #f0f0f0;
		padding: 16px 2%;
	}

	.c-down b {
		display: block;
		font-size: 1.3rem;
		line-height: 1.2;
		margin-bottom: 15px;
	}

	.c-down .btn01 {
		max-width: 220px;
		margin-left: auto;
		margin-right: auto;
	}

	.w35p {
		width: 35% !important;
	}

	.form_submit_btn {
		padding: 15px 0 !important;
	}

	.caut01 {
		display: block;
		border: #ccc solid 1px;
		background: #f2eeea;
		padding: 15px 15px;
		margin-bottom: 20px;
		font-size: 1.5rem;
		letter-spacing: 1px;
		line-height: 1.6;
	}

	.caut01 h3 {
		display: inline-block;
		background: #222;
		padding: 4px 10px;
		color: #FFF;
		font-size: 1.7rem;
		line-height: 1;
	}

	.caut01 ul {
		display: block;
		margin-top: 15px;
	}

	.caut01 li {
		display: block;
		position: relative;
		font-size: 1.4rem;
		line-height: 1.9;
		margin-bottom: 13px;
		padding-left: 27px;
	}

	.caut01 li::after {
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		width: 10px;
		height: 5px;
		border-left: 3px solid #bd0e2c;
		border-bottom: 3px solid #bd0e2c;
		transform: rotate(-45deg);
	}

	.dl_table_style select {
		width: 85%;
	}

	.flex-name {
		display: block;
	}

	.flex-name input {
		width: 95%;
		margin-bottom: 8px;
	}

	.bg-02 {
		background: #fcfaf6;
	}

	#pp dl {
		margin-bottom: 40px;
	}

	#pp dt {
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 10px;
		border-bottom: #ccc dotted 1px;
		padding-bottom: 8px;
	}

	a.back {
		display: inline-block;
		width: 100%;
		margin-top: 25px;
		padding: 18px 0;
		border-radius: 5px;
		background-color: #555;
		color: #fff;
		font-size: 1.6rem;
		transition: all 0.2s ease;
		text-decoration: none;
	}

	.ptb-10 {
		padding-top: 7px;
		padding-bottom: 7px;
	}

	.mail-caut {
		display: block;
		background: #EFEFEF;
		padding: 15px;
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: 14px;
	}

	.dl_table_style dt {
		font-size: 1.5rem;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.contact-top {
		display: block;
		padding-top: 70px;
	}

	.contact-top .fix-1200 {
		display: block;
		padding: 70px 0;
	}

	.contact-top p {
		display: block;
		text-align: center;
		font-size: 1.4rem;
		font-weight: normal;
		color: #FFF;
		line-height: 2;
		margin-left: 7%;
		margin-right: 7%;
	}

	.contact-top b {
		display: block;
		text-align: center;
		font-size: 2.5rem;
		font-weight: bold;
		color: #FFF;
		line-height: 2;
		margin-top: 20px;
		margin-left: 7%;
		margin-right: 7%;
	}

	.contact-top .list {
		max-width: 580px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 35px;
	}

	.contact-top .list li {
		display: block;
		float: left;
		width: 47%;
	}

	.contact-top .list li:nth-child(2) {
		float: right;
	}

	.fo-lf {
		display: block;
		float: left;
		width: 40%;
		margin-right: 5%;
		margin-bottom: 20px;
	}

	.fo-lf .form-ti {
		background: #EDFBE8;
		padding: 5px 15px;
		font-size: 1.5rem;
		line-height: 1;
		margin-bottom: 5px;
	}

	.subfix1 p {
		font-size: 1.5rem;
		line-height: 1.9;
	}

	.contact-box {
		display: block;
		padding: 60px 0 60px 0;
	}

	#pp {
		display: block;
	}

	#pp h3 {
		display: block;
		border-bottom: #ccc solid 3px;
		padding: 20px 0;
		margin-bottom: 25px;
		font-size: 2rem;
		line-height: 1.4;
	}

	.txt_mb_area {
		display: block;
		border: #ccc solid 1px;
		padding: 25px;
		background: #FFF;
	}

	.contact-box dl h4 {
		display: inline-block;
		font-size: 1.6rem;
		letter-spacing: 2px;
		line-height: 1.5;
		padding: 3px 14px;
		color: #FFF;
		background: #3E9AFF;
		margin-bottom: 6px;
	}

	.contact-box .btn_list li {
		display: inline-block;
		margin-right: 20px;
	}

	.contact-box .bord-b1 {
		padding-bottom: 15px;
		margin-bottom: 15px;
	}

	.dl_table_style dt {
		width: 25%;
	}

	.dl_table_style.conf dt {
		width: 25%;
	}

	.txt_mb_area dd li {
		list-style-type: decimal;
		margin-left: 30px;
		margin-bottom: 4px;
	}

	.mx-400 {
		max-width: 400px;
	}

	.mlr-auto {
		margin-left: auto;
		margin-right: auto;
	}

	.medet-box {
		background: #D6FBFC;
		padding: 15px 15px 0px 15px;
		;
	}

	.medet-box2 {
		padding: 0px 15px 0px 15px;
		;
	}

	.medet-box ul {
		border-bottom: 0px;
	}

	.consent_txt {
		padding: 14px 0;
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.9;
	}

	.bord-t {
		border-top: #ccc dotted 1px;
		clear: both;
		float: none;
		width: 90%;
		padding: 10px 0%;
	}

	#pp li.no {
		list-style-type: none !important;
	}

	.li-num2 li {
		list-style-type: none !important;
		counter-increment: cnt;
		margin-left: 10px !important;
	}

	.li-num2 li::before {
		content: "(" counter(cnt) ") ";
	}

	.c-tels {
		display: block;
		border: #EFEFEF solid 4px;
		background: #E8F6F9;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 30px;
		margin-bottom: 50px;
		text-align: center;
		padding: 35px 0;
	}

	.c-tels p {
		display: block;
		font-size: 1.5rem;
		font-weight: bold;
		line-height: 1;
		margin-bottom: 14px;
	}

	.c-tels div {
		font-size: 4.2rem;
		line-height: 0.9;
		font-weight: bold;
	}

	.contact-box {
		padding: 70px 0;
	}

	.bg-01 {
		background: #e9f7fe;
	}

	.mt-cont {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 2.2;
		margin-bottom: 40px;
	}

	.cont-info {
		display: block;
		border: #EFEFEF solid 10px;
		background: #FFF;
		padding: 40px;
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 80px;
	}

	.cont-info h3 {
		display: block;
		text-align: center;
		font-size: 1.6rem;
		line-height: 2;
		margin-bottom: 30px;
		color: #333;
	}

	.cont-info .flex {
		display: flex;
		justify-content: space-between;
	}

	.cont-info .flex .lef {
		display: block;
		flex-basis: 46%;
		text-align: center;
	}

	.cont-info .flex .lef b {
		display: inline-block;
		padding: 5px 8px;
		border-radius: 3px;
		background: #222;
		color: #FFF;
		font-size: 1.5rem;
		line-height: 1;
	}

	.cont-info .flex .lef span {
		display: block;
		margin-top: 15px;
		margin-bottom: 14px;
		font-size: 4.1rem;
		line-height: 1;
	}

	.cont-info .flex .lef small {
		display: block;
		font-size: 1.4rem;
		letter-spacing: 2px;
	}

	.cont-txt {
		display: block;
		font-size: 1.4rem;
		line-height: 1.9;
		margin-bottom: 40px;
	}

	.c-down {
		display: block;
		text-align: center;
		max-width: 600px;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 40px;
		background: #f0f0f0;
		padding: 20px 2%;
	}

	.c-down b {
		display: block;
		font-size: 1.5rem;
		line-height: 1.2;
		margin-bottom: 20px;
	}

	.c-down .btn01 {
		max-width: 340px;
		margin-left: auto;
		margin-right: auto;
	}

	.w35p {
		width: 35% !important;
	}

	.form_submit_btn {
		padding: 0px 0 !important;
		text-align: center;
	}

	.form_submit_btn input[type="submit"] {
		padding: 15px 80px;
		border-radius: 30px;
		background-color: #333;
		color: #fff;
		font-size: 1.8rem;
		font-weight: 500;
		margin-top: 30px;
		border: #333 1px solid;
		transition: .4s;
	}

	.form_submit_btn input[type="submit"]:hover {
		background-color: #fff;
		color: #333;
	}

	.caut01 {
		display: block;
		border: #ccc solid 1px;
		background: #f2eeea;
		padding: 25px 30px;
		margin-bottom: 45px;
		font-size: 1.7rem;
		letter-spacing: 1px;
		line-height: 1.6;
	}

	.caut01 h3 {
		display: inline-block;
		background: #222;
		padding: 8px 17px;
		color: #FFF;
		font-size: 2rem;
		line-height: 1;
	}

	.caut01 ul {
		display: block;
		margin-top: 20px;
	}

	.caut01 li {
		display: block;
		position: relative;
		font-size: 1.5rem;
		line-height: 1.9;
		margin-bottom: 17px;
		padding-left: 27px;
	}

	.caut01 li::after {
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		width: 10px;
		height: 5px;
		border-left: 3px solid #bd0e2c;
		border-bottom: 3px solid #bd0e2c;
		transform: rotate(-45deg);
	}

	.dl_table_style select,
	.dl_table_style input,
	.dl_table_style textarea {
		width: 80%;
		padding: 20px;
		border-radius: 5px;
		background-color: #f7f7f7;
		border: none;
	}

	.dl_table_style textarea {
		height: 150px;
	}

	.bg-02 {
		background: #fcfaf6;
	}

	#pp dl {
		margin-bottom: 40px;
	}

	#pp dt {
		font-size: 1.7rem;
		font-weight: bold;
		line-height: 1.5;
		margin-bottom: 10px;
		border-bottom: #ccc dotted 1px;
		padding-bottom: 8px;
	}

	a.back {
		display: inline-block;
		width: 400px;
		margin-top: 25px;
		padding: 20px 0;
		border-radius: 5px;
		background-color: #555;
		color: #fff;
		font-size: 1.6rem;
		transition: all 0.2s ease;
		text-decoration: none;
	}

	a.back:hover {
		background: #222;
	}

	.ptb-10 {
		padding-top: 10px;
		padding-bottom: 10px;
	}

	.mail-caut {
		display: block;
		background: #EFEFEF;
		padding: 15px;
		font-size: 1.4rem;
		line-height: 1.5;
		margin-top: 14px;
	}

	.mt45 {
		margin-top: 40px;
	}

	.pps_area_box {
		height: 500px;    
    overflow: auto;  
    padding: 50px;
    background-color:#f7f7f7; 
		border-radius: 10px;
	}

	.pps_area_box h2 {
		line-height: 2.5;
		font-size: 2.0rem;
		margin-top: 20px;
	}

	.pps_area_box p {
		line-height: 2.5;
	}

	.pps_area_box ol li {
		line-height: 2.5;
	}
}

ul.no li {
	list-style-type: none !important;
}


/* ==================================================
	COLUMN
================================================== */
/* ▽ SP layout ========== */
@media only screen and (max-width: 639px) {
	.column-list {
		display: block;
		padding: 30px 0;
		margin-top: 25px;
	}

	.column-list .fix-1100 {
		display: block;
	}

	.column-list .one {
		display: block;
		position: relative;
		background: #FFF;
		margin-bottom: 20px;
		flex-basis: 48%;
	}

	.column-list .one .bg {
		display: block;
		padding: 15px;
	}

	.column-list .one figure {
		display: block;
	}

	.column-list .one figure img {
		width: 100%;
	}

	.column-list .one dl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 6px 0;
	}

	.column-list .one dt {
		font-size: 1.3rem;
		line-height: 1.5;
		font-weight: bold;
		padding-top: 3px;
	}

	.column-list .one dd {
		display: block;
	}

	.column-list .one dd a {
		background: #9d2328;
		display: block;
		color: #FFF;
		font-size: 1.3rem;
		line-height: 1;
		text-decoration: none;
		padding: 8px 12px;
	}

	.column-list .one p {
		display: block;
		font-size: 1.4rem;
		line-height: 1.9 !important;
	}

	.title06 {
		display: block;
		text-align: center;
		font-size: 3.1rem;
		line-height: 1.6;
		color: #CA2420;
	}

	.mts2 {
		display: block;
		text-align: center;
		padding-bottom: 25px;
	}

	.mts2 b {
		display: inline-block;
		background: #333;
		color: #FFF;
		font-size: 1.7rem;
		letter-spacing: 2px;
		line-height: 1.2;
		padding: 8px 15px;
	}
}

/* ▽ PC-TAB layout ========== */
@media print,
screen and (min-width: 640px) {
	.column-list {
		display: block;
		padding: 50px 0;
	}

	.column-list .fix-1100 {
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}

	.column-list .one {
		display: block;
		position: relative;
		background: #FFF;
		margin-bottom: 35px;
		margin-left: 35px;
		flex-basis: calc((100% - (35px * 2)) / 3 - .01px);
	}

	.column-list .one:nth-child(3n+1) {
		margin-left: 0px;
	}

	.column-list .one .bg {
		display: block;
		padding: 22px;
	}

	.column-list .one figure {
		display: flex;
		justify-content: center;
		text-align: center;
		align-items: center;
		width: 100%;
		height: 220px;
		background: #EFEFEF;
	}

	.column-list .one figure img {
		width: auto;
		height: auto;
		max-width: 100%;
		max-height: 100%;
	}

	.column-list .one dl {
		display: flex;
		justify-content: space-between;
		align-items: center;
		padding: 10px 0;
	}

	.column-list .one dt {
		font-size: 1.5rem;
		line-height: 1.5;
		font-weight: bold;
		padding-top: 3px;
	}

	.column-list .one dd {
		display: block;
	}

	.column-list .one dd a {
		background: #9d2328;
		display: block;
		color: #FFF;
		font-size: 1.4rem;
		line-height: 1;
		text-decoration: none;
		padding: 8px 12px;
	}

	.column-list .one p {
		display: block;
		font-size: 1.6rem;
		line-height: 1.9 !important;
	}

	.title06 {
		display: block;
		text-align: center;
		font-size: 4.7rem;
		line-height: 1.6;
		color: #CA2420;
	}

	.mts2 {
		display: block;
		text-align: center;
		padding-bottom: 45px;
	}

	.mts2 b {
		display: inline-block;
		background: #333;
		color: #FFF;
		font-size: 2.3rem;
		letter-spacing: 2px;
		line-height: 1.2;
		padding: 13px 25px;
	}
}

.error {
	display: block;
	margin-top: 5px;
	font-size: 1.3rem;
	font-weight: bold;
	line-height: 1;
	color: #9d2328;
}