@charset "utf-8";
.btnNone .hBtn,
.btnNone .navApp {
	display: none!important
}
.fo-supria {
	font-family: "supria-sans", sans-serif;
	font-weight: 800;
	font-style: normal;
	line-height: .8
}
.fo-futura {
	font-family: "futura-pt", sans-serif;
	font-weight: 600;
	font-style: normal;
	line-height: .8
}
.fo-futura-b {
	font-family: futura-pt-bold, sans-serif;
	font-weight: 700;
	font-style: normal;
	line-height: .8
}
.fo-corporate {
	font-family: "corporate-logo-ver2", sans-serif;
	font-weight: 500;
	font-style: normal;
}
body.active {
	overflow: hidden;
}
.clr-red {
	color: #d31833!important
}
.clr-white {
	color: #fff!important
}
.bg01,.bg02,.bg03 {
	background: url("../img/bg01.jpg") top -17rem center repeat;
	background-size: auto 32.4rem;
}
.bg02 {background-image: url("../img/bg02.jpg")!important}
.bg03 {background-image: url("../img/bg03.jpg")!important}
.bg-grey {
	background-color: #ededed;
}
h2,h3,h4 {
	font-weight: 800
}
h2 {
	font-size: 6.6rem;
	font-weight: 800;
	line-height: 1.2;
	margin-bottom: 5rem;
}
.contTtl {
	display: inline-block;
	position: relative;
	padding: 0 5rem
}
.contTtl::before,.contTtl::after {
	content: "";
	display: block;
	background: url("../img/ttl_icon.svg") center center no-repeat;
	background-size: contain;
	width: 4.7rem;
	height: 4.3rem;
	position: absolute;
	left: 0;
	top: 55%;
	-webkit-transform: translateY(-50%);
	-mstransform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1
}
.contTtl::after {
	-webkit-transform: translateY(-50%) scale(-1,1);
	-ms-transform: translateY(-50%) scale(-1,1);
	transform: translateY(-50%) scale(-1,1);
	left: auto;
	right: 0;
}
.contTtl.clr-white::before,.contTtl.clr-white::after {
	background-image: url("../img/ttl_icon_white.svg")
}
.btn {
	margin-top: 4rem;
	font-size: 3.4rem
}
.btn a {
	display: inline-block;
	position: relative;
	font-weight: 800;
	background: #fff;
	padding: 1.5rem 6rem;
	color: #000;
	line-height: 1.2;
	border: 3px solid #d3ad4f
}
.btn a::after {
	content: "";
	display: inline-block;
	background: url("../img/arrow_black.svg") center center no-repeat;
	background-size: contain;
	width: 2.3rem;
	height: 2.3rem;
	margin-left: 1.5rem;
	z-index: 1;
}
.btn a:hover {
	background: #f1f1f1;
}
.btn02 a {
	display: inline-block;
	background: #D31833 url("../img/arrow.svg") right 1rem center no-repeat;
	background-size: 1.6rem auto;
	color: #fff;
	padding: .5rem 3.5rem .5rem 1rem;
}
.btn02 a:hover {
	background-color: #333
}
.appBtn a {
	position: relative;
	display: block;
	color: #fff;
	font-size: 7rem;
	font-weight: 800;
	line-height: 1;
	padding: 1.75rem 1rem 2.25rem;
	text-align: center;
	background: #0027b5;
	max-width: 90rem;
	margin: 0 auto;
	letter-spacing: .075em;
	text-indent: .075em;
	border-radius: 90px;
}
.appBtn a::after {
	content: "";
	display: block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 3.3rem;
	height: 3.3rem;
	position: absolute;
	right: 4.5rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
}
.appBtn a::before {
	content: "";
	background: #0a3fe1;
	background:-webkit-gradient(linear,left bottom, left top,from(#04087d),color-stop(20%, #092dd1),color-stop(50%, #098efa),color-stop(70%, #098efa),color-stop(90%, #0051f0),to(#0065f4));
	background: -o-linear-gradient(bottom,#04087d 0%,#092dd1 20%,#098efa 50%,#098efa 70%,#0051f0 90%,#0065f4 100%);
	background: linear-gradient(to top,#04087d 0%,#092dd1 20%,#098efa 50%,#098efa 70%,#0051f0 90%,#0065f4 100%);
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	border-radius: 90px;
}
.appBtn a:hover {
	border-color: #821221;
	background-color: #C81C32
}
.pageTtl {
	background: url("../img/bg01.jpg") center top 6rem repeat;
	padding: 1rem;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 24rem;
}
.pageTtl h2 {
	font-size: 8rem;
	font-weight: 800;
	color: #fff;
	line-height: 1.2;
	padding-bottom: 5rem;
	background: url("../img/icon_pagettl.svg") bottom center no-repeat;
	background-size: auto 2.2rem;
	margin-bottom: 0;
}
.pageTtl._middle h2 {
	font-size: 7.4rem;
}
.pageTtl._small h2 {
	font-size: 5.2rem;
}
.pageTtl._green {
	background-image: url("../img/bg04.jpg")
}
.pageTtl._brown {
	background-image: url("../img/bg03.jpg")
}
.pageTtl._green h2,.pageTtl._brown h2 {
	background-image: url("../img/icon_pagettl_white.svg")
}
/*header
---------------------------------------------------------*/
#header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	background: #fff;
	z-index: 9990
}
#header.scrollCrass {
	box-shadow: 0 -1px 5px #ddd;
}
.headerWrap {
	padding: 2rem 8rem 2rem 0;
	position: relative;
}
.hBtn {
	line-height: 1.2;
	font-weight: 600;
	color: #333;
	margin-left: 1rem;
}
.hBtn .txt {
	white-space: nowrap;
	font-size: 2.2rem;
	color: #333;
	letter-spacing: -.05em;;
	margin-bottom: 1rem;
}
.hLogo img {
	max-height: 8.2rem;
}
#header .appBtn a {
	width: 100%;
	font-size: 3.8rem;
	padding: 1.2rem 2rem 1.25rem;
	min-width: 43rem;
}
#header .appBtn a::after {
	width:2rem;
	height: 2em;
	right:2rem;
}
.menuIcon {
	position: absolute;
	bottom: 4rem;
	right: 0;
	width: 5.4rem;
	height: 3.6rem;
	z-index: 99999;
	cursor: pointer;
	display: block;
}
.menuIcon::after {
	content: "メニュー";
	font-size: 1.4rem;
	color: #4d4d4d;
	font-weight: 600;
	display: block;
	white-space: nowrap;
	position: absolute;
	top: -2.5rem;
	left: 0;
	right: 0;
	margin: 0 auto;
}
.menuIcon.active {
	top: 4.5rem;
	bottom: auto;
}
.menuIcon.active::after {
	content: "閉じる";
}
.menuIcon span {
	position: absolute;
	left: 0;
	width: 100%;
	height: 4px;
	background:#4d4d4d;
	z-index: 10;
/*	transition: .2s;*/
}
.menuIcon span:nth-of-type(1) {top: 0px;}
.menuIcon span:nth-of-type(2) {top: 1.6rem;	}
.menuIcon span:nth-of-type(3) {bottom: 0px;	}
.menuIcon.active span:nth-of-type(1) {
	-webkit-transform: translateY(2.2rem) rotate(45deg);
	transform: translateY(2.2rem) rotate(45deg);
}
.menuIcon.active span:nth-of-type(2) {
	opacity: 0;
}
.menuIcon.active span:nth-of-type(3) {
	-webkit-transform: translateY(-1rem) rotate(-45deg);
	transform: translateY(-1rem) rotate(-45deg);
}

/*footer
---------------------------------------------------------*/
#footer {
	overflow: hidden;
	margin-top: -2.3rem;
}
.footArea {
	background: #4d4d4d;
	margin-top: 2.3rem;
}
.footerWrap {
	padding: 5rem 0 0;
	position: relative;
}
.pageTop {
	position: absolute;
	width: 4.6rem;
	height: 4.6rem;
	top: -2.3rem;
	right: 0;
	z-index: 99;
	background: #ff0000;
	transition: .2s;
}
.pageTop::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 9px 12px 9px;
	border-color: transparent transparent #ffffff transparent;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
}
.pageTop:hover {
	background: #333;
}
.footerWrap a {
	color: #fff;
}
.navArea {
	font-size: 1.6rem;
	font-weight: 600;
	line-height: 1.4
}
.fNavTop {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	position: relative;
	padding-bottom: 2rem;
	margin-bottom: 2rem;
}
.fNavTop::before {
	content: "";
	display: block;
	width: 200vw;
	height: 1px;
	background: #c7c7c7;
	position: absolute;
	left: -50vw;
	bottom: 0;
	z-index: 1
}
.fNavTop ul {
	display: flex;
	align-items: center;
}
.fNavTop li:not(:first-of-type) {
	margin-left: 13rem;
}
.fNavTop li a {
	font-size: 4.8rem;
	background: url("../img/arrow.svg") center left no-repeat;
	padding-left: 3.5rem;
	padding-bottom: .1em;
}
.nav01 {
	display: flex;
	justify-content: space-between;
	text-align: left;
	font-size: 2.6rem;
	margin: 2rem 0 3rem;
}
.nav01 ul {
	margin: 0 2rem;
}
.nav01 li:not(:last-of-type) {
	margin-bottom: 1.5rem;
}
.nav01 li._top {
	display: none;
}
.nav02 {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.nav02 li {
	margin: 0 1rem;
}
.nav02 a {
	color: #c7c7c7;
}
.footerWrap .nav02 a br {
	display: none;
}
.navArea li a:hover {
	color: #f5df82!important;
}
.fTxt {
	position: relative;
	padding: 2rem 0;
	margin-top: 2rem;
	font-size: 1.8rem;
	font-weight: 400;
	color: #fff;
}
.fTxt::before {
	content: "";
	display: block;
	width: 200vw;
	height: 1px;
	background: #333;
	position: absolute;
	left: -50vw;
	top: 0;
	z-index: 1;
}
.copyRight {
	background: #818181;
	font-size: 85%;
	color: #fff;
	font-weight: 400;
	padding: 1rem 1.5rem;
	letter-spacing: .05em;
}
.footContact {
	padding: 8rem 0;
	font-size: 2.4rem;
}
.footContact .ttl {
	font-size: 3.4rem;
	font-weight: 700
}
.footTel .txt {
	text-align: center;
	font-size: 3.8rem;
	color: #fff;
	background: #e81c24;
	padding: 1.5rem;
	font-weight: 600;
	margin-right: 1rem;
	line-height: .8
}
.footTel a {
	font-size: 10rem;
	letter-spacing: .05em;
	white-space: nowrap;
	color: #0027b5;
	font-weight: 700
}
.footTelTxt {
	font-size: 2.8rem;
	font-weight: 700;
	margin-top: 1rem;
	line-height: 1.4
}
.footTel + .txt {
	font-size: 3.2rem;
	margin: 1rem 0 5rem;
}
.footContactBox {
	border: 1px solid #949494;
	padding: 4rem .5rem;
	margin-top: 2rem;
}
.footContact h3 {
	font-size: 3rem;
	font-weight: 600;
	color: #0027b5;
	border-left: .7rem solid #0027b5;
	padding: 0 0 0 1.5rem;
	margin-bottom: 1.5rem;
	text-align: left;
}
.footContact h3:not(:first-of-type) {
	margin-top: 5rem;
}
.footContact .txt {
	text-align: left;
}
.contactTxt {
	border-top: 1px solid #000;
	padding: 2rem 0 2.5rem;
	font-size: 2.2rem;
	line-height: 1.2;
}
.contactTxt h4 {
	font-size: 3.4rem;
	margin-bottom: 1rem;
}
.footTel {
}
.contactBtm {
	display: inline-block;
	margin-top: 2rem;
	border: 1px solid #000;
	padding: 1rem 2rem;
	font-size: 2.4rem;
}

/*nav
---------------------------------------------------------*/
#nav {
	position: fixed;
	top: 0;
	bottom: 0;
	right: 0;
	z-index: 10;
	width: 100%;
	height: 100%;
	transition: all 0.3s ease-in-out;
	overflow-y: scroll;
	overflow-x: hidden;
 -webkit-overflow-scrolling: touch;
	display: block;
	background: #fff;
	text-align: left;
	font-weight: 600;
	visibility: hidden;
	opacity: 0;
}
#nav.active {
	right: 0;
	opacity: 1;
	visibility: visible;
	z-index: 9990;
}
.navBox {
}
.navLft,.navRht {
	padding: 3rem 0;
	position: relative;
	width: 50%;
	z-index: 1;
}
.navLft { 
	padding-right: 1.5rem;
	text-align: center;
	color: #fff;
	font-size: 2.6rem;
}
.navLft .telnum {
	display: block;
	font-size: 7rem;
	white-space: nowrap;
	margin: 4rem 0 .5rem;
	color: #fff;
	letter-spacing: .05em;
}
.navLft::before {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 200vw;
	height: 100%;
	background: url("../img/bg01.jpg") right -9.5rem bottom -2.5rem repeat;
	background-size: auto 32.4rem;
	z-index: -1
}
.navRht {
	padding-left: 6rem;
}
#nav .navLogo {
	margin-bottom: 2rem;
}
#nav .navLogo img {
	max-height: 6.8rem;
}
#nav .navTop,#nav .navTop ul {
	display: block;
	text-align: left;
}
#nav .navTop li a {
	font-size: 4rem;
}
#nav .navTop li {
	margin: 1.5rem 0 0 0;
}
#nav .nav01 {
	display: block;
	padding: 0;
	margin: 0;
}
#nav .nav01 ul {
	margin: 0;
}
#nav .nav01 li {
	margin-top: 2rem;
}
#nav .nav01 a,#nav .navTop li a {
	display: inline-block;
	background: url("../img/arrow_grey.svg") top 1.1rem left no-repeat;
	background-size: 1.7rem;
	padding-left: 4rem;
}
#nav .nav01 a:hover,#nav .navTop li a :hover {
	color: #c81c32!important;
}
#nav .nav01 li._top {
	display: block;
}
#nav .nav01 li._top a {
	background: none;
}
#nav .nav02 {
	display: block;
	margin-top: 3rem;
}
#nav .nav02 li {
	margin: 1.2rem 0 0 0;
}
#nav .nav02 a {
	display: inline-block;
	color: #000;
	font-size: 2rem;
	padding-left: 1em;
	text-indent: -1em;
}
#nav .nav02 a::before {
	content: "・";
}
.navApp a {
	max-width: 41rem;
	font-size: 3rem;
	display: block;
	color: #fff;
	padding: 1rem;
	text-align: center;
	position: relative;
	border-radius: 90px;
	background: #0027b5;
}
.navApp a::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 5px 0 5px 8px;
	border-color: transparent transparent transparent #fff;
	position: absolute;
	right: 2rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.navApp a:hover {
	background: #c81c32;
	color: #fff;
}
.navApp a:hover::after {
	border-color: transparent transparent transparent #fff;
}

/*toppage
---------------------------------------------------------*/
.mainvisual {
	background: url("../img/top/main_side01.png") top right no-repeat,url("../img/top/main_side02.png") top left no-repeat,url("../img/bg03.jpg") center top -20rem repeat;
	background-size: 30.2083333% auto,30.2083333% auto,19.6rem auto;
	padding: 2.5rem 0 1rem;
}
.mainWrap {
	max-width: 1100px;
	position: relative;
	text-align: center;
}
.mainCont {
	margin-bottom: 1.5rem;
}
.mainBtn {
	position: absolute;
	right: 3.4%;
	top: 9rem;
	width: 25%;
	z-index: 5;
	max-width: 16.8rem
}
.mainTxt {
	width: 100%;
	margin-left: auto;
	z-index: 1
}
.btnArea {
	padding: 3rem 0 4rem
}
.termsLink02 {
	font-size: 2.2rem;
}
.appBtnWrap {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	padding: 5.57rem 0 0;
	background: url("../img/appbtn_arrow.png") top center no-repeat;
	background-size: auto 3.4rem;
}
.btnWrap {
	margin-top: 5rem;
}
.btnWrap li {
	width: 49%;
	overflow: hidden;
}
.btnWrap li a {
	display: block;
	color: #fff;
	font-size: 3.7rem;
	position: relative;
	border-radius: 10px;
	background: #d31833;
	padding: 1.2rem;
	height: 100%;
	font-weight: 700;
	white-space: nowrap;
	line-height: 1.3
}
.btnWrap li a::after {
	content: "";
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 2.3rem;
	height: 2.3rem;
	position: absolute;
	right: 4rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.btnWrap li a small {
	letter-spacing: .025em;
	display: block;
	font-size: 2.8rem;
}
.btnWrap li._02 a {
	font-size: 3.4rem;
	background: #48bc95;
	letter-spacing: -.02em;
	line-height: 1.4
}
.btnWrap li._02 a::after {
	right: 1rem
}
.btnWrap li a:hover {
	background-color: #F3A500!important;
}
#topLink {
	padding: 5rem 0 14rem;
}
#topLink h2 {
	margin-bottom: 3rem;
}
#topLink h3 {
	font-size: 7.4rem;
	letter-spacing: -.025em;
	color: #fff;
	line-height: 1.2;
	margin-bottom: 3rem;
}
.topAnchor {
	max-width: 1000px;
	margin: 0 auto;
}
.topAnchor li {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	position: relative;
	-webkit-transform-origin: bottom center;
	-ms-transform-origin: bottom center;
	transform-origin: bottom center;
}
.topAnchor li._01 {
	-webkit-transform: rotate(-15deg);
	-ms-transform: rotate(-15deg);
	transform: rotate(-15deg);
}
.topAnchor li._02 {
	-webkit-transform: rotate(-5deg);
	-ms-transform: rotate(-5deg);
	transform: rotate(-5deg);
}
.topAnchor li._03 {
	-webkit-transform: rotate(5deg);
	-ms-transform: rotate(5deg);
	transform: rotate(5deg);
}
.topAnchor li._04 {
	-webkit-transform: rotate(15deg);
	-ms-transform: rotate(15deg);
	transform: rotate(15deg);
}
.topAnchor li._01,.topAnchor li._04 {
	margin-bottom: -4.5rem;
}
.topAnchor li::after {
	content: "";
	display: block;
	border-radius: 50%;
	border: 3px solid #C1976D;
	background: #000;
	width: 5rem;
	height: 5rem;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -3.2rem;
	margin: 0 auto;
	transition: .2s;
	z-index: 1;
	pointer-events: none;
}
.topAnchor li::before  {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.6rem .9rem 0 .9rem;
	border-color: #ffffff transparent transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1.6rem;
	margin: 0 auto;
	z-index: 5
}
.topAnchor li._01::after,.topAnchor li._01::before {
	-webkit-transform: rotate(15deg);
	-ms-transform: rotate(15deg);
	transform: rotate(15deg);
}
.topAnchor li._02::after,.topAnchor li._02::before {
	-webkit-transform: rotate(5deg);
	-ms-transform: rotate(5deg);
	transform: rotate(5deg);
}
.topAnchor li._03::after,.topAnchor li._03::before {
	-webkit-transform: rotate(-5deg);
	-ms-transform: rotate(-5deg);
	transform: rotate(-5deg);
}
.topAnchor li._04::after,.topAnchor li._04::before {
	-webkit-transform: rotate(-15deg);
	-ms-transform: rotate(-15deg);
	transform: rotate(-15deg);
}
.topAnchor li:hover img {
	opacity: 1;
	-webkit-transform: translateY(-2rem);
	-ms-transform: translateY(-2rem);
	transform: translateY(-2rem);
	box-shadow: 0 2rem 0 rgba(0,0,0,.2);
	border-radius: 0 0 10px 10px;
}
.topAnchor li:hover::after {
	background-color: #d3ad4f;
}
@media screen and (max-width: 1250px) {
	.topAnchor {
		width: 90%;
	}
}
#topPoint {
	padding: 0;
}
.pointArea {
	padding: 6rem 0;
}
.pointArea h2 {
	font-size: 3.2rem;
	color: #d3ad4f;
	font-weight: 700;
	background: url("../img/top/point_ttl01.svg") top center no-repeat;
	background-size: auto 6.9rem;
	padding-top: 7rem;
	margin-bottom: 2rem;
}
#point02 .pointArea h2 {background-image: url("../img/top/point_ttl02.svg");}
#point03 .pointArea h2 {background-image: url("../img/top/point_ttl03.svg");}
#point04 .pointArea h2 {background-image: url("../img/top/point_ttl04.svg");}
.pointTtl {
	position: relative;
	display: inline-block;
	margin-bottom: 2rem;
}
.pointArea:nth-of-type(even) .pointTtl{
	color: #fff;
}
#point01 .pointTtl {
	padding: 0 0 0 22rem;
	text-align: left;
}
.pointTtl h3 {
	font-size: 8rem;
	line-height: 1.2;
}
.pointTtl .img {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 17.6rem;
}
#point02 .pointTtl .img {
	width: 22.6rem
}
#point03 .pointTtl .img {
	width: 27.2rem
}
#point04 .pointTtl .img {
	width: 25.4rem
}
.pointArea:nth-of-type(even) .pointTtl .img {
	left: auto;
	right: 0;
}
.pointBox {
	border-radius: 20px;
	background: #fff;
	border: 3px solid #d3ad4f;
	padding: 3rem 2.5rem;
}
.pointBox ul:not(.d-flex) {
	display: inline-block;
}
.pointBox li {
	text-align: left;
	font-size: 6.8rem;
	font-weight: 800;
	padding-left: 5.5rem;
	background: url("../img/check.svg") top .4em left no-repeat;
	background-size: 4.1rem;
	line-height: 1.2;
}
.pointBox ul.d-flex li {
	width: 50%;
	font-size: 6.4rem;
	white-space: nowrap;
	margin-top: 1.5rem;
}
.pointBox ul.d-flex li:last-of-type {
	width: 100%;
}
.pointBox ul.d-flex li small {
	font-size: 60%;
}
.pointBox li:not(:first-of-type) {
	margin-top: 2.5rem;
}
#point04 li {
	font-size: 5.8rem;
}
.pointBox li.note {
	font-size: 2.2rem;
	margin-top: 1rem;
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
	background: none;
	font-weight: 500;
	letter-spacing: -.025em;
}
.pointBox li .note {
	text-align: right;
	font-size: 48%;
}
.pointBtmTxt {
	margin-top: 2rem;
	font-size: 5.2rem;
	letter-spacing: -.05em;
	color: #a17c52;
	font-weight: 800;
}
.waveTxt span {
	background: url("../img/wave.png") bottom left repeat-x;
	background-size: auto 1.7rem;
	padding-bottom: .8rem;
}
.btnArea .btn {
	margin-top: 5rem;
}
#topStep h2 {
	transform: skewX(-8deg)
}
.topStepWrap {
	background: #fff;
	position: relative;
}
.topStepWrap + .topStepWrap {
	margin-top: 8rem;
}
.topStepWrap + .topStepWrap::before {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 1.8rem 2.25rem 0 2.25rem;
	border-color: #ffffff transparent transparent transparent;
	position: absolute;
	left: 0;
	right: 0;
	top: -4.9rem;
	margin: 0 auto;
}
.topStepWrap dt {
	background: #231815;
	color: #fff;
	text-align: left;
	padding: .5rem 3rem;
}
.stepNum {
	font-size: 1.8rem;
	font-weight: 700;
	width: 7.2rem;
	text-align: center;
	line-height: 1.2;
	margin-right: 3.5rem;
}
.stepNum big {
	margin-top: .5rem;
	display: block;
	font-size: 383%;
}
.topStepWrap dt h3 {
	font-size: 5.8rem;
}
.topStepWrap dd {
	padding: 2.5rem 11rem;
	text-align: left;
	font-size: 3.2rem;
	font-weight: 800;
}
.topStepWrap dd li {
	padding-left: 1em;
	text-indent: -1em;
}
.btn._trans a {
	background: transparent;
	border-color: #fff;
}
.btn._trans a:hover {
	background: #231815
}
#topProduct {
	background: #949494
}
.productContWrap {
	background: #fff;
	padding: 6rem;
}
.productContWrap dl {
	border: 2px solid #949494;
	text-align: left;
	font-size: 3.2rem;
}
.productContWrap dt,.productContWrap dd {
	padding: 1.5rem 5rem;
	font-weight: 600;
	width: 65%;
	color: #231815;
	border-bottom: 2px dashed #808080;
}
.productContWrap dt:last-of-type,.productContWrap dd:last-of-type {
	border-bottom: none;
}
.productContWrap dt {
	border-right: 2px solid #949494;
	width: 35%;
	background: #f2f2f2
}
.productContWrap dd small {
	display: block;
	font-size: 75%;
}
.productContWrap .txt {
	font-size: 2.4rem;
	font-weight: 600;
	margin-top: 2rem;
}
#topInfo {
	background: #eeeeee;
}
#topInfo .container {
	max-width: 950px;
}
.topInfo li:not(:first-of-type) {
	margin-top: 3rem;
}
.topInfo a {
	display: block;
	background: #fff;
	border: 3px solid #d3ad4f;
	position: relative;
	font-size: 3.8rem;
	font-weight: 800;
	line-height: 1.2;
	padding: 1.2rem 5rem 1.5rem;
}
.topInfo a::after {
	content: "";
	display: inline-block;
	background: url("../img/arrow_black.svg") center center no-repeat;
	background-size: contain;
	width: 2.3rem;
	height: 2.3rem;
	margin-left: 1.5rem;
	z-index: 1;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.topInfo a:hover {
	background: #d3ad4f;
	color: #fff;
}
.topBnr {
	gap: 0 2%;
	margin-top: 5rem;
}
.topBnr li {
	max-width: 32%;
}
.emergency {
	font-size: 112.5%;
	border: 1px solid #D31833;
	padding: 4rem 2rem;
	margin-bottom: 5rem;
	line-height: 1.6;
}
.emergency h2 {
	width: fit-content;
	font-size: 135%;
	color: #fff;
	margin: 0 auto 3rem;
	padding: 1rem;
	background: #D31833;
}
.emergency .telnum {
	font-size: 5rem;
	white-space: nowrap;
	color: #0027b5;
}


/*privacy-txtPage
---------------------------------------------------------*/
.txtPage {
	max-width: 1200px;
	padding: 0 5rem;
	text-align: left;
	font-weight: 500;
	font-size: 2.8rem;
}
.txtPage > *{
	margin-bottom: 3.5rem;
}
.txtPage h2 {
	background: #333;
	color: #fff;
	padding: .5rem 5rem .7rem;
	margin: 0 -5rem 2rem;
	font-weight: 600;
	font-size: 100%;
	letter-spacing: .025em;
}
.txtPage h2:not(:first-of-type) {
	margin-top: 5rem;
}
.txtPage ol {
	padding-left: 1.3em;
}
.txtPage ol li {
	list-style: decimal
}
.txtPage ol li:not(:first-of-type) {
	margin-top: 1rem;
}
#privacy .txtPage ol li:not(:first-of-type) {
	margin-top: 2rem;
}
.policyInfo {
	margin-top: 12rem;
	text-align: center;
}
.policyInfo .ttl {
	display: inline-block;
	border-bottom: 1px solid #000;
	padding-bottom: 1.5rem;
	margin-bottom: 2rem;
}
#policyPage section> h2 {
	font-size: 4.5rem;
	max-width: 1100px;
	width: 90%;
	margin: 0 auto 5rem;
	position: relative;
}

/*faq
---------------------------------------------------------*/
.faqArea .ttl {
	font-size: 2.8rem;
	font-weight: 600;
}
.faqWrap dl {
	margin-top: 3rem;
	border: 1px solid #333;
}
.faqWrap dt,.faqWrap dd {
	position: relative;
	padding: 2rem 6.5rem 2rem 9rem;
	text-align: left;
	font-size: 2.2rem
}
.faqWrap dt {
	background: #333;
	color: #fff;
	font-weight: 600;
	transition: .2s;
	cursor: pointer;
	line-height: 1.4
}
.faqWrap dl:nth-of-type(even) {
	border-color: #876239;
}
.faqWrap dl:nth-of-type(even) dt {
	background: #876239;
}
.faqWrap dt::before,.faqWrap dd::before {
	content: "Q";
	display: block;
	font-family: "futura-pt", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-size: 3.6rem;
	box-sizing: border-box;
	padding-bottom: .25em;
	width: 4rem;
	height: 4rem;
	line-height: 4rem;
	border-radius: 50%;
	background: #fff;
	color: #333;
	text-align: center;
	z-index: 1;
	position: absolute;
	left: 3rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.faqWrap dd::before {
	content: "A";
	color: #fff;
	background: #333;
	top: 3rem;
	transform: none;
}
.faqWrap dl:nth-of-type(even) dt::before {
	color: #876239;
}
.faqWrap dl:nth-of-type(even) dd::before {
	background: #876239;
}
.faqWrap dt::after {
	content: "";
	display: block;
	background: url("../img/faq/faq_arrow.svg") center center no-repeat;
	background-size: contain;
	width: 2.9rem;
	height: 1.6rem;
	position: absolute;
	right: 2rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 5;
	transition: .2s;
}
.faqWrap dt.active::after {
	-webkit-transform: translateY(-50%) scale(1,-1);
	-ms-transform: translateY(-50%) scale(1,-1);
	transform: translateY(-50%) scale(1,-1);
}
.faqWrap dt:hover {
	opacity: .7
}
.faqWrap dd a {
	text-decoration: underline;
	color: #0027b5
}
.faqWrap dd .appBtn a {
	text-decoration: none;
	color: #fff!important;
	font-size: 4rem;
	max-width: 50rem;
	margin: 2rem auto 0
}
/*papers
---------------------------------------------------------*/
.papersTop {
	max-width: 1200px;
}
.papersTop h2 {
	font-size: 4.8rem;
	margin-bottom: 3rem;
}
.papersTop h2:not(:first-of-type) {
	margin-top: 8rem;
}
.papersWrap {
	width: 49%;
}
.papersBox {
	background: #fff;
}
.papersBox + p {
	font-size: 3.4rem;
	font-weight: 600;
	margin-top: 1.5rem;
}
.paperstxt {
	font-size: 3.4rem;
	font-weight: 600;
	margin-top: 2rem;

}
.papersBox + .note {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	font-size: 2.6rem;
	padding-left: 1em;
	text-indent: -1em;
	width: 204.0816326%;
}
.papersBox dt {
	font-size: 4.8rem;
	font-weight: 700;
	color: #fff;
	background: #d31833;
	padding: 1rem;
	letter-spacing: .05em;
	text-indent: .05em
}
.papersBox._02 dt {
	background: #48bc95
}
.papersBox dd {
	font-size: 4rem;
	font-weight: 600;
	padding: 2rem 4rem;
	min-height: 51.5rem
}
.papersBox .ttl {
	font-size: 4rem;
	line-height: 1.2;
	padding-bottom: 2rem;
	border-bottom: 1px solid #000;
}
.papersBox .ttl b {
	display: block;
	font-size: 130%;
	font-weight: 800;
	line-height: .8;
}
.papersBox .ttl:not(:first-of-type) {
	margin-top: 7rem;
}
.papersCont ul {
	text-align: left;
}
.papersCont ul.w100 {
	width: 100%!important;
}
.papersCont li {
	line-height: 1.3;
	margin-top: 1.5rem;
	padding-left: 1em;
	text-indent: -1em;
	letter-spacing: -.03em;
}
.papersDetail h2 {
	font-size: 3.5rem;
	margin-bottom: 3rem;
	text-align: left;
	font-weight: 700
}
.papersDetail h3 {
	background: #fff;
	color: #000;
	font-weight: 700;
	font-size: 4rem;
	letter-spacing: .05em;
	text-indent: .05em;
	padding: 1rem;
	position: relative;
	transition: .2s;
	cursor: pointer;
	border: 3px solid #333;
}
.papersDetail h3::after {
	content: "";
	display: block;
	background: url("../img/arrow02.svg") center center no-repeat;
	background-size: contain;
	width: 2.5rem;
	height: 2rem;
	position: absolute;
	right: 2rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 5;
	transition: .2s;
}
.papersDetail h3.active::after {
	-webkit-transform: translateY(-50%) scale(1,-1);
	-ms-transform: translateY(-50%) scale(1,-1);
	transform: translateY(-50%) scale(1,-1);
}
.papersDetail h3:hover {
	opacity: .7
}
.papersDetail h3.active {
	background: #f1f1f1;
}
.papersContents {
	padding: 5rem;
	border: 3px solid #333;
	border-top: 0;
}
.papersDetail .papersBox {
	background: #fef4e5;
}
.papersDetail .papersBox dt {
	font-size: 4rem;
	background: #603813;
}
.papersDetail .papersBox + .papersBox {
	margin-top: 5rem;
}
.papersDetail .papersBox .ttl {
	font-size: 4rem;
	border-width: 2px;
	padding-bottom: 1rem;
}
.papersDetail .papersBox .ttl small {
	font-size: 80%;
	display: block;
}
.papersDetail .papersBox dd {
	font-size: 3.5rem;
	padding: 3rem 4rem;
}
.papersDetail .papersCont ul {
	width: 50%;
}
.papersDetail .papersBox._03 .papersCont:nth-of-type(2) ul {
	width: auto;
}
.soufu {
	margin-top: 7rem;
	background: #fff;
	font-size: 2.8rem
}
.soufu h4 {
	background: #a17c52;
	color: #fff;
	font-size: 105%;
	padding: .5rem;
	font-weight: 700
}
.soufu .txt {
	padding: 2rem 1.5rem;
	line-height: 1.3
}
.btn._brown a {
	background: #603813;
	border-color: #603813;
}
.papersDetail .appBtnWrap {
	margin-top: 12rem;
}

/*company
----------------------------------------------------------*/
.companyWrap dt,.companyWrap dd {
	text-align: left;
	width: 70%;
	font-size: 2.8rem;
	padding: 2.5rem 4rem;
	font-weight: 600;
	border-bottom: 1px solid #808080;
}
.companyWrap dt:first-of-type,.companyWrap dd:first-of-type {
	border-top: 1px solid #808080;
}
.companyWrap dt {
	width: 30%;
	background: #808080;
	color: #fff;
	border-color: #fff;
}
.companyWrap dd {
	border-right: 1px solid #808080;
}
.companyWrap img[src*="building"] {
	max-height: 38rem;
	display: block;
	margin: 2rem 0 0 0;
}
#jouken h3 {
	margin-bottom: 1rem;
	font-size: 250%;
	text-align: left;
}
#jouken .spscroll:not(:first-of-type) {
	margin-top: 6rem;
}

/*shoruiup
---------------------------------------------------------*/
#shoruiTop {
	padding-bottom: 4rem;
}
#shoruiTop h2 {
	font-size: 3.2rem;
	font-weight: 700;
	padding-bottom: .5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid #000;
}
#shoruiTop .txt {
	text-align: left;
	font-size: 2.8rem;
	letter-spacing: -.065em;
}
.shoruiBtn {
	margin-top: 3rem;
}
.shoruiBtn li {
	width: 40rem;
	margin: 1rem;
}
.shoruiBtn li a {
	display: block;
	border-radius: 10rem;
	padding: 2rem;
	font-size: 3rem;
	font-weight: 800;
	letter-spacing: .05em;
	color: #fff;
	background: #d31833
}
.shoruiBtn li._02 a {
	background: #333;
}
.shoruiBtn li a:hover {
	background-color: #F3A500!important
}
#goform {
	background: #EDEDED;
}
#goform h2 {
	font-size: 3.2rem;
	margin-bottom: 3rem;
}
.goformWrap {
	background: #fff;
	padding: 4rem 1rem;
}


/*appli
---------------------------------------------------------*/
.appliTtl {
	position: relative;
	display: inline-block;
	text-align: left;
	padding-left: 15rem;
}
.appliTtl .img {
	width: 11rem;
	position: absolute;
	left: 0;
	bottom: 0;
}
.appliTtl h2 {
	font-size: 6.2rem;
	margin-bottom: 0;
}
.appliTtl h2 big {
	display: block;
	font-size: 160%;
}
#appiTop h3 {
	font-size: 4.5rem;
	color: #d31833;
	font-weight: 800;
	margin-top: 1rem;
}
.appliArea h2 {
	font-size: 6.2rem
}
.appliWrap dl {
	width: 48%;
	background: #fff;
}
.appliWrap dt {
	color: #fff;
	background: #333;
	font-size: 3.8rem;
	font-weight: 700;
	line-height: 1;
	padding: 1.5rem
}
.appliWrap dd {
	padding: 3rem 2rem;
}
.appliWrap .qr {
	margin-bottom: 3rem;
}
.appliWrap .bnr img {
	max-height: 8.8rem;
}
.appliWrap dd small {
	display: inline-flex;
	align-items: center;
	text-align: left;
	margin-top: 1.5rem;
	font-size: 1.8rem;
	min-height: 5.4rem;
}
.appliArea .note {
	text-align: left;
	padding-left: 1em;
	text-indent: -1em;
	font-size: 2.4rem;
	margin-top: 3.5rem;
}

/*shiryou
---------------------------------------------------------*/
.shiryouArea h2 {
	font-size: 3.4rem;
	margin-bottom: 3rem;
}
.shiryouWrap {
	padding: 4rem 2rem;
	background: #fff;
}
.shiryouWrap ul {
	display: inline-block;
	text-align: left;
	font-size: 4rem;
	font-weight: 700;
	line-height: 1.3;
	padding-left: 1em;
	text-indent: -1em;
}
.shiryouWrap li:not(:first-of-type) {
	margin-top: 1.5rem;
}
.shiryouWrap li::before {
	content: "●";
	color: #d31833;
}
.pdfBtn {
	max-width: 95rem;
	margin: 4rem auto 0;
}
.pdfBtn a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 5rem;
	font-weight: 800;
	color: #fff;
	line-height: 1;
	padding: 1.75rem 1rem 2.25rem;
	text-align: center;
	background: #d31833;
	margin: 0 auto;
	letter-spacing: .075em;
	text-indent: 0.075em;
	border-radius: 90px;
}
.pdfBtn a::before {
	content: "";
	display: inline-block;
	background: url("../img/icon_pdf.svg") center center no-repeat;
	background-size: contain;
	width: 5.5rem;
	height: 6.3rem;
	margin-right: 2rem;
}
.pdfBtn a::after {
	content: "";
	display: inline-block;
	background: url("../img/icon_dl.svg") center center no-repeat;
	background-size: contain;
	width: 4.3rem;
	height: 4.5rem;
	margin-left: 2rem;
}
.pdfBtn a:hover {
	background-color: #F3A500;
}

/*diagnosis
-------------------------------------------------------*/
#diagnosisTtl {
	padding: 4rem 0;
}
#diagnosisTtl h2 {
	font-size: 5.2rem;
	margin-bottom: 0;
}
#diagnosisTtl h2 big {
	display: block;
	font-size: 180%;
	transform: skewX(-8deg);
}
#diagnosisForm {
	padding-top: 4rem;
}
#diagnosisForm h3 {
	font-size: 3.8rem;
	font-weight: 800;
	line-height: 1.4;
	margin-bottom: 4rem;
}
.diagnosisBox {
	background: #fff;
	border: 5px solid #000;
	padding: 4rem 8rem;
}
.diagForm dt,.diagForm dd {
	text-align: left;
	font-size: 4.2rem;
	font-weight: 800;
	margin-bottom: 3rem;
}
.diagForm dt {
	width: 37%;
	padding-top: 1rem;
}
.diagForm dd {
	width: 63%;
}
.diagForm dd p {
	font-size: 2rem;
	line-height: 1.4;
	font-weight: 500;
}
.diagForm select {
	border: 1px solid rgb(133, 133, 133);
}
.diagForm select,
.diagForm input[type="text"] {
	max-width: 45rem;
	margin-right: 1rem;
	font-size: 4rem;
	padding: 1.5rem;
	color: #000
}
.diagForm dt.diagAbout {
	width: 100%;
	margin-bottom: .5rem;
	font-size: 3rem;
}
.diagForm dt.diagAbout + dd {
	width: 100%;
}
.diagForm dt.diagAbout + dd p {
	padding-left: 1em;
	text-indent: -1em;
	letter-spacing: -.03em;
}
.diagBtn {
	text-align: center;
	margin-top: 1rem;
}
.diagBtn button {
	position: relative;
	display: block;
	width: 100%;
	margin: 0 auto;
	color: #fff;
	font-size: 4.2rem;
	font-weight: 800;
	line-height: 1;
	padding: 1.75rem 1rem 2.25rem;
	text-align: center;
	background: #d31833;
	max-width: 45rem;
	letter-spacing: .075em;
	text-indent: .075em;
	border-radius: 90px;
}
.diagBtn button::after {
	content: "";
	display: block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: contain;
	width: 3.3rem;
	height: 3.3rem;
	position: absolute;
	right: 4.5rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	z-index: 1;
}
.diagBtn button:hover {
	background-color: #F3A500;
}
.diagnosisArea div.note {
	display: inline-block;
	text-align: left;
	margin-top: 3rem;
	font-size: 2.8rem;
	font-weight: 700;
}
.diagnosisArea div.note p {
	padding-left: 1em;
	text-indent: -1em;
}
#diagnosis01 .diagnosisBox h2 {
	margin-bottom: 2rem;
}
#diagnosis01 .diagnosisBox .txt {
	font-weight: 800;
	font-size: 4.9rem;
	margin-bottom: 2rem;
}
#diagnosis02 .diagnosisBox {
	padding: 5rem 2rem;
}
#diagnosis02 .diagnosisBox h2 {
	font-size: 5.2rem;
	margin-bottom: 3rem;
}
#diagnosis02 .diagnosisBox .txt {
	font-weight: 800;
	font-size: 4.2rem;
	margin-bottom: 4rem;
}

/*lineup
---------------------------------------------------------*/
#lnTtl {
	padding: 4rem 0
}
#lnTtl h2 {
	font-size: 10.2rem;
	letter-spacing: -.03em;
	margin-bottom: 0;
}
#lnTtl h2 span {
	display: inline-block;
	background: url("../img/lineup/mark01.svg") left center no-repeat, url("../img/lineup/mark02.svg") right center no-repeat;
	background-size: auto 5.4rem,auto 5.7rem;
	padding: 0 17rem;
	white-space: nowrap;
}
#lnAnc .container {
	position: relative;
	max-width: 1200px;
}
.topAnchor._ln {
	max-width: 850px;
}
.topAnchor._ln li {
	width: 32%;
	margin-bottom: 0;
	margin-top: 7rem;
}
.topAnchor._ln li:nth-child(-n+3) {
	margin-top: 0;
}
.topAnchor._ln li:nth-of-type(2),
.topAnchor._ln li:nth-of-type(5) {
	transform: none;
}
.topAnchor._ln li:nth-of-type(1),
.topAnchor._ln li:nth-of-type(4) {
	-webkit-transform: rotate(-10deg);
	-ms-transform: rotate(-10deg);
	transform: rotate(-10deg);
}
.topAnchor._ln li:nth-of-type(3),
.topAnchor._ln li:nth-of-type(6) {
	-webkit-transform: rotate(10deg);
	-ms-transform: rotate(10deg);
	transform: rotate(10deg);
}
.topAnchor._ln li:nth-of-type(1),
.topAnchor._ln li:nth-of-type(4),
.topAnchor._ln li:nth-of-type(3),
.topAnchor._ln li:nth-of-type(6) {
	margin-bottom: -2.5rem;
}
#lnAnc .chara01 {
	pointer-events: none;
	position: absolute;
	right: 0;
	top: 33%;
	width: 13.3rem;
}
#lnAnc .chara02 {
	pointer-events: none;
	position: absolute;
	left: 0;
	bottom: 4rem;
	width: 12.2rem;
}
#lnAnc .note {
	font-size: 2rem;
	color: #fff;
	margin-top: 7rem;
}
#lnContents {
	padding: 0;
}
.lnArea {
	padding: 6rem 0;
}
.lnArea.bg01 {
	color: #fff;
}
.lnArea .container {
	max-width: 1200px;
}
.lnBox {
	position: relative;
	padding: 5rem;
	color: #000;
	background: #fff;
	border-radius: 2rem;
	border: 3px solid #d3ad4f;
	margin: 4rem auto 0;
}
.ln01Ttl {
	position: relative;
	padding-right: 25rem;
	max-width: 1100px;
	margin: 0 auto;
}
.ln01Ttl h2 {
	text-align: left;
	font-size: 12.4rem;
}
.ln01Ttl .chara {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 16%;
}
.ln01Wrap h3 {
	font-size: 4.6rem;
	font-weight: 800;
	background: #d31833;
	border-radius: 90px;
	padding: .2rem 0 .5rem;
	line-height: 1.1;
	color: #fff;
}
.ln01Wrap .txt {
	font-size: 6.4rem;
	padding: 2rem 0;
	border-bottom: 2px solid #000;
	font-weight: 800;
	line-height: 1.2;
}
.ln01Wrap li {
	width: 40rem;
	white-space: nowrap;
	text-align: left;
	font-size: 7.6rem;
	font-weight: 800;
	background: url("../img/lineup/mark-01.svg") left bottom .5rem no-repeat;
	padding-left: 7rem;
	line-height: 1;
	margin-top: 3rem;
}
.ln01Wrap li:nth-of-type(2) {background-image:url("../img/lineup/mark-02.svg")}
.ln01Wrap li:nth-of-type(3) {background-image:url("../img/lineup/mark-03.svg")}
.ln01Wrap li:nth-of-type(4) {background-image:url("../img/lineup/mark-04.svg")}
.ln01Wrap li small {
	display: block;
	font-size: 2.6rem;
	line-height: 1;
}
.ln01Txt {
	max-width: 1100px;
	margin: 3rem auto 0;
}
.ln01Txt .txt {
	font-size: 6.2rem;
	letter-spacing: -.01em;
	line-height: 1.2;
	font-weight: 800;
}
.ln01Txt .note {
	text-align: left;
	font-size: 2.2rem;
	padding-left: 1em;
	text-indent: -1em;
	margin-top: 3rem;
}
.secTtl {
	display: inline-block;
	margin-bottom: 3rem;
	font-size: 8rem;
	font-weight: 800;
	line-height: 1.05;
	letter-spacing: .05em;
	padding: 0 12rem .1em;
	background: url("../img/lineup/ttl_b01.svg") left center no-repeat,url("../img/lineup/ttl_b02.svg") right center no-repeat;
	background-size: 10.5rem auto;
}
.lnArea.bg01 .secTtl {
	background-image: url("../img/lineup/ttl_w01.svg"),url("../img/lineup/ttl_w02.svg")
}
.lnTtl {
	position: relative;
	display: inline-block;
}
.lnTtl .chara {
	position: absolute;
	bottom: 11rem;
	left: -1rem;
	width: 19.2rem;
}
.lnTtl + .note {
	font-size: 2.5rem;
	margin-top: 2rem;
	font-weight: 600
}
.ln02Wrap h4 {
	font-size: 7.7rem;
	margin-bottom: 3rem;
	line-height: 1.2
}
.markTxt {
	display: inline-block;
	font-size: 3.6rem;
	font-weight: 800;
	padding: 0 8.5rem .1em;
	background: url("../img/lineup/mark01.svg") left center no-repeat,url("../img/lineup/mark02.svg") right center no-repeat;
	background-size: 7.2rem auto;
}
.ln02Wrap li {
	width: 31%;
	margin-top: 5rem;
	font-size: 4rem;
	font-weight: 800;
	line-height: 1.4;
}
.ln02Wrap li figure {
	overflow: hidden;
	border-radius: 2rem;
}
.ln02Wrap li small {
	display: block;
	font-size: 3rem;
	line-height: 1;
	color: #808080;
	font-weight: 700;
	padding: 1rem 0 0 0;
}
#ln03 .container {
	max-width: 1100px;
}
.ln03Wrap h4 {
	font-size: 5.2rem;
	font-weight: 800;
	position: relative;
	padding-bottom: .5rem;
	margin-bottom: 2rem;
	border-bottom: 2px solid #c1976d;
}
.ln03Wrap h4::before,
.ln03Wrap h4::after {
	content: "";
	display: block;
	position: absolute;
	left: -8px;
	bottom: -5px;
	width: 12px;
	height: 8px;
	background: url("../img/lineup/ttl_icon.png") center center no-repeat;
	background-size: contain;
}
.ln03Wrap h4::after {
	left: auto;
	right: -8px;
}
.ln03Wrap .txt {
	font-size: 6.7rem;
	font-weight: 800;
	line-height: 1.2;
	letter-spacing: -.05em
}
.ln03Wrap .chara {
	position: absolute;
	bottom: -3rem;
	right: 2rem;
	width: 17rem;
	z-index: 1
}
.ln04Box02,.ln04Box {
	position: relative;
}
.ln04Box02::before,.ln04Box02::after,
.ln04Box::before,.ln04Box::after {
	content: "";
	display: block;
	background: url("../img/lineup/frame.svg") center  center no-repeat;
	background-size: contain;
	width: 9.2rem;
	height: 9.2rem;
	position: absolute;
}
.ln04Box02::before {
	left: 0;
	top: 0;
}
.ln04Box02::after {
	right: 0;
	top: 0;
	-webkit-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	transform: rotate(90deg);
}
.ln04Box::before {
	left: 0;
	bottom: 0;
	-webkit-transform: rotate(-90deg);
	-ms-transform: rotate(-90deg);
	transform: rotate(-90deg);
}
.ln04Box::after {
	right: 0;
	bottom: 0;
	-webkit-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
	transform: rotate(180deg);
}
.ln04Box {
	padding: 0 5rem 5rem
}
.ln04Wrap h4 {
	font-size: 5.8rem;
	font-weight: 800;
	line-height: 1.3
}
.ln04Cont dl {
	margin-top: 3rem;
	text-align: right;
}
.ln04Cont dl:not(:first-of-type) {
	border-top: 2px solid #000;
	padding-top: 3rem;
}
.ln04Cont dt {
	width: 50%;
	background: url("../img/arrow02-r.svg") right bottom 1.5rem no-repeat;
	background-size: 6.2rem auto;
	padding-right: 11rem;
}
.ln04Cont dd {
	width: 50%;
}
.ln04Cont dd > small {
	display: block;
	text-align: right;
	margin-top: .5rem;
	font-size: 85%;
}
.ln04Cont h5 {
	text-align: center;
	font-size: 3.2rem;
	font-weight: 800;
	margin-bottom: 1rem;
}
.ln04Cont .price {
	font-size: 6.2rem;
	color: #603813;
	line-height: 1;
	font-weight: 800;
	white-space: nowrap;
}
.ln04Cont .price big {
	font-size: 235%;
}
.ln04Cont .price big small {
	font-size: 50%;
}
@media screen and (max-width: 1230px) {
	.ln04Cont .price {
		font-size: 5rem
	}
}
.ln04Txt {
	margin: 3rem auto;
	max-width: 1100px;
}
.ln04Txt .txt {
	font-size: 2.8rem;
	font-weight: 600;
	margin-bottom: 2rem;
}
.ln04Txt .note {
	text-align: left;
	padding-left: .85em;
	text-indent: -.85em;
	font-size: 1.7rem;
}
#ln05 h3 {
	font-size: 13.7rem;
	line-height: 1;
	padding-bottom: 1rem;
}
.ln05Wrap {
	max-width: 1100px;
	text-align: left;
}
.ln05Wrap .txt {
	font-size: 5.1rem;
	font-weight: 800;
	margin-left: -.5em;
}
.ln05Wrap small {
	display: block;
	font-size: 4rem;
	font-weight: 800;
	line-height: 1.3;
	letter-spacing: -.05em;
	margin-top: 1rem;
}
.ln05Wrap .chara {
	position: absolute;
	right: -1.5rem;
	top: 2rem;
	z-index: 1;
	width: 17.1rem;
}
#ln06 h2 {
	font-size: 14rem;
	margin-bottom: 3rem;
}
.ln06Wrap {
	max-width: 1100px;
}
.ln06Wrap .txt {
	font-size: 6.5rem;
	font-weight: 800;
	letter-spacing: -.05em;
	line-height: 1.3;
	margin-bottom: 1rem;
}
.ln06Ttl {
	font-size: 11rem;
	font-weight: 800;
	line-height: 1.1;
}
.ln06Ttl .chara {
	position: absolute;
	left: 0;
	bottom: 0;
	width: 16.1rem;
}
.ln06Wrap .markTxt {
	margin-top: 5rem;
	line-height: 1.3;
	font-size: 5.4rem;
}














/*form
---------------------------------------------------------*/
.formTopArea {
	font-size: 2.8rem;
	text-align: left;
}
.formTopTxt {
	text-align: center;
	margin-bottom: 4rem;
}
.formTopTxt h2 {
	font-size: 3.2rem;
	border-bottom: 2px solid #000;
	margin-bottom: .5rem;
}
.formTopTxt p {
	display: inline-block;
	text-align: left;
}
.formTopTxt a {
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 800;
	background: #D31833;
	color: #fff;
	max-width: 41rem;
	margin: 1rem auto 0;
	position: relative;
	padding: .5rem 0 1rem;
	line-height: 1;
}
.formTopTxt a:hover {
	background: #000;
}
.formTopTxt a::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #ffffff;
	margin-left: 2rem;
}
.formTopArea h3 {
	font-size: 2.8rem;
	font-weight: 800;
	margin: 3rem 0 .5rem;
	position: relative;
	padding-right: 21rem;
}
.pdfdl {
	position: absolute;
	top: .5rem;
	right: 0;
	background: #333;
	color: #fff;
	font-size: 60%;
	font-weight: 500;
	padding: .5rem 1.5rem;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
}
.pdfdl::after {
	content: "";
	display: inline-block;
	background: url(../img/icon_pdf.svg) center center no-repeat;
	background-size: contain;
	width: 2rem;
	height: 2rem;
	margin-left: .5rem;
}
.policyBox {
	border: 1px solid #000;
	height: 22rem;
	overflow: auto;
	padding: 1rem 5rem;
	font-size: 2.2rem;
}
.policyBox h4 {
	font-size: 118%;
}
.policyBox h4:not(:first-of-type) {
	margin-top: 1.5rem;
}
.policyBox ol {
	list-style: decimal;
	padding-left: 1em;
}
.formSelect {
	text-align: center;
	margin-top: 8rem;
	font-size: 3.2rem;
	font-weight: 700;
}
.formSelect .box01 {
	width: 51%;
	background: url("../img/arrow_btm.svg") bottom center no-repeat;
	background-size: auto 3.4rem;
	padding-bottom: 5rem;
}
.formSelect .box02 {
	width: 46%;
	font-size: 2.6rem;
}
.formSelect dt a {
	height: 12rem;
	color: #fff;
	font-weight: 800;
	font-size: 6.2rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #D31833;
	line-height: 1.2;
	padding-bottom: .5rem;
}
.formSelect .box02 dt a {
	background: #e4f3d9;
	font-size: 2.6rem;
	color: #00A73C;
}
.formSelect .box02 dt big {
	font-size: 150%;
	line-height: 1.1;
	white-space: nowrap;
}
.formSelect a::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: .6rem 0 .6rem 1rem;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	right: 2rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	display: none;
}
.formSelect a:hover {
	background: #000!important;
	color: #fff!important
}
.loginArea {
	margin-top: 7rem;
	text-align: left;
	font-size: 2.2rem
}
.loginArea > dt {
	padding: 0 3rem 1rem;
	border-bottom: 1px solid #000;
	margin-bottom: 1.5rem;
	font-size: 108%;
	letter-spacing: -.05em;
}
.loginArea > dd {
	padding: 0 3.5rem;
}
.loginArea .txt {
	color: #D31833;
	margin-bottom: 2rem;
}
.loginForm {
	text-align: center;
}
.loginFormBox {
	max-width: 75rem;
	font-size: 118%;
	margin: 0 auto;
	text-align: left;
}
.loginFormBox dt {
	width: 28%;
	padding: .5rem;
}
.loginFormBox dd {
	width: 72%;
	padding: .5rem;
}
.loginFormBox input {
	width: 100%;
	padding: 1rem	
}
.loginForm button {
	display: block;
	max-width: 26rem;
	margin: 3rem auto;
	line-height: 1;
	border-radius: 90px;
	width: 100%;
	position: relative;
	background: #000;
	color: #fff;
	font-size: 2.6rem;
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	font-weight: 500;
	padding: .5rem 0 1rem;
	transition: .1s;
}
.loginForm button:hover {
	background: #D31833;
}
.loginForm button::after {
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 6px 0 6px 10px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	right: 2rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.passLink {
	color: #D31833;
	font-size: 2.6rem;
	text-decoration: underline;
}
.passLink:hover {
	color: #000;
	text-decoration: none;
}
#subscribeForm {
	background: #EDEDED;
}
.formArea {
	max-width: 1300px;
	padding: 4rem 10rem;
	text-align: left;
	font-size: 2rem;
	background: #fff;
}
.formWrap h2 {
	font-size: 170%;
	border-bottom: 2px solid #D31833;
	margin-bottom: 2rem;
}
.formWrap h2:not(:first-of-type) {
	margin-top: 7rem;
}
.formWrap dt {
	font-size: 140%;
	font-weight: 700;
	margin-top: 4rem;
}
.formWrap h2 + dl dt {
	margin-top: 0;
}
.formWrap dd {
	margin-top: .5rem;
}
.req dt::after {
	content: "必須";
	display: inline-block;
	font-size: 2rem;
	color: #fff;
	background: #D31833;
	padding: 0 .5rem;
	margin-left: 1rem;
	vertical-align: 0.2rem;
}
.formWrap input[type="text"],
.formWrap input[type="tel"],
.formWrap input[type="email"],
.formWrap input[type="password"],
.formWrap select,
.formWrap textarea {
	width: 100%;
	padding: .575em;
	border: 1px solid #ccc;
	border-radius: 3px;
	font-size: 2rem;
}
.formWrap input[type="text"]:focus,
.formWrap input[type="text"]:focus,
.formWrap input[type="tel"]:focus,
.formWrap input[type="email"]:focus,
.formWrap input[type="password"]:focus,
.formWrap select:focus,
.formWrap textarea:focus {
	outline: 2px solid #F3A500;
}

.formWrap .size-m {
	max-width: 49%;
}
.formWrap .size-s {
	max-width: 24%;
}
.formWrap input[type="text"] + span {
	margin-left: .5rem;
}
.formWrap select {
	background: #fff;
	color: #000
}
.formWrap textarea {
	height: 190px;
}
.formWrap .inputinput[type="text"] + span {
	padding-top: 0.75rem;
}
.zipBtn {
	background: #e6e6e6;
	font-size: 110%;
	margin-left: 1rem;
	padding: 1.1rem ;
	cursor: pointer;
	line-height: 1.1;
	border: 1px solid #949494;
	color: #231815;
	font-family: 'Noto Sans JP', sans-serif ,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", Verdana;
	font-weight: 500;
	white-space: nowrap;
}
.zipBtn:hover {
	background: #ccc
}
.form-name .box {
	width: 49.5%;
}
.formWrap dd p {
	margin-top: 1rem;
}
.formWrap dd h3 {
	font-weight: 600
}
.formWrap dd h3:not(:first-of-type) {
	margin-top: 1.5rem;
}
.formWrap .note {
	margin-bottom: 1.5rem;
}
.form-birth select {
	width: 15rem;
	margin-top: .5rem;
}
.form-birth select:first-of-type {
	width: auto;
}
.form-birth select + span {
	margin: 0 .5rem
}
.radioWrap label {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	padding: 1rem .5rem 1.5rem;
	line-height: 1.1;
	text-align: center;
	width: 32.5%;
	border: 1px solid #949494;
	border-radius: 5px;
	background: #EDEDED;
	background: -webkit-gradient(linear,left bottom, left top,from(#EDEDED),to(#fff));
	background: -o-linear-gradient(bottom,#EDEDED 0%,#fff 100%);
	background: linear-gradient(to top,#EDEDED 0%,#fff 100%);
	font-size: 105%;
	cursor: pointer;
	transition: .1s;
	margin: .416666666%
}
.radioWrap.col-2 label {
	width: 49.1666666%;
}
.radioWrap label:hover {
	background: #ddd
}
.radioWrap label small {
	display: block;
	width: 100%;
	margin-top: .5rem;
	font-size: 90%;
}
.radioWrap input[type="radio"] {
	display: none;
}
.radioWrap input[type="radio"]:checked + label {
	background: #F3A500;
	border-color: #F3A500;
	color: #fff;
}
.req input[type="text"],
.req input[type="tel"],
.req input[type="email"],
.req input[type="password"],
.req select,
.req textarea {
	background: #FEF2EF;
	border-color: #EF9287;
}
.radioWrap .errorTxt {
	width: 100%!important;
}
.req .radioWrap {
	background-color: #FEF2EF;
	padding: .5rem 0;
}
.req option:disabled {
	color: #EF9287!important;
}
.form-koza .box {
	width: 49.5%;
}
.magagizeCheck {
	text-align: center;
	font-size: 115%;
	display: flex;
	justify-content: center;
	align-items: center;
}
.magagizeCheck label {
	margin: 0;
}
.magagizeCheck input {
	display: inline-block;
	-webkit-transform: scale(2);
	-ms-transform: scale(2);
	transform: scale(2);
	margin-right: 2rem;
}
.errorTxt {
	margin-top: .5rem;
	font-size: 90%;
	color: red;
}
.errorTxt a {
	text-decoration: underline;
	color: #137ED7
}
#email_error {
	font-size: 115%;
}
.errorTop .errorTxt:last-of-type {
	margin-bottom: 3rem;
}
.confTxt {
	border: 3px solid #333333;
	margin-top: 6rem;
	font-size: 2.6rem;
	padding: 2rem;
	font-weight: 700;
	letter-spacing: -.05em;
}
.submitBtnWrap {
	margin-top: 3rem;
}
.formWrap .submitBtn {
	background: #D31833;
	border-radius: 90px;
	color: #fff;
	font-size: 4.2rem;
	font-weight: 800;
	display: block;
	width: 48rem;
	margin: 1rem;
	line-height: 1;
	padding: 2rem 1rem;
	position: relative;
	transition: .1s;
}
.formWrap .submitBtn::after {
	content: "";
	display: block;
	background: url("../img/arrow.svg") center center no-repeat;
	background-size: 100% auto;
	width: 2.4rem;
	height: 2.4rem;
	position: absolute;
	right: 3rem;
	top: 50%;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
}
.formWrap .submitBtn._back {
	background: #aaa
}
.formWrap .submitBtn:hover {
	background: #000;
}
.formWrap .submitBtn._back::after {
	right: auto;
	left: 3rem;
	-webkit-transform: translateY(-50%) rotate(180deg);
	-ms-transform: translateY(-50%) rotate(180deg);
	transform: translateY(-50%) rotate(180deg);
}
.hidden {
	display: none;
}
.kyojyu2 {
	background: url("../img/arrow02.svg") top 1rem center no-repeat;
	padding-top: 6rem!important;
}
.formTxt {
	font-size: 3rem;
	font-weight: 800;
	text-align: center;
	color: #D31833;
	margin-bottom: 2rem;
}
.kyojyu2 input[type="text"] {
	background: #fff;
}
.shorui select {
	width: auto;
	background: #fff;
	border-color: #949494;
}
.fileCont {
	line-height: 1;
	border: 1px solid #949494;
	border-radius: 5px;
	padding: 1rem;
	margin-bottom: 2rem;
	max-width: 500px;
}
.thxBox {
	text-align: center;
	font-size: 2.2rem;
}
.thxBox .txt {
	margin-bottom: 2rem;
}
.seal {
	margin-top: 1.5rem;
}

/*forgot
---------------------------------------------------------*/
.forgotWrap h2 {
	margin-bottom: 0;
	background: #333;
	color: #fff;
	font-size: 3.4rem;
	font-weight: 700;
	padding: 1rem;
}
.forgotForm {
	background: #fff;
	border: 2px solid #333;
	padding: 3.5rem 5rem;
}
.forgotForm .box+.box {
	margin-top: 1.5rem;
}
.forgotForm .box dt {
	font-size: 3.2rem;
	white-space: nowrap;
	margin-right: 1rem;
	font-weight: 600;
	text-align: left;
}
.forgotForm .box dd {
	width: 100%;
}
.forgotForm .box input {
	padding: 1rem;
	width: 100%;
	font-size: 2.4rem;
}
.forgotForm .txt {
	font-size: 2.4rem;
	font-weight: 600;
	margin-top: 2rem;
}
/*passwordp*/
#password_reset .forgotForm dt {
	min-width: 30rem;
}
#password_reset .pass-birth input {
	width: auto;
	max-width: 20%;
}
.pass-birth select {
	border: 1px solid #333;
	padding: 1rem;
	font-size: 2.4rem;
}
.pass-birth span {
	display: inline-block;
	font-size: 3.2rem;
	margin-right: 1em;
	margin-left: .5em;
}
#password_reset .errorTxt {
	font-size: 3.2rem;
	margin-top: 2rem;
	color: #d31833;
}

/*warning
---------------------------------------------------------*/
.warningWrap {
	padding: 5rem;
	text-align: left;
	background: #fff;
	font-size: 112.5%;
}
.warningWrap h2 {
	font-size: 3.2rem;
	text-align: center;
	margin-bottom: 5rem;
}
.topNews {
	margin-bottom: 4rem;
}
.warningLink + .warningLink {
	margin-top: 2rem;
}
.warningLink a {
	display: flex;
	justify-content: center;
	align-items: center;
	border: 1px solid #000;
	padding: 1.2rem 1rem;
	font-size: 2.6rem;
	font-weight: 500;
	line-height: 1.1;
	color: #D31833;
}
.warningLink a::before {
	content: "!";
	display: block;
	text-align: center;
	font-size: 2rem;
	line-height: 2.6rem;
	width: 2.6rem;
	height: 2.6rem;
	min-width: 2.6rem;
	min-height: 2.6rem;
	color: #fff;
	background: #D31833;
	border-radius: 50%;
	margin-right: 1.5rem;
}
.warningLink a::after {
	content: "";
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-color: transparent transparent transparent #231815;
	border-width: 7px 0px 7px 12px;
	margin-left: 2rem;
}
.warningLink span {
	display: block;
	padding-bottom: .1em;
}
.warningLink a:hover {
	background: #f1f1f1
}
.newsArea .warningWrap {
	font-size: 150%;
	text-align: center;
	font-weight: 600;
}
.newsArea h2 {
	margin-bottom: 2rem;
}
.newsArea h3 {
	font-size: 3.2rem;
	margin: 4rem 0 1rem;
}
.newsArea .txt {
	display: inline-block;
	text-align: left;
}
.newsTbl {
	font-size: 1.8rem;
}
.newsTbl th,.newsTbl td {
	border: 1px solid #999;
	padding: .5rem;
	text-align: center;
}
.newsTbl thead th {
	background: #0027b5;
	color: #fff;
}
.newsTbl tbody th {
	font-size: 90%;
	position: sticky;
	top: 0;
	left: 0;
	background:  transparent;
}
.newsTbl tbody th:before {
	content: "";
	position: absolute;
	top: 0;
	left: -1px;
	width: 100%;
	height: 100%;
	border-bottom: 1px solid #999;
	border-right: 1px solid #999;
	border-left: 1px solid #999;
	background: #fff;
	z-index: -1;
}
.newsTbl td {
	font-size: 112.5%;
}
.newsTbl ._01 {
	color: #0068B7;
}
.newsTbl ._02 {
	color: #ED1C24;
}
.holdy {
	background: #FADBDA;
	color: #D31833;
}

/*column
---------------------------------------------------------*/
:root {
	--clm_bl: #007ce2;
	--clm_aq: #3fa4f0;
	--clm_gr: #7ac443;
	--clm_or: #ff8e1e;
}
.columnPageTtlArea {
	background: url(../img/column/pagettl_bg.jpg) center center no-repeat;
	background-size: cover;
}
.columnPageTtl {
	height: 20rem;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	position: relative;
	color: #fff;
}
.columnPageTtl figure img {
	max-height: 17.4rem;
}
.columnPageTtl figure {
	position: absolute;
	left: 0;
	bottom: 0;
}
.columnPageTtl figure._02 {
	left: auto;
	right: 0;
}
.columnPageTtl .fo-corporate {
	font-size: 6.2rem;
	font-weight: 700;
	line-height: 1.2;
}
.columnPageTtl .fo-corporate small {
	display: block;
	font-size: 64.5%;
}
.pankz ol {
	margin-top: 1rem;
	display: flex;
	flex-wrap: wrap;
	font-weight: 400;
	text-align: left;
}
.pankz ol li:not(:first-of-type)::before {
	content: ">";
	margin: 0 .2em;
}
.pankz a:hover {
	opacity: .5;
}
#columnList {
	padding-top: 4rem;
}
.postTtl {
	font-size: 3.8rem;
	text-align: left;
	font-weight: 700;
	border-left: .5rem solid var(--clm_bl);
	margin-bottom: 2rem;
	padding-left: 1rem;
}
.columnPage-imasugu {
	border-left-color: var(--clm_aq);
}
.columnPage-kisochishiki {
	border-left-color: var(--clm_gr);
}
.columnPage-fuan {
	border-left-color: var(--clm_or);
}
.postWrap {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 3rem 5rem;
}
.postBox {
	padding: 2rem;
	text-align: left;
	border: 1px solid #c7c7c7;
	border-radius: 1rem;
	background: #fff;
}
.thumb {
	aspect-ratio: 16/9.2;
	overflow: hidden;
	position: relative;
	margin-bottom: 1.5rem;
}
.thumb img {
	opacity: 1 !important;
	height: 100%;
	min-width: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transform: scale(1.01);
	transition: .4s;
}
.postBox a {
	display: block;
}
.postBox a:hover .thumb img {
	transform: scale(1.1);
}
.postBox a:hover {
	color: var(--clm_bl);
}
.tag {
	display: inline-block;
	font-size: 112.5%;
	color: #fff;
	line-height: 1;
	padding: .3rem 1.5rem .5rem;
	border-radius: 10rem;
	background: var(--clm_aq);
}
.tag._kisochishiki {
	background: var(--clm_gr);
}
.tag._fuan {
	background: var(--clm_or);
}
.postBox .tag {
	margin-top: 0.5rem;
}
.postBox h3{
	font-size: 2rem;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-overflow: ellipsis;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	margin-top: 1.5rem;
}
.pager {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	width: 100%;
	text-align: center;
	margin-top: 6rem;
}
.pager span, .pager a {
	display: inline-block;
	padding: .3rem 1rem;
	margin: .2rem;
	transition: .1s;
}
.pager .next,.pager .prev {
	border: none;
	display: -webkit-inline-box;
	display: -ms-inline-flexbox;
	display: inline-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}
.pager .current {
	background: var(--clm_bl);
	color: #fff;
	border-radius: 50%;
}
span.page-numbers.dots {
	border: none;
	padding: 0;
}
.pager a:hover {
	color: var(--clm_bl);
}
#popularArticles {
	background: #e6f2fd;
}
.categoryWrap {
	border: .3rem solid var(--clm_bl);
	border-radius: 2rem;
	background: #fff;
	overflow: hidden;
}
.categoryWrap dt {
	background: var(--clm_bl);
	color: #fff;
}
.categoryWrap dt h2 {
	font-size: 3.7rem;
	font-weight: 700;
	padding: 1rem;
	margin-bottom: 0;
}
.categoryWrap dd {
	padding: 2rem 4rem;
	text-align: left;
}
.categoryWrap ul {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	gap: 1rem 3.5rem;
	font-feature-settings: "palt";
}
.categoryWrap li {
	border-bottom: .2rem dotted #ccc;
}
.categoryWrap li a {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	font-size: 3.4rem;
	font-weight: 700;
}
.categoryWrap li a::after {
	content: "";
	display: block;
	background: url(../img/column/arrow.svg) center center no-repeat;
	background-size: contain;
	filter: invert(39%) sepia(83%) saturate(3412%) hue-rotate(188deg) brightness(91%) contrast(102%);
	width: 2.1rem;
	aspect-ratio: 1;
}
.categoryWrap li a:hover {
	color: var(--clm_bl);
}

/*colun_detail*/
.columnDetail .columnPageTtl {
	height: 11rem;
}
.columnDetail .columnPageTtl .fo-corporate {
	font-size: 4.2rem;
}
.columHeader {
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	gap: 3rem 4rem;
	margin-bottom: 5rem;
}
.columHeader figure {
	width: 48.5rem;
}
.columHeaderBox {
	text-align: left;
	flex: 1;
}
.columHeaderBox .d-flex {
	gap: .5rem 1rem;
	margin-bottom: 2rem;
}
.columHeaderBox h1 {
	font-size: 3.4rem;
	font-weight: 700;
	line-height: 1.6;
	margin-bottom: 2rem;
}
.columHeaderCont {
	font-size: 1.8rem;
}
.columnImdex {
	border-radius: 2rem;
	padding: 3rem 4rem;
	border: 1px solid #949494;
	margin-bottom: 5rem;
}
.columnImdex h2 {
	font-size: 3.6rem;
	margin-bottom: 2rem;
	font-weight: 700;
}
.columnImdex li {
	text-align: left;
	border-bottom: .2rem dotted #ccc;
}
.columnImdex li + li {
	margin-top: 1rem;
}
.columnImdex li a {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
	padding-bottom: .5rem;
	font-size: 2rem;
	font-weight: 700;
}
.columnImdex li a::before{
	content: "";
	display: block;
	background: url(../img/column/arrow.svg) center center no-repeat;
	background-size: contain;
	filter: invert(39%) sepia(83%) saturate(3412%) hue-rotate(188deg) brightness(91%) contrast(102%);
	width: 2.1rem;
	aspect-ratio: 1;
}
.columnImdex li a:hover {
	color: var(--clm_bl);
}
.colmunContents {
	font-size: 1.8rem;
	text-align: left;
	word-wrap: break-word;
}
.colmunContents section {
	padding: 0 2rem;
}
.colmunContents section + section {
	margin-top: 5rem;
}
.colmunContents h1,.colmunContents h2 {
	background: var(--clm_bl);
	border-radius: 10rem;
	font-size: 144%;
	font-weight: 500;
	color: #fff;
	padding: .7rem 3rem 1rem;
	margin: 0 -2rem 2rem;
}
.colmunContents h3 {
	font-size: 122%;
	font-family: "corporate-logo-ver2", sans-serif;
	font-weight: 500;
	font-style: normal;
	border-bottom: .2rem solid var(--clm_bl);
	margin-bottom: 1em;
}
.colmunContents h4 {
	font-size: 112.5%;
	color: var(--clm_bl);
	margin-bottom: 1em;
}
.colmunContents h5 {
	font-size: 105%;
	color: var(--clm_bl);
	margin-bottom: 1em;
}
.colmunContents h6 {
	font-size: 100%;
	color: var(--clm_bl);
	margin-bottom: 1em;
}
.colmunContents h4 span {
	font-weight: 500!important;
}
.colmunContents img {
	display: block;
	margin: 3rem auto;
	max-height: 33.5rem;
}
.colmunContents ul {
	padding: 2rem;
	background: #efefef;
	margin: 2rem 0;
}
.colmunContents ul li::before {
	content: "●";
	color: var(--clm_bl);
}
.colmunContents a {
	text-decoration: underline;
	color: #137ED7;
}
.colmunContents a:hover {
	text-decoration: none;
}
.columnDetailArea a[data-id*="colum"] {
	display: block;
	background: #0027b5;
	color: #fff;
	font-size: 150%;
	font-weight: 600;
	padding: 1.2rem 1rem 1.4rem;
	border-radius: 10rem;
	text-align: center;
	margin: 2.5rem auto 0;
	max-width: 32rem;
	text-decoration: none;
}
.columnDetailArea a[data-id*="colum"]:hover {
	background: #C60F1D;
}
.colmunContents table {
	margin-bottom: 1rem;
}
.colmunContents table th,
.colmunContents table td {
	padding: .7rem;
	border: 1px solid #999;
	font-size: 90%;
}
.authorArea {
	padding: 2rem;
	text-align: left;
	margin-top: 5rem;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-size: 1.8rem;
}
.authorArea h3 {
	font-size: 1.8rem;
	font-weight: 500;
	display: flex;
	align-items: center;
	gap: .5rem;
	margin-bottom: .2rem;
}
.authorArea h3::before {
	content: "";
	display: block;
	background: url(../img/column/pen.svg) center center no-repeat;
	background-size: contain;
	width: 2.1rem;
	aspect-ratio: 1;
}
.authorArea ul {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem 1rem;
	font-size: 87.5%;
	color: #666;
	margin-bottom: 1.5rem;
}
.authorArea li::before {
	content: "・";
}
.pageSet {
	margin-top: 6rem;
	gap: 1rem 3rem;
	text-align: center;
	font-size: 2rem;
}
.postBack a {
	display: block;
	background: var(--clm_bl);
	color: #fff;
	line-height: 1.2;
	padding: 1rem 5rem;
	border-radius: 10rem;
}
.postBack a:hover {
	background: #000;
}
.pageSetDmmy {
	width: 3.475em;
	visibility: hidden;
}
.postNav {
	display: flex;
	align-items: center;
	gap: .5rem;
	line-height: 1.1;
}
.postNav::after {
	content: "";
	display: block;
	background: url(../img/column/arrow.svg) center center no-repeat;
	background-size: contain;
	width: 2.1rem;
	aspect-ratio: 1;
	filter: invert(39%) sepia(83%) saturate(3412%) hue-rotate(188deg) brightness(91%) contrast(102%);
}
.postNav.prev {
	flex-direction: row-reverse;
}
.postNav.prev::after {
	transform: scale(-1,1);
}
.postNav:hover {
	color: var(--clm_bl);
}

.columnDetail._imasugu #columnContents {
	--clm_bl: var(--clm_aq);
}
.columnDetail._kisochishiki #columnContents {
	--clm_bl: var(--clm_gr);
}
.columnDetail._fuan #columnContents {
	--clm_bl: var(--clm_or);
}
.columnDetail._imasugu .columnImdex li a::before,.columnDetail._imasugu .postNav::after {
	filter: invert(50%) sepia(93%) saturate(868%) hue-rotate(180deg) brightness(99%) contrast(89%);
}
.columnDetail._kisochishiki .columnImdex li a::before,.columnDetail._kisochishiki .postNav::after {
	filter: invert(65%) sepia(69%) saturate(426%) hue-rotate(50deg) brightness(95%) contrast(81%);
}
.columnDetail._fuan .columnImdex li a::before,.columnDetail._fuan .postNav::after {
	filter: invert(60%) sepia(96%) saturate(1691%) hue-rotate(345deg) brightness(102%) contrast(101%);
}







/*ieハック*/
@media screen\0  {
}

/*********************************/
/* タブレット用のスタイル記述 */
/*********************************/
@media screen and (max-width: 1270px) {
	html {
		font-size: .75vw;
	}
}

/*********************************/
/* スマートフォン用のスタイル記述 */
/*********************************/
@media screen and (max-width: 780px) {
/*全体レイアウト
---------------------------------------------------------*/
	html {
		font-size: 2.7027027vw;
	}
	body {
		font-size: 1.4rem;
		line-height: 1.5;
		padding-bottom: 10.7rem;
	}
	body.btnNone {
		padding-bottom: 0;
	}
	body.active {
		overflow: hidden;
	}
	.pageTtl {
		background-size: auto 14rem;
		background-position:  center top -10rem;
/*		height: 11.5rem;*/
		height: auto;
		padding: 2rem .5rem;
	}
	.pageTtl h2 {
		width: 100%;
		font-size: 2.8rem;
		padding-bottom: 2rem;
		background-size: auto 1.2rem;
	}
	.pageTtl._middle h2 {
		font-size: 2.8rem
	}
	.pageTtl._small h2 {
		font-size: 2.4rem
	}
	.appBtn a {
		font-size: 2.6rem;
    padding: 1.4rem 0 1.6rem;
	}
	.appBtn a::after {
		width: 2.2rem;
    height: 2.2rem;
    right: 2rem;
	}
	h2 {
		font-size: 2.8rem;
		margin-bottom: 4rem;
	}
	.contTtl {
		padding: 0 3.4rem;
	}
	.contTtl::before, .contTtl::after {
		width: 2.8rem;
		height: 2.4rem;
	}
	.bg01, .bg02, .bg03 {
		background-size: auto 14rem;
	}
	/*header
	-------------------------------------------------------*/
	#header {
		z-index: 9200;
	}
	.headerWrap {
		padding: 10px 0;
	}
	.hLogo img {
    max-height: 40px;
	}
	.hBtn {
		position: fixed;
		left: 0;
		right: 0;
		bottom: 0;
		z-index: 9000;
		margin: 0;
		background: #fff;
		padding: 1rem 5%;
		box-shadow: 0 -1px 5px rgba(0,0,0,.075)
	}
	.hBtn .txt {
		font-size: 4.75vw;
		white-space: nowrap;
	}
	#header .appBtn a {
		min-width: auto;
		font-size: 2.6rem;
		padding: 1.4rem 0 1.6rem;
	}
	#header .appBtn a::after {
		width: 2.2rem;
		height: 2.2rem;
		right: 2rem
	}
	.menuIcon {
		top: 26px!important;
		bottom: auto!important;
		width: 38px;
		height: 26px;
		z-index: 99999
	}
	.menuIcon span {
		transition: .2s;
	}
	.menuIcon span:nth-of-type(2) {top: 11px;	}
	.menuIcon.active span:nth-of-type(1) {
		-webkit-transform: translateY(13px) rotate(45deg);
		transform: translateY(13px) rotate(45deg);
	}
	.menuIcon.active span:nth-of-type(3) {
		-webkit-transform: translateY(-10px) rotate(-45deg);
		transform: translateY(-10px) rotate(-45deg);
	}
	.menuIcon::after {
		font-size: 11px;
		top: -20px
	}
	
	/*footer
	-------------------------------------------------------*/
	.footContact {
		font-size: 1.7rem;
		padding: 6rem 0;
	}
	.footContact .ttl {
		font-size: 2rem;
	}
	.footContact h3 {
		font-size: 2rem;
	}
	.footContactBox {
		padding: 2rem 0
	}
	.footTel a {
		font-size: 4rem;
		letter-spacing: .025em;
	}
	.footTelTxt {
		font-size: 1.8rem;
	}
	.contactBtm {
		display: block;
		font-size: 100%
	}
	.fNavTop {
		display: block;
		padding-bottom: 1rem;
		margin-bottom: .7rem;
	}
	.footerWrap .nav02 a br {
			display: inline;
	}
	.fNavTop .navLogo img {
		max-height: 5.5rem
	}
	.fTxt {
		text-align: left;
		font-size: 1.4rem;
		padding: 1rem 0
	}
	
	
	/*nav
	-------------------------------------------------------*/
	#nav {
		z-index: 99990;
	}
	#nav .navLogo img {
    max-height: 4rem;
	}
	.navArea {
		font-size: 1.6rem;
	}
	.fNavTop ul {
		margin-top: 1rem;
		justify-content: center;
	}
	.fNavTop li:not(:first-of-type) {
    margin: 0 0 0 2rem;
	}
	.fNavTop li a {
		font-size: 1.8rem;
		background-size: auto 65%;
		padding-left: 2.5rem;
	}
	.footerWrap .nav01 {
		margin-bottom: 1.5rem;
	}
	.footerWrap .nav01 a {
		font-size: 1.6rem;
		padding-left: 1.8rem;
		background-size: 1.4rem;
		background-position: left center;
	}
	.footerWrap .nav01 li {
		margin: .5rem 0;
	}
	.footerWrap .nav01 a br {
		display: none
	}
	.navBox {
		width: 100%;
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
	}
	.navRht {
		width: 100%;
		padding: 1rem 5% 3rem;
	}
	.navApp a {
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}
	.nav01 {
		font-size: 2rem;
		display: block;
	}
	.nav01 a {
		display: inline-block;
    background: url(../img/arrow.svg) top .6rem left no-repeat;
    background-size: 1.7rem;
    padding-left: 4rem;
	}
	.nav01 ul {
		margin: 0;
	}
	.nav01 li {
		margin-top: 1.5rem;
	}
	.nav02 {
		display: block;
		text-align: left;
	}
	.nav02 li {
    margin: 1rem 0;
	}
	#nav .nav01 li {
    margin-top: 1rem;
	}
	#nav .nav01 a, #nav .navTop li a {
		padding-left: 3rem;
		background-position: top .7rem left;
	}
	#nav .nav02 a {
		font-size: 1.6rem
	}
	.navLft {
		width: 100%;
		font-size: 2.2rem;
		padding: 3rem 5% 7rem;
	}
	.navLft::before {
		background-size: auto 14rem;
	}
	.navLft .telnum {
		font-size: 4.2rem;
		margin-top: 0;
	}
	.navLft .img {
		padding: 0 1.5rem 1.5rem;
		margin-bottom: 1.5rem;
		border-bottom: 1px solid #fff;
	}
	
	/*top
	-------------------------------------------------------*/
	.mainvisual {
		padding-top: 3rem;
		background-position: top -1rem right -1.75rem,top -1rem left -1.75rem;
		background-size: 50% auto;
	}
	.mainWrap {
		padding-bottom: 0;
	}
	.mainCont {
		margin-bottom: 2rem;
		padding: 0 1rem
	}
	.mainBtn {
		width: 35%;
		bottom: 1rem
	}
	.mainBtn img {
		max-width: 100%;
	}
	.mainTxt {
		width: 63%;
	}
	.mainvisual._02 .mainCont {
		margin-bottom: 3rem;
		padding: 0 1.5rem
	}
	.mainvisual._02 .mainBtn {
		width: 33%;
    left: 10%;
    bottom: auto;
		top: 40.85%;
	}
	.mainvisual._02 .mainTxt {
		width: 100%;
	}
	.mainvisual._03 .mainCont {
		margin: 1rem auto 2.5rem;
		padding: 0 1.5rem
	}
	.mainvisual._03 .mainBtn {
		display: none;
	}
	.mainvisual._03 .mainTxt {
		width: 100%;
	}
	.termsLink02 {
		font-size: 1.4rem;
	}
	.emergency {
		text-align: left;
	}
	.emergency h2 {
		text-align: center;
		font-size: 125%;
		line-height: 1.4;
	}
	.emergency .telnum {
		font-size: 4rem;
	}
	
	
	.appBtnWrap {
		width: 100%;
		background-size: auto 2rem;
		padding-top: 3rem;
	}
	.btnWrap {
		display: block;
		margin-top: 0;
	}
	.btnWrap li {
    width: 100%;
	}
	.btnWrap li:not(:first-of-type) {
		margin-top: 2rem;
	}
	.btnWrap li a {
		font-size: 2.8rem;
	}
	.btnWrap li a small {
		font-size: 2rem;
	}
	.btnWrap li._02 a {
		font-size: 2rem;
	}
	.btnWrap li a::after {
		right: 2rem;
		width: 2rem;
		height: 2rem;
	}
	#topLink {
		padding: 2rem 0 3rem;
	}
	#topLink h2 {
		margin-bottom: 1.5rem;
	}
	#topLink h2 img {
    display: block;
		margin: 0 auto;
	}
	#topLink h3 {
		font-size: 2.2rem;
		margin-bottom: 1.5rem;
	}
	.topAnchor {
		flex-wrap: wrap;
		width: 80%;
	}
	.topAnchor li {
		width: 50%;
		margin-bottom: 4rem!important;
	}
	.topAnchor li::after {
		width: 4rem;
		height: 4rem;
	}
	.topAnchor li::before {
		border-width: 1.2rem 0.9rem 0 0.9rem;
	}
	.topAnchor li._01,.topAnchor li._03 {
		-webkit-transform: rotate(-8deg);
		-ms-transform: rotate(-8deg);
		transform: rotate(-8deg);
	}
	.topAnchor li._02,.topAnchor li._04 {
		-webkit-transform: rotate(8deg);
		-ms-transform: rotate(8deg);
		transform: rotate(8deg);
	}
	.topAnchor li._01::after,.topAnchor li._01::before,
	.topAnchor li._03::after,.topAnchor li._03::before {
		-webkit-transform: rotate(8deg);
		-ms-transform: rotate(8deg);
		transform: rotate(8deg);
	}
	.topAnchor li._02::after,.topAnchor li._02::before,
	.topAnchor li._04::after,.topAnchor li._04::before {
		-webkit-transform: rotate(-8deg);
		-ms-transform: rotate(-8deg);
		transform: rotate(-8deg);
	}
	.pointArea h2 {
		background-size: auto 4rem;
		padding-top: 5rem;
		margin-bottom: 2rem;
		font-size: 2.8rem;
	}
	.pointArea {
		padding: 4rem	0
	}
	.pointTtl {
		padding: 0 
	}
	#point01 .pointTtl {
		padding: 0 0 0 7.6rem
	}
	.pointTtl h3 {
		font-size: 2.6rem;
		line-height: 1.4
	}
	.pointTtl .img {
		width: 6.5rem;
	}
	#point02 .pointTtl .img {
		width: 7rem;
	}
	#point03 .pointTtl .img {
		width: 7.5rem;
	}
	#point04 .pointTtl .img {
		width: 7.5rem;
	}
	.pointBox {
		padding: 1.5rem;
	}
	.pointBox li,#point04 li {
		font-size: 1.8rem;
		background-size: 2rem auto;
		padding: .5rem 0 .5rem 2.5rem;
	}
	.pointBox li:not(:first-of-type) {
    margin-top: .75rem;
	}
	.pointBox li.note {
		font-size: 1.6rem;
		line-height: 1.4
	}
	.pointBox li .note {
		font-size: 1.4rem;
	}
	.pointBox ul.d-flex li {
		width: auto;
		font-size: 2rem;
		padding-right: 1rem;
		margin-top: .75rem;
	}
	.pointBtmTxt {
		margin-top: 1rem;
		font-size: 2rem
	}
	.btn {
		margin-top: 3rem;
		font-size: 2rem;
	}
	.btnArea .btn {
		margin-top: 3rem;
	}
	.btn a {
		display: block;
		padding: 1rem 5rem;
		font-weight: 700;
		line-height: 1.4
	}
	.btn a::after {
    position: absolute;
		right: 2rem;
		top: 50%;
		transform: translateY(-50%);
    width: 2.3rem;
    height: 2.3rem;
    margin-left: 1.5rem;
	}
	.topStepWrap dt {
		text-align: center;
		padding: 1rem 1rem 1.5rem;
	}
	.stepNum {
		white-space: nowrap;
		
		font-size: 1.6rem;
	}
	.topStepWrap dt h3 {
		font-size: 2.3rem;
	}
	.stepNum big {
		font-size: 250%;
	}
	.topStepWrap dd {
		padding: 2rem 5%;
		font-size: 2rem
	}
	.topStepWrap dd li:not(:first-of-type) {
		margin-top: 1rem;
	}
	.productContWrap {
		padding: 2rem;
	}
	.spscroll {
/*
		overflow: auto;
		background: url("../img/spscroll.png") left top no-repeat;
		background-size: 100% auto;
		padding-top: 14vw;
*/
	}
	.productContWrap dl {
		font-size: 1.8rem;
	}
	.productContWrap dt, .productContWrap dd {
		width: 100%;
		padding: .8rem 1rem;
		border-bottom: 2px solid #808080;
	}
	.productContWrap dt {
		border-bottom: none;
		border-right: none;
	}
	.productContWrap .txt {
		font-size: 1.6rem;
		text-align: left;
	}
	.topInfo a {
		font-size: 2rem;
		padding: 1.2rem 4rem 1.5rem;
	}
	.topInfo a::after {
		right: 1.5rem;
	}
	
	/*privacy
	-------------------------------------------------------*/
	.txtPage {
		font-size: 1.6rem;
		padding: 0 1.5rem
	}
	.txtPage > * {
    margin-bottom: 1.5rem;
	}
	.txtPage h2 {
		margin: 0 -1.5rem 1.5rem;
		padding: .5rem 1.5rem .7rem;
	}
	.txtPage h2:not(:first-of-type) {
    margin-top: 3rem;
	}
	.policyInfo {
		margin-top: 4rem;
	}
	.policyInfo .ttl {
		padding-bottom: 1rem;
		margin-bottom: 1.5rem;
	}
	#policyPage section> h2  {
		font-size: 2.4rem;
		margin-bottom: 3rem;
	}
	
	
	/*faq
	-------------------------------------------------------*/
	.faqArea .ttl {
		font-size: 2rem;
	}
	.faqWrap dt, .faqWrap dd {
		padding: 1.2rem 3rem 1.2rem 7rem;
		font-size: 1.6rem
	}
	.faqWrap dl {
		margin-top: 1.5rem;
	}
	.faqWrap dt::before, .faqWrap dd::before {
		font-size: 3.3rem;
		width: 4.2rem;
    height: 4.2rem;
    line-height: 4.2rem;
		left: 1rem
	}
	.faqWrap dt::after {
		width: 1.8rem;
		right: 1rem
	}
	.faqWrap dd::before {
		top: 1.5rem
	}
	.faqWrap dd .appBtn a {
		font-size: 1.8rem;
	}
	.faqWrap dd .appBtn a::after {
		width: 1.8rem;
	}
	/*papers
	-------------------------------------------------------*/
	.papersTop h2 {
		font-size: 2.6rem;
		margin-bottom: 1rem;
	}
	.papersTop h2:not(:first-of-type) {
    margin-top: 6rem;
	}
	.papersWrap {
		width: 100%;
	}
	.papersWrap + .papersWrap {
		margin-top: 3rem;
	}
	.papersBox dt {
		font-size: 2.2rem;
		line-height: 1.2;
		white-space: nowrap
	}
	.papersBox dd {
		min-height: inherit;
		padding: 1.5rem 1rem;
	}
	.papersBox .ttl {
		font-size: 2rem;
		padding-bottom: 1rem;
	}
	.papersBox dd {
		font-size: 2rem;
	}
	.papersCont ul.ml50 {
		margin-left: 0;
	}
	.papersCont li {
		margin-top: .5rem;
	}
	.papersCont.jc-center ul {
		width: 100%;
	}
	.papersBox + p,.paperstxt {
		font-size: 2rem;
		margin-top: 1.5rem;
	}
	.papersBox + .note {
		width: 100%;
		font-size: 1.6rem;
	}
	.papersDetail h2 {
		font-size: 2rem;
		margin-bottom: 1.5rem;
	}
	.papersDetail h3 {
		font-size: 2.6rem;
	}
	.papersDetail h3::after {
		width: 2rem;
	}
	.papersContents {
		padding: 2rem
	}
	.papersDetail .papersBox dt {
		font-size: 2.4rem;
	}
	.papersDetail .papersBox dd {
		padding: 2rem 1rem;;
	}
	.papersDetail .papersBox .ttl {
		font-size: 2rem;
	}
	.papersDetail .papersBox dd {
		font-size: 1.8rem;
	}
	.papersDetail .papersCont ul {
		width: auto;
	}
	.papersBox .ttl:not(:first-of-type) {
    margin-top: 5rem;
	}
	.soufu {
		font-size: 1.6rem;
		margin-top: 5rem;
	}
	.soufu .txt {
		padding: 1.5rem 1rem;
		text-align: left;
	}
	.papersDetail .appBtnWrap {
    margin-top: 5rem;
	}
	

	/*company
	----------------------------------------------------------*/
	.companyWrap {
/*		width: 52rem*/
	}
	.companyWrap dt,.companyWrap dd {
		width: 100%;
		font-size: 1.6rem;
		padding: 1.5rem 1rem;
		border: none!important
	}
	#jouken h3 {
		font-size: 2rem
	}

	/*shoruiup
	---------------------------------------------------------*/
	#shoruiTop h2 {
		font-size: 2.4rem;
	}
	#shoruiTop .txt {
		font-size: 1.8rem;
		letter-spacing: normal;
	}
	.shoruiBtn li a {
		font-size: 2.2rem;
	}
	#goform h2 {
		font-size: 2rem;
	}

	/*appli
	---------------------------------------------------------*/
	.appliTtl {
		padding-left: 7.2rem;
	}
	.appliTtl h2 {
		font-size: 2.2rem
	}
	.appliTtl h2 big {
		font-size: 135%
	}
	.appliTtl .img {
		width: 5.5rem;
	}
	#appiTop h3 {
		font-size: 2.2rem
	}
	.appliArea h2 {
		font-size: 2.8rem;
		margin-bottom: 2rem;
	}
	.appliWrap {
		display: block;
	}
	.appliWrap dl {
		width: 100%;
	}
	.appliWrap dl + dl {
		margin-top: 4rem;
	}
	.appliWrap dt {
		font-size: 2.2rem;
		padding: 1rem;
	}
	.appliWrap .bnr img {
			max-height: 6rem;
	}
	.appliWrap dd small {
		font-size: 1.6rem
	}
	.appliArea .note {
		font-size: 1.6rem;
		margin-top: 2rem;
	}
	
	/*shiryou
	-----------------------------------------------------*/
	.shiryouArea h2 {
		font-size: 2rem;	
	}
	.shiryouWrap ul {
		font-size: 2rem;
	}
	.pdfBtn a {
		font-size: 2rem;
		line-height: 1.2;
		padding: 1.5rem 0;
	}
	.pdfBtn a::before {
		width: 3rem;
		height: 4rem;
		margin-right: 1rem;
	}
	.pdfBtn a::after {
		width: 2.5rem;
		height: 3rem;
		margin-left:1.2rem;
	}

	/*diagnosis
	-------------------------------------------------------*/
	#diagnosisTtl {
		padding-bottom: 2rem;
	}
	#diagnosisTtl h2 {
		font-size: 2.2rem
	}
	#diagnosisTtl h2 big {
		font-size: 130%;
		white-space: nowrap
	}
	#diagnosisForm h3 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.diagnosisBox {
		padding: 3rem 2rem
	}
	.diagForm {
		display: block;
	}
	.diagForm dt,.diagForm dd {
		width: 100%;
		font-size: 1.8rem;
		margin-bottom: 1rem;
	}
	.diagForm dt {
		padding: 0;
		margin-bottom: .5rem;
	}
	.diagForm select,
	.diagForm input[type="text"] {
		width: 60%;
		font-size: 1.6rem;
		padding: 1.2rem
	}
	.diagForm select {
		width: auto
	}
	.diagForm dd p {
		font-size: 1.3rem;
		margin-top: .5rem;
	}
	.diagForm dt.diagAbout {
		font-size: 2rem;
	}
	.diagBtn button {
		font-size: 2.6rem;
		padding-bottom: 2rem;
	}
	.diagBtn button::after {
		width: 2.4rem;
		height: 2.4rem;
		right: 2rem	
	}
	.diagnosisArea div.note {
		font-size: 1.6rem
	}
	#diagnosis01 .diagnosisBox h2 {
		margin-bottom: .5rem;
	}
	#diagnosis01 .diagnosisBox .txt {
		font-size: 2.6rem;
		text-indent: -.75em;
		padding-left: .75em;
	}
	#diagnosis02 .diagnosisBox {
		padding: 3rem 2rem;
	}
	#diagnosis02 .diagnosisBox h2 {
		font-size: 2.2rem;
		margin-bottom: 2rem;
	}
	#diagnosis02 .diagnosisBox .txt {
		font-size: 1.8rem;
		margin-bottom: 3rem;
		text-align: left;
	}

	/*lineup
	-----------------------------------------------------*/
	#lnTtl {
		padding: 2rem 0;
	}
	#lnTtl h2 {
		font-size: 2.8rem;
	}
	#lnTtl h2 span {
		background-size: auto 2rem;
		padding: 0 6.5rem
	}
	#lnAnc {
		padding: 1.5rem 0
	}
	#lnAnc .topAnchor._ln li {
		width: 48%;
		margin-top: 0;
		transform: none;
	}
	#lnAnc .topAnchor._ln li:nth-of-type(odd) {
		-webkit-transform: rotate(-8deg);
    -ms-transform: rotate(-8deg);
    transform: rotate(-8deg);
	}
	#lnAnc .topAnchor._ln li:nth-of-type(even) {
		-webkit-transform: rotate(8deg);
    -ms-transform: rotate(8deg);
    transform: rotate(8deg);
	}
	#lnAnc .chara01 {
		top: 21%;
		right: -.75rem;
		width: 7.5rem;
	}
	#lnAnc .chara02 {
		width: 7rem;
		left: -.75rem;
	}
	#lnAnc .note {
		font-size: 1.6rem;
		margin-top: 2rem;
	}
	.lnArea {
		padding: 3rem 0;
	}
	.ln01Ttl {
		display: inline-block;
		padding-right: 8rem;
		padding-top: 2rem;
	}
	.ln01Ttl h2 {
		font-size: 2.8rem;
		margin-bottom: 0;
	}
	.ln01Ttl .chara {
		width: 5.5rem;
	}
	.lnBox {
		padding: 1rem;
		margin-top: 2rem;
	}
	.ln01Wrap h3 {
		font-size: 2.4rem;
	}
	.ln01Wrap .txt {
		font-size: 2rem;
	}
	.ln01Wrap li {
		width: 50%;
		font-size: 2.4rem;
		background-size: auto 1.8rem;
		padding-left: 2.8rem;
		margin-top: 2rem;
	}
	.ln01Wrap li small {
		font-size: 1.6rem;
	}
	.ln01Txt .txt {
		font-size: 2.2rem;
	}
	.ln01Txt .note {
		font-size: 1.6rem;
		margin-top: 2rem;
	}
	.secTtl {
		font-size: 2.6rem;
		padding: 0 5.5rem .5rem;
		background-size: 5rem auto;
		white-space: nowrap;
		margin-bottom: 1rem;
	}
	.lnTtl .chara {
		width: 6rem;
		bottom: 3.2rem	
	}
	.lnTtl + .note {
		font-size: 1.6rem;
	}
	.lnTtl img {
		max-height: 7.6rem
	}
	.ln02Wrap h4 {
		font-size: 2.2rem;
		white-space: nowrap;
		margin-bottom: 1.5rem;
	}
	.markTxt {
		font-size: 2rem;
		padding: 0 0 2.5rem;
		background-image: none,url("../img/lineup/mark01.svg");
		background-size: auto 2rem;
		background-position: top center,bottom center;
	}
	.ln02Wrap li {
		width: 49%;
		font-size: 1.8rem;
		margin-top: 2rem;
	}
	.ln02Wrap li figure {
		border-radius: 1rem;
	}
	.ln02Wrap li small {
		font-size: 1.6rem;
	}
	.ln03Wrap h4 {
		font-size: 2rem;
	}
	.ln03Wrap .txt {
		font-size: 2.2rem;
	}
	.ln03Wrap .chara {
		width: 6rem;
		bottom: -3.5rem;
	}
	.ln04Box {
		padding: 1rem 1.5rem 2rem;
	}
	.ln04Box02::before, .ln04Box02::after, .ln04Box::before, .ln04Box::after {
		width: 4rem;
		height: 4rem;
	}
	.ln04Wrap h4 {
		font-size: 2.2rem;
	}
	.ln04Cont dl {
		margin-top: 1.5rem;
		padding-top: 1.5rem!important;
	}
	.ln04Cont dt {
		margin-bottom: 1rem;
		background-size: auto 1.3rem;
		background-position: right bottom 2rem;
		padding-right: 2.8rem;
	}
	.ln04Cont dd {
	}
	.ln04Cont dd > small {
	}
	.ln04Cont .price {
		font-size: 2.6rem;
		text-align: right;
	}
	.ln04Cont .price big {
		font-size: 150%;
	}
	.ln04Cont h5 {
		font-size: 1.4rem;
		white-space: nowrap;
	}
	#ln04 .lnTtl .chara {
		width: 5.5rem;
		left: -.5rem
	}
	.ln04Txt .txt {
		font-size: 1.8rem;
		text-align: left;
	}
	.ln04Txt .note {
		font-size: 1.6rem;
		margin-top: .5rem;
	}
	#ln05 h3 {
		font-size: 4rem;
		white-space: nowrap
	}
	.ln05Wrap .txt {
		font-size: 2.1rem;
		text-align: center;
	}
	.ln05Wrap small {
		font-size: 2rem;
		text-align: center;
	}
	.ln05Wrap .chara {
		width: 6.2rem;
		top: 25%;
	}
	#ln06 h2 {
		font-size: 3rem;
	}
	.ln06Wrap .txt {
		font-size: 2.2rem;
		white-space: nowrap;
	}
	.ln06Ttl {
		font-size: 2.6rem;
		line-height: 1.4;
	}
	.ln06Ttl .chara {
		width: 6rem;
	}
	.ln06Wrap .markTxt {
		margin-top: 1rem;
		font-size: 2.2rem;
		padding-left: .5rem;
		line-height: 1.5;
	}
	
	
	
	
	
	
	
	
	
	
	/*form
	-----------------------------------------------------*/
	.formTopArea {
		font-size: 1.6rem
	}
	.formTopTxt {
		margin-bottom: 2rem;
	}
	.formTopTxt h2 {
		font-size: 1.8rem;
		margin-bottom: 1.5rem;
		padding-bottom: .5rem;
	}
	.formTopArea .mb40 {
		margin-bottom: 2rem;
	}
	.formTopArea h3 {
		font-size: 100%;
		padding-right: 0;
	}
	.pdfdl {
		white-space: nowrap;
		position: static;
		font-size: 1.4rem;
		width: 18.5rem;
		margin: .5rem 0 1rem auto;
	}
	.policyBox {
		font-size: 1.4rem;
		padding: 1.5rem;
		height: 15rem;
	}
	.formSelect {
		display: block;
		font-size: 1.8rem;
		margin-top: 5rem;
	}
	.formSelect .box01 {
		width: 100%;
		margin-top: 5rem;
		background-size: auto 2.6rem;
		padding-bottom: 4.5rem;
	}
	.formSelect .box02 {
		width: 100%;
		font-size: 1.8rem;
	}
	.formSelect dt a {
		font-size: 2.4rem;
		height: auto;
		padding: 1.5rem 0;
		min-height: 9.5rem;
	}
	.formSelect .box02 dt a {
		font-size: 2.2rem;
	}
	.formSelect .box02 dt big {
    font-size: 115%;
	}
	.formSelect .box02 dt big img {
		width: 1.6rem;
	}
	.loginArea {
		margin-top: 5rem;
		font-size: 1.6rem;
	}
	.loginArea > dt {
		padding: 0 1.5rem 1rem	
	}
	.loginArea > dd {
		padding: 0 1.5rem;
	}
	.loginFormBox {
		display: block;
	}
	.loginFormBox dt,.loginFormBox dd {
		width: 100%;
		padding: 0;
	}
	.loginFormBox dt {
		padding-top: 10px;
	}
	.loginForm button {
		font-size: 2rem;
	}
	.passLink {
		font-size: 1.6rem;
	}
	.formArea {
		padding: 4rem 5%;
	}
	.formArea {
		font-size: 1.6rem;
	}
	.formWrap h2 {
		font-size: 120%;
	}
	.formWrap h2:not(:first-of-type) {
    margin-top: 5rem;
	}
	.formWrap dt {
		font-size: 110%;
		margin-top: 3rem;
	}
	.req dt::after {
		font-size: 1.6rem
	}
	.formWrap input[type="text"], .formWrap input[type="tel"], .formWrap input[type="email"], .formWrap select, .formWrap textarea {
		font-size: 1.6rem;
		padding: 1.5rem 1rem;
	}
	.formWrap .size-m {
		max-width: 80%;
	}
	.formWrap .size-s {
		max-width: 50%;
	}
	.formWrap input[name="zip"] {
		max-width: 70%;
	}
	.formWrap select {
		-moz-appearance: none;
-webkit-appearance: none;
appearance: none;
		display: inline-block;
		min-height: 5rem;
	}
	.form-birth select {
		width: 6rem
	}
	.form-birth select:first-of-type {
    width: 20rem;
	}
	.form-birth select:first-of-type + span {
		width: 5rem;
	}
	.zipBtn {
		width: 100%;
		margin: 1rem 0 0;
	}
	.formWrap .note {
		font-size: 90%;
	}
	.radioWrap {
		padding: 5px!important;
	}
	.radioWrap label {
		width: 49%!important;
		margin: 5px .5%!important;
		font-size: 1.6rem;
		display: flex;
		justify-content: center;
		align-items: center;
		padding: 1rem .5rem;
		min-height: 5.7rem;
	}
	.radioWrap label small {
		font-size: 80%;
	}
	.radioWrap.sp-100 label {
		width: 100%!important;
	}
	.confTxt {
		margin-top: 4rem;
		font-size: 1.6rem;
		padding: 2rem;
	}
	.formWrap .submitBtn {
		width: 30rem;
		font-size: 2.2rem;
	}
	.formTxt {
		font-size: 2.2rem;
	}
	.kyojyu2 {
		padding-top: 6rem!important;
	}
	.seal {
    margin: 1rem auto 0;
    max-width: 13rem;
	}
	/*forgot
	---------------------------------------------------------*/
	.forgotWrap h2 {
		font-size: 1.8rem;
		text-align: left;
		padding: 2rem;
	}
	.forgotForm {
		padding: 2rem;
	}
	.forgotForm .box {
		display: block;
	}
	.forgotForm .box dt {
		display: block;
		font-size: 2rem;
		margin: 0 0 .5rem
	}
	.forgotForm .box input {
		font-size: 1.6rem;
	}
	.forgotForm .txt {
		font-size: 1.6rem;
		text-align: left;
		margin-bottom: -2rem;
	}
	/*password*/
	.pass-birth select {
		max-width: 23rem;
		font-size: 2rem;
		margin-bottom: 1rem;
	}
	.pass-birth span {
		font-size: 2rem;
	}
	#password_reset .errorTxt {
		font-size: 2rem;
	}
	
	
	
	/*アプリ
	------------------------------------------------------*/
	body.appView {
		padding-bottom: 14.7rem;
	}
	body.appView.btnNone,
	body#apply.btnNone {
		padding-bottom: 4rem;
	}
	body#apply #header,
	body#apply #footer {
/*		display: none!important*/
	}
	body.appView .hBtn {
		bottom: 4rem;
	}
	.to-app {
		position: fixed;
		bottom: 0;
		right: 0;
		left: 0;
		width: 100%;
		z-index: 9500;
	}
	.to-app a {
		background: #d31833;
		font-size: 1.6rem;
		font-weight: 800;
		color: #fff;
		height: 4rem;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: row-reverse;
	}
	.to-app a::after {
		content: "";
		display: block;
		margin-right: .5rem;
		margin-bottom: -0.3rem;
		background: url("../img/arrow.svg") center center no-repeat;
		background-size: 100% auto;
		width: 1.5rem;
		height: 1.5rem;
		-webkit-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		transform: rotate(180deg);
	}

	/*warning
	---------------------------------------------------------*/
	.warningWrap {
		padding: 3rem 2rem;
		font-size: 100%;
	}
	.warningWrap h2 {
		font-size: 2rem;
		margin-bottom: 2rem;
	}
	.warningLink a {
		font-size: 1.4rem;
		line-height: 1.3;
	}
	.warningLink a::before {
		font-size: 1.4rem;
		margin-right: 1rem;
		line-height: 1.8rem;
    width: 1.8rem;
    height: 1.8rem;
    min-width: 1.8rem;
    min-height: 1.8rem;
	}
	.warningLink a::after {
		margin-left: 1rem;
		border-width: .5rem 0px .5rem .8rem;
	}
	.newsArea .warningWrap {
		font-size: 115%;
	}
	.newsTbl {
		font-size: 1.4rem;
		background: url("../img/spscroll.png") top center no-repeat;
		background-size: 100% auto;
		padding-top: 5rem;
		overflow: auto;
	}
	.newsTbl table {
		width: 60rem;
	}
	.newsArea h3 {
		font-size: 2rem;
	}

	/*column
	---------------------------------------------------------*/
	.pankz {
		font-size: 1.2rem;
	}
	.columnPageTtlArea {
		overflow: hidden;
		background-position: left 22%  center;
	}
	.columnPageTtl .fo-corporate {
		font-size: 2.2rem;
		line-height: 1.4;
	}
	.columnPage-index .columnPageTtl .fo-corporate {
		font-size: 3.2rem;
	}
	.columnPageTtl figure img {
    max-height: 7rem;
	}
	.columnPage-index figure img {
    max-height: 8.2rem;
	}
	.columnPageTtl .fo-corporate small {
		font-size: 85%;
	}
	.columnPageTtl {
		height: 10rem;
		padding: 1rem 0;
	}
	.columnPageTtl figure._01 {
		left: -4.5%;
	}
	.columnPageTtl figure._02 {
		right: -4.5%;
	}
	.columnPage-imasugu .columnPageTtl figure._02 {
		right: -9.5%;
	}
	.postTtl {
		font-size: 2rem;
	}
	.postWrap {
		gap: 1.5rem
	}
	.postBox {
		padding: 1rem;
	}
	.tag {
		font-size: 1.2rem;
		white-space: nowrap;
		padding: .5rem 1rem;
	}
	.postBox h3 {
		font-size: 1.4rem;
		margin-top: .7rem;
	}
	.pager {
		margin-top: 4rem;
	}
	.categoryWrap dt h2 {
		font-size: 2.4rem;
	}
	.categoryWrap ul {
		display: block;
	}
	.categoryWrap li + li {
		margin-top: 1rem;
	}
	.categoryWrap li a {
		font-size: 2rem;
		padding-bottom: 0.7rem;
	}
	.categoryWrap {
		border-radius: 1rem;
	}
	.categoryWrap li a::after {
		width: 1.6rem;
	}
	/*column-detail*/
	.columnDetail .columnPageTtl .fo-corporate {
		font-size: 2.8rem;
	}
	.columnDetail .columnPageTtl {
		padding: 0;
	}
	.columHeader {
		flex-direction: column;
		margin-bottom: 3rem;
	}
	.columHeader figure {
		width: 100%;
	}
	.columHeaderBox h1 {
		font-size: 1.8rem;
	}
	.columHeaderBox .d-flex {
		margin-bottom: 1rem;
	}
	.columnImdex {
		border-radius: 1rem;
		padding: 2rem;
	}
	.columnImdex h2 {
		font-size: 2.4rem;
	}
	.columnImdex li a {
		font-size: 1.6rem;
	}
	.columnImdex li a::before {
		min-width: 1.6rem;
	}
	.colmunContents {
		font-size: 1.4rem;
	}
	.colmunContents h1, .colmunContents h2 {
		font-size: 130%;
	}
	.authorArea {
		font-size: 1.4rem;
	}
	.authorArea li {
		font-size: 1.4rem;
	}
	.pageSet {
		margin-top: 4rem;
		font-size: 1.6rem;
		white-space: nowrap;
	}
	.postBack a {
		padding: .75rem 2rem;
		font-size: 1.4rem;
	}
	














}



/*--メンテナンス//-----------------------------------------*/
body.staging .appBtn a,
body.staging .navApp a {
	background-color: #999!important;
	pointer-events: none!important;
	color: #999!important
}
body.staging .appBtn a::after,
body.staging .navApp a::after {
	content: "メンテナンス中";
	color: #fff;
	background: none;
	border: none;
	width: 100% !important;
	height: 100% !important;
	right: auto !important;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	justify-content: center;
	padding-bottom: .5rem;
	align-items: center;
}
body.staging .appBtnWrap,
body.staging .fNavTop li:first-of-type {
	display: none !important;
}

/*--//メンテナンス-----------------------------------------*/
