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

　  Main Visual

--------------------------------------------------*/
#mv {padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#mv.skyblue {padding-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);background: #E6F1F9;}
#mv .container {
	position: relative;
	z-index: 3;
	margin-bottom: 20px;
	padding-top: clamp(100px, calc(100px + 100 * ((100vw - 375px) / 1545)), 200px);
	padding-bottom: clamp(60px, calc(60px + 100 * ((100vw - 375px) / 1545)), 160px);
	overflow: hidden;
	border-radius: 10px;
}
#mv .container .wrap h1 {
	margin-bottom: 15px;
	color: #fff;
	font-size: clamp(41px, calc(41px + 40 * ((100vw - 375px) / 1545)), 81px);
	line-height: 1.2;
}
#mv .container .wrap p {color: #fff;font-weight: 500;font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);}
#mv .container .image-crossfader {position: absolute;top: 0;left: 0;z-index: -1;width: 100%;height: 100%;overflow: hidden;}
#mv .container .image-crossfader-inner {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
	opacity: 0;
	transform: scale(1.2);
	transition:
	opacity 1.5s cubic-bezier(0.455, 0.03, 0.515, 0.955),
	transform 3.5s cubic-bezier(0.455, 0.03, 0.515, 0.955);
	background: #E6F1F9 no-repeat center / cover;
}
#mv.corporate .container .image-crossfader-inner {background-image: url(../img/page/corporate/mv.webp);}
#mv.company .container .image-crossfader-inner {background-image: url(../img/page/company/mv.webp);}
#mv.solution .container .image-crossfader-inner {background-image: url(../img/page/business/solution/mv.webp);}
#mv.application .container .image-crossfader-inner {background-image: url(../img/page/business/application/mv.webp);}
#mv.dx .container .image-crossfader-inner {background-image: url(../img/page/business/dx/mv.webp);}
#mv.service .container .image-crossfader-inner {background-image: url(../img/page/service/mv.webp);}
#mv.news .container .image-crossfader-inner {background-image: url(../img/page/news/mv.webp);}
#mv.contact .container .image-crossfader-inner {background-image: url(../img/page/contact/mv.webp);}
#mv.privacy_policy .container .image-crossfader-inner {background-image: url(../img/page/privacy/mv.webp);}
#mv .container .image-crossfader-inner.is-visible {z-index: 1;opacity: 1;transform: scale(1.02);}
@media only screen and ( max-width : 767px ) {
	#mv .container {padding: 30% 0 10%;}
	#mv .container .wrap h1 {font-size: 32px;}
}
/*-------------------------------------------------

　   COMMON

--------------------------------------------------*/
.main_block {
	position: relative;
	z-index: 1;
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #E6F1F9;
}
.main_block::before {
	content: '';
	position: absolute;
	top: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	right: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	left: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	z-index: -1;
	border-radius: 20px;
	background: #fff;
}
/* title */
.title_common h2 {
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
/* パンくずリスト */
#breadcrumb ul {display: flex;flex-wrap: wrap;align-items: center;gap: 5px 15px;}
#breadcrumb ul li {display: inline;position: relative;color: #9A9A9A;line-height: 1;}
#breadcrumb ul li a {padding-right: 15px;color: #9A9A9A;}
#breadcrumb ul li a::after {
	content: '';
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%) rotate(45deg);
	width: .3em;
	height: .3em;
	border: 1px solid currentColor;
	border-left: 0;
	border-bottom: 0;
	color: #9A9A9A;
}
#breadcrumb ul li a:hover {text-decoration: underline;}
/* pager */
.wp-pagenavi {
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-end;
	align-items: center;
	margin-top: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);
}
.wp-pagenavi a,
.wp-pagenavi span {
	display: flex;
    justify-content: center;
	align-items: center;
	width: 45px;
	height: 45px;
	margin: 3px;
	padding-top: 5px !important;
	border: 1px solid #707070 !important;
	border-radius: 50%;
	background: #fff;
	color: #333;
	font-weight: bold;
	text-align: center;
}
.wp-pagenavi span.pages {width: auto;padding: 0 20px;}
.wp-pagenavi a {color: #333;border-color: #707070 !important;}
.wp-pagenavi a.first {padding-right: 14px;}
.wp-pagenavi a.last {padding-left: 14px;}
.wp-pagenavi span {border-color: #3175BB !important;background: #3175BB;color: #fff;}
.wp-pagenavi span.extend {border: 1px solid #3175BB;background: #fff;}
@media only screen and ( max-width : 500px ) {
}
/*-------------------------------------------------

	Corporate corporate and Message │ 企業理念・ごあいさつ

--------------------------------------------------*/
#corporate .container {margin-bottom: clamp(100px, calc(100px + 50 * ((100vw - 375px) / 1545)), 150px);}
#corporate .container:last-child {margin-bottom: 0;}
#corporate .container .wrap {width: 75%;}
#corporate .container .wrap p.en {margin-bottom: 30px;}
#corporate .container .wrap p.en span {
	padding: 10px 20px;
	border-radius: 25px;
	background: #F7F7F7;
	color: #3175BB;
	font-weight: bold;
}
#corporate .container .wrap h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(22px, calc(22px + 14 * ((100vw - 375px) / 1545)), 36px);
}
#corporate .container .wrap h3 span {
	padding: 5px 5px 5px 20px;
	background: #3175BB;
	color: #fff;
}
#corporate .container .wrap .content {margin-bottom: clamp(40px, calc(40px + 10 * ((100vw - 375px) / 1545)), 50px);}
#corporate .container .wrap .content p {margin-bottom: 20px;}
#corporate .container .wrap .content p:last-child {margin-bottom: 0;}
#corporate .container .wrap ul li {width: 48%;margin-bottom: 30px;}
#corporate .container .wrap ul li h4 {
	position: relative;
	margin-bottom: 10px;
	padding-left: 30px;
	font-weight: 500;
	font-size: clamp(18px, calc(18px + 10 * ((100vw - 375px) / 1545)), 28px);
}
#corporate .container .wrap ul li h4::before,
#corporate .container .wrap ul li h4::after {content: '';position: absolute;top: 0;left: 0;width: 16px;height: 16px;}
#corporate .container .wrap ul li h4::before {background: #D7E9F8;}
#corporate .container .wrap ul li h4::after {top: 16px;background: #547699;}
#corporate .container .wrap p.txtR {text-align: right;}
@media only screen and ( max-width : 767px ) {
	#corporate .container .wrap {width: 100%;}
}
/*-------------------------------------------------

	Company Overview │ 会社概要

--------------------------------------------------*/
#company {padding-bottom: 0;}
#company .block:not(:last-child) {margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);}
#company .block .inner {max-width: 1270px;}
#company .block:nth-child(1) table tr {
	display: block;
	padding: 20px 20px 20px 30px;
	border-bottom: 1px solid #949494;
}
#company .block:nth-child(1) table tr:first-child {padding-top: 0;}
#company .block:nth-child(1) table tr th {width: clamp(200px, calc(200px + 300 * ((100vw - 375px) / 1545)), 500px);font-weight: bold;}
#company .block:nth-child(1) table tr td .map_container:not(:last-child) {margin-bottom: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);}
#company .block:nth-child(1) table tr td .map_container p {margin-bottom: 20px;}
#company .block:nth-child(1) table tr td .map_container .map_wrap {
	max-width: 614px;
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#company .block:nth-child(1) table tr td .map_container .map_wrap .content {position: relative;width: 100%;padding-top: 56.25%;}
#company .block:nth-child(1) table tr td .map_container .map_wrap .content iframe {position: absolute;top: 0;right: 0;width: 100%;height: 100%;}
#company .block:nth-child(1) table tr td .map_container .next {text-align: right;}
#company .block:nth-child(1) table tr td .map_container .next a {
	display: inline-flex;
	justify-content: space-between;
	align-items: center;
	gap: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding: 15px 15px 15px 30px;
	border: 1px solid #2773C3;
	border-radius: 40px;
	background: #2773C3;
	color: #fff;
	font-weight: bold;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
}
#company .block:nth-child(1) table tr td .map_container .next a:hover {background: #fff;color: #2773C3;}
#company .block:nth-child(1) table tr td .map_container .next a span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	border: 1px solid #2773C3;
	border-radius: 50%;
	background: #fff;
}
#company .block:nth-child(1) table tr td .map_container .next a span img {width: 16px;}
#company .block:nth-child(1) table tr td dl {overflow: hidden;}
#company .block:nth-child(1) table tr td dl dt {float: left;margin-bottom: 10px;}
#company .block:nth-child(1) table tr td dl dt:last-child {margin-bottom: 0;}
#company .block:nth-child(1) table tr td dl dd {margin-bottom: 10px;padding-left: 150px;}
#company .block:nth-child(1) table tr td dl dd:last-child {margin-bottom: 0;}
#company .block:nth-child(1) table tr td dl dd a:hover {text-decoration: underline;}
#company .block:nth-child(1) table tr td .list_container ul {width: 49%;}
#company .block:nth-child(1) table tr td .list_container ul li {position: relative;padding-left: 15px;}
#company .block:nth-child(1) table tr td .list_container ul li::before {content: '・';position: absolute;left: 0;}
#company .block:nth-child(1) table tr td p.txtR {text-align: right;}
#company .block:nth-child(3) {background: url(../img/page/company/bg.webp) repeat-y top center / 100%;}
#company .block:nth-child(3) table tr {display: block;}
#company .block:nth-child(3) table tr th {
	position: relative;
	width: clamp(200px, calc(200px + 400 * ((100vw - 375px) / 1545)), 600px);
	margin-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);
	padding-top: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);
	padding-bottom: clamp(50px, calc(50px + 50 * ((100vw - 375px) / 1545)), 100px);
}
#company .block:nth-child(3) table tr th::after {content: '';position: absolute;top: 0;right: 0;width: 1px;height: 100%;background: #707070;}
#company .block:nth-child(3) table tr:first-child th::after {top: initial;bottom: 0; height: 50%;}
#company .block:nth-child(3) table tr th img {width: 90%;max-width: 515px;}
#company .block:nth-child(3) table tr td {vertical-align: middle;}
#company .block:nth-child(3) table tr td ul li:not(:last-child) {margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#company .block:nth-child(3) table tr td ul li h3 {
	margin-bottom: 10px;
	padding-left: 65px;
	color: #547699;
	font-weight: bold;
	font-size: clamp(28px, calc(28px + 22 * ((100vw - 375px) / 1545)), 50px);
}
#company .block:nth-child(3) table tr td ul li dl {display: flex;align-items: flex-start;gap: 15px;}
#company .block:nth-child(3) table tr td ul li dl dt {position: relative;padding-left: 65px;color: #547699;font-weight: bold;}
#company .block:nth-child(3) table tr td ul li dl dt::before,
#company .block:nth-child(3) table tr td ul li dl dt::after {content: '';position: absolute;top: 50%;transform: translateY(-50%);}
#company .block:nth-child(3) table tr td ul li dl dt::before {left: -10px;width: 19px;height: 19px;border-radius: 50%;background: #547699;}
#company .block:nth-child(3) table tr td ul li dl dt::after {left: 0;width: 57px;height: 1px;background: #707070;}
#company .block:nth-child(3) table tr td ul li dl dd {flex: 1;}
@media only screen and ( max-width : 767px ) {
	#company .block:nth-child(1) table tr {padding: 15px 0;}
	#company .block:nth-child(1) table tr th {display: block;margin-bottom: 10px;}
	#company .block:nth-child(1) table tr td {display: block;}
	#company .block:nth-child(1) table tr td .map_container .next a {padding: 10px 10px 10px 20px;}

	#company .block:nth-child(3) table {border-left: 1px solid #707070;}
	#company .block:nth-child(3) table tr {margin-bottom: 40px;}
	#company .block:nth-child(3) table tr th {display: block;width: 100%;margin-bottom: 10px;padding: 0 0 0 15px;}
	#company .block:nth-child(3) table tr th::after {display: none;}
	#company .block:nth-child(3) table tr th img {width: 100%;}
	#company .block:nth-child(3) table tr td {display: block;}
}
@media only screen and ( max-width : 500px ) {
	#company .block:nth-child(1) table tr td dl dt {float: none;margin-bottom: 0;}
	#company .block:nth-child(1) table tr td dl dd {padding-left: 0;}
	#company .block:nth-child(1) table tr td .list_container ul {width: 100%;}
}
/*-------------------------------------------------

	Business │ 事業内容

--------------------------------------------------*/
#business {overflow: hidden;padding-bottom: 0;}
#business .ttl_wrap {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);}
#business .ttl_wrap h2 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	text-align: center;
}
#business .ttl_wrap p {text-align: center;}
#business ul.list li {
	position: relative;
	margin-bottom: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px);
	background: #F7F8FC;
}
#business ul.list li:last-child {margin-bottom: 70px;}
#business ul.list li:nth-child(even)::before { 
	content: '';
	position: absolute;
	height: 100%;
	top: -2%;
	left: 5%;
	width: 4vw;
	background: url(../img/page/business/gridL.svg) no-repeat top left / 100%;
}
#business ul.list li .block {position: relative;}
#business ul.list li .block .ttl_wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: clamp(20px, calc(20px + 60 * ((100vw - 375px) / 1545)), 80px);
}
#business ul.list li .block .ttl_wrap img {width: clamp(40px, calc(40px + 40 * ((100vw - 375px) / 1545)), 80px);}
#business ul.list li .block .ttl_wrap h3 {
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#business ul.list li .block .container {flex-direction: row-reverse;position: relative;}
#business ul.list li .block .container figure {position: relative;width: 42%;}
#business ul.list li:nth-child(odd) .block .container figure::before {
	content: '';
	position: absolute;
	bottom: 90%;
	left: 97%;
	width: 8vw;
	height: 8vw;
	background: url(../img/page/business/gridR.svg) no-repeat top right / 100%;
}
#business ul.list li .block .container .wrap {width: 50%;}
#business ul.list li .block .container .wrap h4 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
}
#business ul.list li .block p.en {
	position: absolute;
	bottom: 1%;
	left: 0;
	transform: translateY(50%);
	color: #3175BB;
	font-size: clamp(26px, calc(26px + 34 * ((100vw - 375px) / 1545)), 60px);
	line-height: 1.2;
}
#business .achievements {background: url(../img/page/business/bg.svg) no-repeat center / cover;}
#business .achievements .inner {max-width: 1310px;}
#business .achievements h2 {
	margin-bottom: clamp(30px, calc(30px + 30 * ((100vw - 375px) / 1545)), 60px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	text-align: center;
}
#business .achievements ul {display: grid;grid-template-columns: repeat(2, 1fr);gap: 40px 5%;}
#business .achievements ul li.item figure {margin-bottom: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);}
#business .achievements ul li.item p {font-size: clamp(14px, calc(14px + 10 * ((100vw - 375px) / 1545)), 24px);text-align: center;}
#business .achievements ol {display: grid;grid-template-columns: repeat(2, 1fr);gap: 40px 5%;}
#business .achievements ol li.item h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#business .achievements ol li.item ul {display: block;}
#business .achievements ol li.item ul li {position: relative;padding-left: 20px;}
#business .achievements ol li.item ul li::before {content: '・';position: absolute;left: 0;}
@media only screen and ( max-width : 767px ) {
	#business .ttl_wrap {max-width: 500px;margin: 0 auto 40px;}
	#business ul.list li .block .container figure {width: 100vw;margin: 0 calc(50% - 50vw) 30px;}
	#business ul.list li .block .container .wrap {width: 100%;}
	#business .achievements ol {grid-template-columns: repeat(1, 1fr);gap: 30px;}
	#business .ttl_wrap p {text-align: left;}
}
@media only screen and ( max-width : 500px ) {
	#business .achievements ul {gap: 10px;}
	#business ul.list li .block p.en {display: none;}
}
/*-------------------------------------------------

	Mimamori Care Service │ システム製品

--------------------------------------------------*/
#service {overflow: hidden;padding-bottom: 0;}
#service dl {
	display: flex;
	align-items: center;
	gap: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);
	margin-bottom: clamp(60px, calc(60px + 40 * ((100vw - 375px) / 1545)), 100px);
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	border-radius: 10px;
	background: #F7F8FA;
}
#service dl dt {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 178px;
	padding: 30px 0;
	background: #fff;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#service dl dd a:hover {text-decoration: underline;}
#service .ttl_wrap {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);}
#service .ttl_wrap h2 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	text-align: center;
}
#service .ttl_wrap p {text-align: center;}
#service .block1 {
	flex-direction: row-reverse;
	position: relative;
	width: 95%;
	max-width: 1780px;
}
#service .block1 figure.img {position: absolute;top: 0;left: 0;z-index: 1;width: 42vw;margin: 0 calc(50% - 50vw);}
#service .block1 .container {
	width: 65%;
	margin-top: 10%;
	background: #F4FAFF url(../img/page/service/block1/bg.webp) no-repeat center / cover;
}
#service .block1 .container .wrap {width: 70%;max-width: 760px;margin: 0 auto;}
#service .block1 .container .wrap h3 {
	margin-bottom: clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
#service .block1 .container .wrap .content {margin-bottom: clamp(40px, calc(40px + 30 * ((100vw - 375px) / 1545)), 70px);}
#service .block1 .container .wrap .content p:not(:last-child) {margin-bottom: clamp(20px, calc(20px + 20 * ((100vw - 375px) / 1545)), 40px);}
#service .block1 .container .wrap figure {width: 90%;max-width: 670px;margin: 0 auto;}
#service .block2 {
	background-image: linear-gradient(0deg, transparent 85px, #F0F0F0 86px), linear-gradient(90deg,  transparent 85px, #F0F0F0 86px);
	background-size: 86px 86px;
}
#service .block2 .ttl_wrap {margin-bottom: clamp(40px, calc(40px + 20 * ((100vw - 375px) / 1545)), 60px);text-align: center;}
#service .block2 .ttl_wrap h3 {
	display: inline-block;
	position: relative;
	padding: 0 10px 5px;
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 12 * ((100vw - 375px) / 1545)), 32px);
}
#service .block2 .ttl_wrap h3::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 5px;
	background: linear-gradient(90deg, #6ECEE6, #2773C3);
}
#service .block2 .ttl_wrap h3::after {
	content: '';
	position: absolute;
	top: -.4em;
	right: 0;
	width: clamp(15px, calc(15px + 5 * ((100vw - 375px) / 1545)), 20px);
	height: 100%;
	background: url(../img/page/service/block2/title_frame.svg) no-repeat top right / 100%;
}
#service .block2 .ttl_wrap h3 span {font-size: 1.2em;}
#service .block2 ul {
	display: grid;
	gap: clamp(30px, calc(30px + 20 * ((100vw - 375px) / 1545)), 50px);
	margin-bottom: clamp(40px, calc(40px + 120 * ((100vw - 375px) / 1545)), 160px);
}
#service .block2 ul li {align-items: center;}
#service .block2 ul li:nth-child(odd) {flex-direction: row-reverse;}
#service .block2 ul li figure {width: 45%;}
#service .block2 ul li .wrap {width: 50%;}
#service .block2 ul li .wrap h4 {
	position: relative;
	margin-bottom: 20px;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
}
#service .block2 ul li .wrap h4 span {
	position: absolute;
	top: -.5em;
	left: -.4em;
	z-index: -1;
	color: #D9EDFF;
	font-size: clamp(60px, calc(60px + 25 * ((100vw - 375px) / 1545)), 85px);
}
#service .block2 .container figure {width: 60%;max-width: 780px;margin: 0 auto clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#service .block2 .container p {
	margin-bottom: 10px;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	text-align: center;
}
#service .block2 .container small {display: block;text-align: center;}
@media only screen and ( max-width : 767px ) {
	#service .ttl_wrap {max-width: 500px;margin: 0 auto 40px;}
	#service .block1 figure.img {position: initial;width: 100vw;}
	#service .block1 .container {width: 100vw;margin: 0 calc(50% - 50vw);}
	#service .block1 .container .wrap {width: 90%;}
	#service .block2 ul li figure {width: 100vw;margin: 0 calc(50% - 50vw) 40px;}
	#service .block2 ul li .wrap {width: 90%;margin: 0 auto;}
	#service .block2 .container figure {width: 90%;}
	#service dl {
		flex-direction: column;
		align-items: stretch; /* または flex-start */
	}
	
	#service dl dt {width: 100%; /* 横幅いっぱいに */ padding: 10px 0;}
}
/*-------------------------------------------------

	News Archive │ お知らせ

--------------------------------------------------*/
#news {background: #E6F1F9;}
#news .inner {max-width: 1028px;}
#news .container ul.tab {display: flex;flex-direction: column;gap: 30px;}
#news .container ul.tab li a {display: flex;align-items: center;gap: 15px;font-weight: bold;}
#news .container ul.tab li a span {
	display: block;
	position: relative;
	width: 24px;
	height: 24px;
	border: 1px solid #B7B7B7;
	border-radius: 50%;
}
#news .container ul.tab li a.current span {border-color: #333;}
#news .container ul.tab li a span::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 4px;
	height: 4px;
	border-radius: 50%;
	background: #B7B7B7;
	transition: .3s;
}
#news .container ul.tab li a.current span::before {width: 18px;height: 18px;background: #547699;}
#news .container ul.list {display: grid;gap: 25px;width: 75%;}
#news .container ul.list li {
	position: relative;
	padding: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	border-radius: 10px;
	background: #fff;
}
#news .container ul.list li:hover p span::before {background: #fff;}
#news .container ul.list li:hover p span::after {opacity: 1;}
#news .container ul.list li:last-child {margin-bottom: 0;}
#news .container ul.list li dl dd {
	margin-bottom: 10px;
	font-weight: 600;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
}
#news .container ul.list li dl dt {
	display: flex;
	align-items: center;
	gap: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	color: #547699;
	font-weight: bold;
}
#news .container ul.list li dl dt span {
	padding: 7px 20px 5px;
	border: 1px solid #547699;
	border-radius: 20px;
	text-align: center;
}
@media only screen and ( max-width : 767px ) {
	#news .container ul.tab {flex-direction: inherit;margin-bottom: 30px;}
	#news .container ul.list {width: 100%;}
}
/*-------------------------------------------------

	News Single │ お知らせ

--------------------------------------------------*/
#news-sg .inner {max-width: 800px;}
#news-sg .container {margin-bottom: clamp(100px, calc(100px + 34 * ((100vw - 375px) / 1545)), 134px);}
#news-sg .container .ttl_wrap {
	max-width: 620px;
	margin-bottom:clamp(30px, calc(30px + 10 * ((100vw - 375px) / 1545)), 40px);
}
#news-sg .container .ttl_wrap time {margin-bottom: 14px;}
#news-sg .container .ttl_wrap h2 {font-weight: bold;font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);}
#news-sg .container .txt_wrap {margin-bottom: 30px;}
#news-sg .container p a {color: #3175BB; text-decoration: underline;}

/* pager */
ul.page_container {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	align-items: center;
	gap: 10px;
	margin-top: 50px;
}
ul.page_container li {text-align: center;}
ul.page_container li a {
	position: relative;
	font-weight: 500;
	font-size: clamp(14px, calc(14px + 4 * ((100vw - 375px) / 1545)), 18px);
}
ul.page_container li.back a {
	padding: 10px 40px;
	border-radius: 20px;
	background: #E6E6E6;
	font-size: clamp(16px, calc(16px + 4 * ((100vw - 375px) / 1545)), 20px);
	text-align: center;
}
ul.page_container li.back a:hover {background: #3175BB;color: #fff;}
ul.page_container li.prev a {padding-left: 30px;}
ul.page_container li.next a {justify-content: flex-end;padding-right: 30px;}
ul.page_container li.prev a::before,
ul.page_container li.next a::after {
	content: '';
	display: block;
	position: absolute;
	top: 0;
	width: 23px;
	height: 100%;
	background: url(../img/page/news/Icon_arrowR.svg) no-repeat center / 100%;
}
ul.page_container li.prev a::before {left: 0;transform: scale(-1.1);}
ul.page_container li.next a::after {right: 0;}
@media only screen and ( max-width : 767px ) {
}
/*-------------------------------------------------

	Policy Common │ ポリシー共通

--------------------------------------------------*/
.policy_common .block h3 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	font-weight: bold;
	font-size: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
}
.policy_common .block .container:not(:last-child) {margin-bottom: clamp(100px, calc(100px + 40 * ((100vw - 375px) / 1545)), 140px);}
.policy_common .block .container h4 {
	margin-bottom: clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	padding-left: 15px;
	border-left: 15px solid #3175BB;
	font-weight: bold;
	font-size: clamp(18px, calc(18px + 6 * ((100vw - 375px) / 1545)), 24px);
	line-height: 2;
}
/*-------------------------------------------------

	Privacy Policy │ プライバシーポリシー

--------------------------------------------------*/
#privacy_policy .inner {max-width: 1000px;}
#privacy_policy .block:not(:last-child) {margin-bottom: clamp(100px, calc(100px + 40 * ((100vw - 375px) / 1545)), 140px);}
#privacy_policy .block:last-child .container .wrap {margin-bottom: 15px;padding-bottom: 15px;border-bottom: 1px solid #333;}
#privacy_policy .block .container .wrap p:not(:last-child) {margin-bottom: 20px;}
#privacy_policy .block:not(:first-child) .container dl {margin-bottom: 20px;}
#privacy_policy .block:first-child .container dl {padding: 20px 0;border-top: 1px solid #333;border-bottom: 1px solid #333;}
#privacy_policy .block:first-child .container dl {margin: 30px 0;}
#privacy_policy .block .container dl dt {
	margin-bottom: 10px;
	padding-left: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
}
#privacy_policy .block:first-child .container dl dt {font-weight: bold;}
#privacy_policy .block .container dl dd {
	padding: clamp(10px, calc(10px + 10 * ((100vw - 375px) / 1545)), 20px);
	background: #F8F8F8;
}
#privacy_policy .block .container dl dd a:hover {text-decoration: underline;}
#privacy_policy .block .container p.txtR {text-align: right;}
#privacy_policy .block .container .table_wrap table {width: 95%;margin: 0 auto;}
#privacy_policy .block .container .table_wrap table tr th {
	padding: 10px clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	border: 1px solid #333;
	background: #3175BB;
	color: #fff;
	font-weight: bold;
	vertical-align: middle;
}
#privacy_policy .block .container .table_wrap table tr th:nth-child(3) {padding: 10px 0;text-align: center;}
#privacy_policy .block .container .table_wrap table tr td {
	padding: 10px clamp(20px, calc(20px + 10 * ((100vw - 375px) / 1545)), 30px);
	border: 1px solid #333;
	background: #fff;
	vertical-align: top;
}
#privacy_policy .block .container .table_wrap table tr td:first-child {width: 240px;font-weight: bold;}
#privacy_policy .block .container .table_wrap table tr td:nth-child(3) {width: 90px;padding: 10px 0;text-align: center;}
#privacy_policy .block .container .table_wrap table tr td p:not(:last-child) {margin-bottom: 10px;}
@media only screen and ( max-width : 767px ) {
	#privacy_policy .block .container .table_wrap {overflow-x: scroll;}
	#privacy_policy .block .container .table_wrap table {width: 900px;}
}
/*-------------------------------------------------

	Basic Policy on Information Security │ 情報セキュリティ基本方針

--------------------------------------------------*/
#basic_policy .block .container .wrap {width: 95%;margin: 0 auto;}
#basic_policy .block .container .wrap ol li {margin-left: 20px;list-style-type: decimal;}