@charset "utf-8";

.modePC .ls{
	letter-spacing: -0.2px;
}

/* mainVisual
==========================================*/
.modePC .mainVisual {
	margin-bottom: 80px;
	justify-content: flex-start;
}
.modePC .mainVisual h1 {
	font-weight: bold;
	letter-spacing: 6px;
}
.modePC .mainVisual h1 p {
	font-size: 16px !important;
}
.modeSP .mainVisual h1 p {
	font-size: 20px !important;
}
.modeSP .mainVisual h1 svg {
	height: auto;
}
#service-counter.modePC .mainVisual img {
	object-position: 45% 50%;
	font-family: 'object-fit: cover; object-position: 45% 50%;';
}
#service-counter.modePC .mainVisual h1 svg {
	width: 346px;
	height: 47px;
}
#service-counter.modeSP .mainVisual h1 svg {
	width: 436px;
	height: 61px;
}

#service-hoken.modePC .mainVisual h1 svg {
	width: 346px;
	height: 47px;
}
#service-hoken.modeSP .mainVisual h1 svg {
	width: 436px;
	height: 61px;
}

#service-enmusubi.modePC .mainVisual h1 svg {
	width: 346px;
	height: 47px;
}
#service-enmusubi.modeSP .mainVisual h1 svg {
	width: 436px;
	height: 61px;
}

.mainVisual .t01 {
	position: absolute;
}
.modePC .mainVisual .t01 {
	width: 650px;
	height: 420px;
	text-align: center;
	left: calc( ( 100vw - 80px ) / 2 - 315px );
	top: calc( 50vh - 210px - 100px );
}
.modeSP .mainVisual .t01 {
	top: calc( 50vh - 90px - 320px );
}
.modeSP .mainVisual .w01 {
	width: 600px;
	box-sizing: border-box;
	border-top-width: 6px;
	border-top-style: solid;
	margin-left: 20px;
}
.modePC .mainVisual .w01 {
	border-bottom-width: 8px;
	border-bottom-style: solid;
}
#service-counter.modeSP .mainVisual .t01 {
	height: 640px;
}
#service-hoken.modeSP .mainVisual .t01 {
	height: 564px;
}
#service-enmusubi.modeSP .mainVisual .t01 {
	height: 580px;
}
#service-counter .mainVisual .t01 { border-color: rgba(242, 150, 203, 9); }
#service-hoken .mainVisual .t01 { border-color: rgba(195, 225, 164, .9); }
#service-enmusubi .mainVisual .t01 { border-color: rgba(164, 197, 228, .9); }
.modePC .mainVisual .t01 p:nth-of-type(1) {
	font-size: 22px;
	line-height: 1.5;
	margin: 20px 0;
}
.modeSP .mainVisual .t01 p:nth-of-type(1) {
	font-size: 28px !important;
	line-height: 1.5;
	font-weight: bold;
	text-align: center;
	margin: 0 0 25px 0;
}
.modeSP .mainVisual .t01 >  p:nth-of-type(1) {
	margin-top: 25px;
}
.modePC .mainVisual .t01 p:nth-of-type(2) {
	font-size: 14px;
	margin-bottom: 20px;
}
.modeSP .mainVisual .t01 p:nth-of-type(2) {
	font-size: 24px;
	margin: 0 40px;
}
/* box01
==========================================*/
.box01 {
	margin: 0 auto;
}
.modePC .box01 {
	width: 760px;
}
.modeSP .box01 {
	width: 520px;
}
#service-counter .box01 div svg { fill: #e4007f; }
#service-hoken .box01 div svg { fill: #7bbd34; }
#service-enmusubi .box01 div svg { fill: #4c8ac9; }

.modePC .box01 div svg {
	width: 22px;
	height: 20px;
	margin: 0 7px;
}
.modeSP .box01 div svg {
	width: 33px;
	height: 28px;
	margin: 0 10px;
}
.box01 h2 {
	text-align: center;
}
.modePC .box01 h2 .en {
	font-size: 40px;
	line-height: 1.5;
	margin-top: 15px;
}
.modeSP .box01 h2 .en {
	font-size: 54px;
	margin: 10px 0;
	line-height: 1.5;
	margin: 15px 0 0;
}
.modePC .box01 h2 .jp {
	font-size: 20px;
}
.modeSP .box01 h2 .jp {
	font-size: 24px;
}
.box01 dl {
	display: flex;
}
.modePC .box01 dl {
	justify-content: space-between;
	align-items: center;
	flex-direction: row;
	flex-wrap: wrap;
	margin: 40px 0 100px;
}
.modeSP .box01 dl {
	justify-content: center;
	align-items: center;
	flex-direction: column;
	margin: 70px 0 120px;
}
.box01 dt {
	border-radius: 50%;
	background-color: #333;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
}
.modePC .box01 dt {
	width: 86px;
	height: 86px;
	font-size: 18px;
	margin-bottom: 20px;
}
.modeSP .box01 dt {
	width: 109px;
	height: 109px;
	font-size: 26px;
	margin-bottom: 20px;
}
.modePC .box01 dd {
	width: 634px;
	font-size: 16px;
	height: 86px;
	display: flex;
	justify-content: center;
	flex-direction: column;
	margin-bottom: 20px;
}
.modeSP .box01 dd {
	font-size: 24px;
	margin-bottom: 50px;
}

/* box02
==========================================*/
.modePC .box02.under { margin-top: 120px; }
.modeSP .box02.under { margin-top: 120px; }

.box02 .container {
	background-color: #f2f2f2;
	box-sizing: border-box;
}
.modePC .box02 .container {
	padding: 80px 88px;
}
.modeSP .box02 .container {
	padding: 60px;
}
.modePC .box02 .an-lr,
.modePC .box02 .img1 {
	width: 512px;
	height: 313px;
}
.modePC .box02 .an-lr img,
.modePC .box02 .img1 img {
	width: 512px;
	height: 313px;
}

.modeSP .box02 .an-lr,
.modeSP .box02 .an-lr img {
	width: 520px;
	height: 313px;
}
.modePC .box02 .img2 {
	width: auto;
	height: 40px;
}
.modeSP .box02 .img2 {
	width: auto;
	height: 43px;
	display: block;
	margin-top: 30px;
}
.modePC .box02 .b1 {
	display: flex;
	justify-content: flex-start;
	position: relative;
}
.modePC .box02 .b2 {
	position: absolute;
	width: 390px;
	left: 580px;
}
.modePC .box02 .b2 p {
	font-size: 16px;
}
.modePC .box02 .b2 p:nth-of-type(1) {
	margin: 25px 0 10px;
	font-weight: bold;
}
.modeSP .box02 .b2 p:nth-of-type(1) {
	font-weight: bold;
	font-size: 28px;
	line-height: 1.5;
	margin: 20px 0 20px;
}
.modeSP .box02 .b2 p:nth-of-type(2) {
	font-size: 24px;
}
.modePC .box02 .btnA {
	margin: 40px auto 0;
	font-size: 16px;
}
.modePC .box02 .btnA {
	width: 415px;
	height: 80px;
}
.modeSP .box02 .btnA {
	width: 390px;
	height: 66px;
	margin-top: 40px;
	margin-left: 66px;
}
.modePC .box02 .container .btnA svg {
	width: 14px;
	height: 12px;
	margin-left: 20px;
	margin-top: 2px;
}
.modeSP .box02 .container .btnA svg {
	width: 20px;
	height: 17px;
	margin-left: 20px;
	margin-top: 2px;
}
/* box03
==========================================*/
.modePC .box03 {
	margin: 80px 0 120px;
}
.modeSP .box03 {
	margin: 120px 0;
}
.box03 h2 {
	text-align: center;
	line-height: 1;
}
.modePC .box03 h2 .en {
	font-size: 40px;
}
.modeSP .box03 h2 .en {
	font-size: 50px;
}
.modePC .box03 h2 .jp {
	font-size: 20px;
	margin-top: 10px;
}
.modePC .box03 .u1 {
	width: 1024px;
	margin: 40px auto 0;
}
.modeSP .box03 .u1 {
	margin: 70px 0 0;
	padding: 0 20px;
}
.modePC .box03 .u1 li {
	width: 450px;
}
.modePC .box03 .u1 li img {
	width: 450px;
	height: 310px;
}
.modeSP .box03 .u1 li {
	width: 290px;
	height: 394px;
	position: relative;
}
.modeSP .box03 .u1 li:nth-child(2n+1) {
	margin-right: 10px;
}
.modeSP .box03 .u1 li:nth-child(2n) {
	margin-left: 10px;
}


.modeSP .box03 .u1 li img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
#service-hoken.modeSP .box03 .u1 li img {
	object-position: -260px 50%;
	font-family: 'object-fit: cover; object-position: -260px 50%;';
}
.modePC .box03 .u1 li h3 {
	margin-top: 10px;
	line-height: 1.8;
}
.modeSP .box03 .u1 li h3 {
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 138px;
	background-color: rgba(0,0,0,.52);
	font-size: 28px;
	color: #fff;
	padding: 0 16px;
	box-sizing: border-box;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: column;
}
.modePC .box03 .u1 li h3 p {
	margin-top: 8px;
	margin-bottom: 15px;
	font-size: 20px;
	font-weight: 500;
}
.modeSP .box03 .u1 li h3 p {
	margin-top: 12px;
	font-size: 20px;
	line-height: 36px;
}
.modeSP .box03 .u1 li h3 p.ls {
	letter-spacing: -2px;
}
.modePC .box03 .u1 li > p {
	font-size: 14px;
	margin-top: 10px;
}
.modeSP .box03 .u1 li > p {
	display: none;
}
.modePC .box03 .u1 li .btnA {
	margin: 20px auto 0;
}
.modePC .box03 .u1 li .btnA svg {
	margin: 0 0 0 10px;
}

.modePC .box03 .u1 li  p { font-size: 14px; }
/* box04
==========================================*/
.modeSP .box04 {
	margin-bottom: 70px;
}
.box04 .container {
	background-color: #f2f2f2;
}
.modePC .box04 .container {
	padding: 80px 88px;
	box-sizing: border-box;
}
.box04 img {
	object-fit: cover;
	font-family: 'object-fit: cover;';
}
.modePC .box04 li {
	position: relative;
	padding-top: 50px;
}
.modePC .box04 li:nth-of-type(odd) {
	padding-left: 465px;
}
.modePC .box04 li:nth-of-type(even) {
	padding-left: 90px;
}
.modePC .box04 li + li {
	margin-top: 80px;
}
.modeSP .box04 li + li {
	margin-top: 90px;
}
.modePC .box04 li .an-lr,
.modePC .box04 li img {
	width: 512px;
	height: 330px;
	position: absolute;
	top: 0;
	z-index: 1;
}
.modePC .box04 li:nth-of-type(odd) .an-lr,
.modePC .box04 li:nth-of-type(odd) img {
	left: 0;
}
.modePC .box04 li:nth-of-type(even) .an-lr,
.modePC .box04 li:nth-of-type(even) .an-move {
	left: 511px;
}
.modeSP .box04 .an-lr,
.modeSP .box04 img {
	width: 640px;
	height: 430px;
}
.box04 li .t01 {
	position: relative;
	z-index: 2;
	box-sizing: border-box;
}
.modePC .box04 li .t01 {
	width: 470px;
	padding-top: 45px;
	padding-bottom: 36px;
	border-bottom-width: 4px;
	border-bottom-style: solid;
}
.modeSP .box04 li .t01 {
	width: 600px;
	margin: -28px auto 0;
	padding: 55px 40px 50px 40px;
	border-top-width: 6px;
	border-top-style: solid;
}
.modePC .box04 li:nth-of-type(odd) .t01 {
	padding-left: 60px;
	padding-right: 33px;
}
.modePC .box04 li:nth-of-type(even) .t01 {
	padding-left: 40px;
	padding-right: 55px
}

.box04 li.service-counter .t01 > svg { fill: #000; }
.box04 li.service-hoken .t01 > svg { fill: #000; }
.box04 li.service-enmusubi .t01 > svg { fill: #000; }

.modePC .box04 li:nth-of-type(1) .t01 > svg {
	width: 221px;
	height: 34px;
}
.modePC .box04 li:nth-of-type(2) .t01 > svg {
	width: 170px;
	height: 35px;
}
.modeSP .box04 li:nth-of-type(1) .t01 > svg {
	width: auto;
	height: 52px;
	text-align: left;
}
.modeSP .box04 li:nth-of-type(2) .t01 > svg {
	width: auto;
	height: 55px;
	text-align: left;
}
.modePC .box04 li .t01 p {
	font-size: 14px;
	margin-top: 10px;
}
.modeSP .box04 li .t01 p {
	margin-top: 20px;
}
.modePC .box04 li .t01 p:nth-of-type(1) {
	font-size: 17px;
	font-weight: bold;
}
.modePC .box04 li .t01 p:nth-of-type(2) {
	line-height: 1.8;
}
.modeSP .box04 li .t01 p:nth-of-type(1) {
	font-size: 28px;
	font-weight: bold;
	line-height: 1.5;
	/*white-space: nowrap;*/
}
.modeSP .box04 li .t01 p:nth-of-type(2) {
	font-size: 24px;
}
.box04 .btnA {
	margin: 0 auto;
}
.modePC .box04 .btnA {
	font-size: 13px;
	margin-top: 20px;
}
.modeSP .box04 .btnA {
	font-size: 22px;
	font-weight: 500;
	margin-top: 30px;
}
.modePC .box04 .btnA svg {
	margin: 3px 0 0 8px;
}
.modeSP .box04 .btnA svg {
	margin: 3px 0 0 15px;
}
