﻿@charset "utf-8";
/*-------------------------------------
■目次
-リセット
-初期設定
-レイアウト
-モジュール
-汎用クラス
---------------------------------------*/


/*-------------------------------------
リセットCSS
---------------------------------------*/
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,
a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,
small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,
fieldset,form,label,legend,input,textarea,table,caption,tbody,tfoot,thead,tr,th,td,
article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,
menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
}
h1,h2,h3,h4,h5,h6,th,input,textarea,select {
	font-family: inherit;
	font-size: 100%;
	font-weight: normal;
}
table {
	border-spacing: 0;
	border-collapse: collapse;
}

table,th,td {
	text-align: left;
	border: none;
}
ol,ul,li {
	list-style: none;
}
img {
	border: none;
	vertical-align: top;
	max-width: 100%;
}
input[type=text],
input[type=password],
input[type=button],
input[type=submit],
button,
select,
textarea {
	color: inherit;
	font-family: inherit;
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	outline: none;
}
input::-webkit-input-placeholder { color: #999;}
input:-ms-input-placeholder { color: #999;}
input::-moz-placeholder { color: #999;}
textarea::-webkit-input-placeholder { color: #999;}
textarea:-ms-input-placeholder { color: #999;}
textarea::-moz-placeholder { color: #999;}
button::-moz-focus-inner,
input::-moz-focus-inner {
	border: 0;
}
button{
	background-color: transparent;
	border: none;
	cursor: pointer;
	outline: none;
	padding: 0;
	appearance: none;
}
input[type="submit"],
input[type="button"] {
	border-radius: 0;
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	appearance: button;
	border: none;
	box-sizing: border-box;
	cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
	display: none;
}
input[type="submit"]:focus,
input[type="button"]:focus {
	outline-offset: -2px;
}
select::-ms-expand{
	display:none;
}


/*-------------------------------------
初期設定
---------------------------------------*/
body {
	color: #333;
	min-width: 320px;
	font-family: "メイリオ", Meiryo, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "ＭＳ Ｐゴシック", "MS PGothic", Arial, Helvetica, Verdana, sans-serif;
	line-height: 1.875;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
	background-color: #fff;
}
a {
	color: inherit;
	text-decoration: none;
	opacity: 1;
}
*, *::before, *::after{
	box-sizing: border-box;
}


/*-------------------------------------
レイアウト
---------------------------------------*/

/*.l_pageArea
--------------------*/
.l_pageArea {
	position: relative;
	overflow: hidden;
}
.l_pageArea--pb100 {
	padding-bottom: 100px;
}
.l_pageArea__inner {
	max-width: 1230px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}
.l_pageArea__inner--wide {
	max-width: 1470px;
}
@media screen and (max-width: 1199px) {
	.l_pageArea {
		padding-top: 59px;
	}
}

/*.l_titleArea
--------------------*/
.l_titleArea {
	position: relative;
	margin-bottom: 60px;
	overflow: hidden;
	height: 460px;
}
.l_titleArea--middle {
	height: 340px;
}
.l_titleArea--lower, .l_titleArea--contact, .l_titleArea--sitemap, .l_titleArea--press {
	background-color: #F7F7F7;
}
.l_titleArea--lower {
	height: 310px;
}
.l_titleArea--contact, .l_titleArea--sitemap, .l_titleArea--press {
	height: 250px;
}
.l_titleArea--service {
	margin-bottom: 120px;
}
.l_titleArea--company {
	height: 500px;
}
.l_titleArea--dip {
	height: 543px;
}
.l_titleArea--partner {
	height: 400px;
}
.l_titleArea--enTop {
	height: 340px;
}
.l_titleArea__bg {
	position: absolute;
	top: 0;
	left: calc(50% - 960px);
	right: calc(50% - 960px);
	width: 1920px;
}
.l_titleArea .l_pageArea__inner {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	padding-top: 35px;
}
.l_titleArea--lower .l_pageArea__inner {
	padding-top: 10px;
}
.l_titleArea--company .l_pageArea__inner, .l_titleArea--contact .l_pageArea__inner, .l_titleArea--sitemap .l_pageArea__inner, .l_titleArea--press .l_pageArea__inner {
	padding-top: 25px;
	padding-bottom: 10px;
}
.l_titleArea--partner .l_pageArea__inner,
.l_titleArea--service .l_pageArea__inner {
	padding-top: 80px;
}
.l_titleArea h1 {
	height: 300px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.l_titleArea--contact h1, .l_titleArea--sitemap h1, .l_titleArea--press h1 {
	height: 215px;
}
.l_titleArea--company h1 {
	height: 465px;
}
.l_titleArea--dip h1 {
	height: 500px;
}
.l_titleArea--partner h1 {
	height: 180px;
}
.l_titleArea__logo {
	display: block;
}
.l_titleArea__head {
	color: #D34467;
	display: block;
	font-size: 137.5%;
	font-weight: bold;
	line-height: 1.5;
}
.l_titleArea__subTitle {
	display: block;
	font-size: 100%;
	font-weight: bold;
	line-height: 1.5;
}
.l_titleArea__title, .l_titleArea__catch {
	display: block;
	font-weight: bold;
	line-height: 1.5;
}
.l_titleArea__title {
	font-size: 250%;
}
.l_titleArea__title--enTop {
	position: relative;
	letter-spacing: 0.15em;
}
.l_titleArea__catch {
	font-size: 175%;
}
.l_titleArea__text {
	margin-top: 15px;
	display: block;
	font-size: 118.75%;
	font-weight: bold;
}
.l_titleArea__titleEn {
	position: relative;
	margin-top: 20px;
	display: block;
	padding-top: 24px;
	font-size: 150%;
	color: #D34467;
	font-weight: bold;
	line-height: 1.5;
}
.l_titleArea__titleEn::before, .l_titleArea__titleEn > span::before, .l_titleArea__titleEn > span::after, .l_titleArea__title--enTop::before, .l_titleArea__title--enTop > span::before, .l_titleArea__title--enTop > span::after {
	content: "";
	position: absolute;
	display: block;
}
.l_titleArea__titleEn::before, .l_titleArea__title--enTop::before {
	width: 90px;
	height: 2px;
	left: 4px;
	background-color: #D34467;
}
.l_titleArea__titleEn::before {
	top: 4px;
}
.l_titleArea__title--enTop::before {
	bottom: -15px;
}
.l_titleArea__titleEn > span, .l_titleArea__title--enTop > span {
	position: relative;
	display: inline-block;
}
.l_titleArea__titleEn > span::before, .l_titleArea__titleEn > span::after, .l_titleArea__title--enTop > span::before, .l_titleArea__title--enTop > span::after {
	width: 8px;
	height: 8px;
	border-radius: 50%;
}
.l_titleArea__titleEn > span::before, .l_titleArea__titleEn > span::after {
	top: -23px;
}
.l_titleArea__title--enTop > span::before, .l_titleArea__title--enTop > span::after {
	bottom: -19px;
}
.l_titleArea__titleEn > span::before, .l_titleArea__title--enTop > span::before {
	background-color: #CC0033;
	left: 0;
}
.l_titleArea__titleEn > span::after, .l_titleArea__title--enTop > span::after {
	background-color: #004E90;
	left: 94px;
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
	.l_titleArea--lower .l_titleArea__bg, .l_titleArea--contact .l_titleArea__bg, .l_titleArea--sitemap .l_titleArea__bg, .l_titleArea--press .l_titleArea__bg {
		left: auto;
		right: calc(50% - 600px);
	}
}

@media screen and (max-width: 1000px) {
	.l_titleArea {
		height: 430px;
	}
	.l_titleArea--textLong {
		height: 500px;
	}
	.l_titleArea--middle, .l_titleArea--lower, .l_titleArea--contact, .l_titleArea--sitemap, .l_titleArea--press {
		height: 220px;
	}
	.l_titleArea--partner {
		height: 400px;
	}
	.l_titleArea--enTop {
		height: 340px;
	}
	.l_titleArea .l_pageArea__inner {
		padding-top: 0;
	}
	.l_titleArea h1 {
		height: 220px;
	}
	.l_titleArea--button2 h1, .l_titleArea--textLong h1, .l_titleArea--enTop h1 {
		height: 300px;
	}
	.l_titleArea--service h1, .l_titleArea--company h1, .l_titleArea--dip h1, .l_titleArea--button0 h1 {
		height: 430px;
	}
	.l_titleArea__head {
		font-size: 112.5%;
	}
	.l_titleArea__title {
		font-size: 200%;
	}
	.l_titleArea__catch {
		font-size: 150%;
	}
	.l_titleArea__titleEn {
		font-size: 120%;
	}
}
@media screen and (max-width: 767px) {
	.l_titleArea {
		margin-bottom: 35px;
		height: auto;
	}
	.l_titleArea--service {
		margin-bottom: 60px;
	}
	.l_titleArea__bg {
		left: 0;
		right: 0;
		width: 100%;
	}
	.l_titleArea__bg img {
		width: 100%;
	}
	.l_titleArea .l_pageArea__inner {
		position: relative;
		padding: 22% 30px 30px;
	}
	.l_titleArea--service .l_pageArea__inner, .l_titleArea--enTop .l_pageArea__inner {
		padding-top: calc(22% + 70px);
		padding-bottom: 130px;
	}
	.l_titleArea h1 {
		height: auto;
	}
	.l_titleArea__head {
		font-size: 100%;
	}
	.l_titleArea__title {
		font-size: 150%;
		line-height: 1.4;
	}
	.l_titleArea__catch {
		font-size: 131.3%;
		line-height: 1.4;
	}
	.l_titleArea__text {
		color: #484848;
	}
	.l_titleArea .m_button {
		margin-top: 20px;
	}
	.l_titleArea__titleEn {
		font-size: 100%;
	}
	.l_titleArea__titleEn::before, .l_titleArea__title--enTop::before {
		width: 70px;
		left: 3px;
	}
	.l_titleArea__titleEn::before {
		top: 3px;
	}
	.l_titleArea__titleEn > span::before, .l_titleArea__titleEn > span::after, .l_titleArea__title--enTop > span::before, .l_titleArea__title--enTop > span::after {
		width: 6px;
		height: 6px;
	}
	.l_titleArea__title--enTop > span::before, .l_titleArea__title--enTop > span::after {
		bottom: -17px;
	}
	.l_titleArea__titleEn > span::after, .l_titleArea__title--enTop > span::after {
		left: 73px;
	}
}

/*.l_floatingBtn
--------------------*/
.l_floatingBtn {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 100;
	flex-direction: column;
	align-items: flex-end;
	gap: 3px;
	transform: translateY(-50%);
}
.l_floatingBtn a {
	display: block;
	width: 78px;
	border-radius: 10px 0 0 10px;
	background-color: #CC0033;
	background-repeat: no-repeat;
	padding: 39px 0 6px;
	box-shadow: 0 0 3px #fff;
	text-align: center;
	color: #fff;
	font-size: 68.75%;
	font-weight: bold;
	line-height: 1.5;
	letter-spacing: 0;
	transition: opacity 0.3s;
}
.l_floatingBtn a:hover {
	opacity: 0.8;
}
.l_floatingBtn__search {
	background-image: url(../img/ico_search.png);
	background-position: 50% 25%;
}
.l_floatingBtn__download {
	background-image: url(../img/ico_download_white.png);
	background-position: 50% 23%;
	background-size: 17px auto;
}
.l_floatingBtn__offer {
	background-image: url(../img/ico_offer_white.png);
	background-position: 54% 25%;
	background-size: 23px auto;
}
.l_floatingBtn__consult {
	background-image: url(../img/ico_consult.png);
	background-position: 50% 22%;
	background-size: 21px auto;
}
.l_floatingBtn__onlineStore {
	background-image: url(../img/ico_store.png);
	background-position: 50% 23%;
	background-size: 20px auto;
}
.l_floatingBtn__blank {
	background-image: url(../img/ico_blank.png);
	background-position: 50% 22%;
	background-size: 22px auto;
}
.l_floatingBtn__offer span {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 3em;
}
.l_floatingBtn__close {
	display: none;
}
@media screen and (min-width: 768px) {
	.l_floatingBtn {
		display: flex !important;
	}
}
@media screen and (max-width: 767px) {
	.l_floatingBtn {
		top: auto;
		left: 0;
		bottom: 0;
		flex-direction: row;
		justify-content: center;
		align-items: flex-start;
		gap: 10px;
		transform: translateY(0);
		display: none;
	}
	.l_floatingBtn a {
		width: 60px;
		border-radius: 0;
		padding: 34px 0 3px;
		font-size: 62.5%;
		line-height: 1.2;
	}
	.l_floatingBtn__search {
		background-position: 50% 22%;
	}
	.l_floatingBtn__download {
		background-position: 50% 18%;
	}
	.l_floatingBtn__consult {
		background-position: 50% 19%;
	}
	.l_floatingBtn__offer span {
		height: 2.4em;
	}
	.l_floatingBtn__close {
		position: relative;
		display: block;
		width: 30px;
		height: 30px;
		background-color: #D34467;
	}
	.l_floatingBtn__close::before,
	.l_floatingBtn__close::after {
		content: '';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		width: 18px;
		height: 2px;
		margin: auto;
		background-color: #fff;
		transform: rotate(45deg);
	}
	.l_floatingBtn__close::after {
		transform: rotate(-45deg);
	}
}

/*.l_breadcrumbs
--------------------*/
.l_breadcrumbs {
	border-top: 1px solid #D5D5D5;
	padding: 0 10px;
}
.l_breadcrumbs ul {
	max-width: 1600px;
	margin: 0 auto;
	border-left: 1px solid #D5D5D5;
	display: flex;
	flex-wrap: wrap;
	padding: 45px 40px;
	color: #484848;
	font-size: 87.5%;
}
.l_breadcrumbs li {
	padding-right: 15px;
}
.l_breadcrumbs li + li {
	position: relative;
	padding-left: 25px;
}
.l_breadcrumbs li + li::before {
	content: '';
	position: absolute;
	top: 8px;
	left: 0;
	width: 8px;
	height: 8px;
	border-top: 2px solid #CC0033;
	border-right: 2px solid #CC0033;
	transform: rotate(45deg);
}
.l_breadcrumbs a {
	padding-bottom: 5px;
}
.l_breadcrumbs a:hover {
	color: #CC0033;
}
.l_breadcrumbs li > span {
	color: #A7A7A7;
}
@media screen and (max-width: 1199px) {
	.l_breadcrumbs {
		padding: 0;
	}
	.l_breadcrumbs ul {
		border-left: none;
		padding: 20px 30px;
	}
}
@media screen and (max-width: 767px) {
	.l_breadcrumbs ul {
		padding-right: 15px;
		padding-left: 15px;
	}
}


/*-------------------------------------
モジュール
---------------------------------------*/
.m_col, .m_colBorder {
	display: flex;
	flex-wrap: wrap;
}
.m_col {
	gap: 30px 2%;
}
.m_col--gapNarrow {
	gap: 5px;
}
.m_col--col2 > * {
	width: 49%;
}
.m_colBorder--col2 > * {
	width: 50%;
	padding: 15px;
	border: 1px solid #D5D5D5;
}
.m_colBorder--col2 > *:nth-child(2n) {
	border-left: none;
}
.m_colBorder--col2 > *:nth-child(n+3) {
	border-top: none;
}
.m_col--col3 > * {
	width: 32%;
}
.m_col--col4 > * {
	width: 23.5%;
}
.m_col--noWrap {
	flex-wrap: nowrap;
}
.m_col--jcCenter {
	justify-content: center;
}
.m_col--aiEnd {
	align-items: flex-end;
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
	.m_col--col1tb > * {
		width: 100%;
	}
	.m_col--col2tb > * {
		width: 49%;
	}
}
@media screen and (max-width: 767px) {
	.m_col {
		gap: 15px 2%;
	}
	.m_col--gapNarrow {
		gap: 5px;
	}
	.m_col--col2 > *, .m_col--col3 > *, .m_col--col4 > *, .m_colBorder--col2 > * {
		width: 100%;
	}
	.m_colBorder--col2 > * {
		padding: 8px;
	}
	.m_colBorder--col2 > *:nth-child(2n) {
		border-left: 1px solid #D5D5D5;
	}
	.m_colBorder--col2 > *:nth-child(2) {
		border-top: none;
	}
}

.m_link.m_leftToRight {
	display: inline-block;
}
.m_link a, .m_button a {
	position: relative;
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.m_link a {
	padding-right: 28px;
}
.m_button--jcStart a {
	justify-content: flex-start;
}
.m_link a::before, .m_link a::after, .m_button a::before, .m_button a::after {
	content: "";
	position: absolute;
	display: block;
}
.m_link a::before, .m_button a::before {
	top: 0;
	bottom: 0;
	margin: auto;
	border-radius: 50%;
}
.m_link a::before {
	width: 18px;
	height: 18px;
	right: 0;
	background-color: #CC0033;
}
.m_link--blankIcon a::before {
	content: none;
}
.m_link a::after, .m_button a::after {
	transform: rotate(45deg);
	transform-origin: center center;
}
.m_link a::after {
	width: 7px;
	height: 7px;
	right: 7px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
.m_link--blankIcon a::after {
	width: 24px;
	height: 20px;
	right: 0;
	background: url(../img/bg_button_blank-icon.png) no-repeat center center;
	background-size: contain;
	border-top: none;
	border-right: none;
	transform: rotate(0);
}
.m_button {
	text-align: center;
	margin-top: 65px;
}
.m_button--list01, .m_button--list02 {
	margin-top: 0;
}
.m_button a {
	color: #D34467;
	width: 435px;
	min-height: 80px;
	font-size: 110.5%;
	font-weight: bold;
	line-height: 1.54;
	padding: 14px 55px;
	background-color: #fff;
	border: 2px solid #D34467;
	border-radius: 50px;
	box-shadow: 3px 6px 6px rgba(2, 77, 141, 0.4);
	transition: 0.3s all;
}
.m_button--liquid a {
	width: auto;
	min-width: 435px;
}
.m_button--color02 a {
	border-color: #F0B2C1;
}
.m_button--contact a {
	color: #fff;
	width: 385px;
	min-height: auto;
	background-color: #CC0033;
}
.m_button--online a {
	width: 322px;
	min-height: 50px;
	padding: 9px 50px 9px 6px;
}
.m_button--fs22 a {
	font-size: 122.2%;
}
.m_button--fs30 a {
	font-size: 166.7%;
	min-height: 100px;
}
.m_button--list01 a, .m_button--list02 a {
	width: 100%;
	height: 100%;
}
.m_button--list02 a {
	color: #333;
	align-items: flex-start;
	text-align: left;
	padding-left: 25px;
	border-radius: 6px;
	box-shadow: none;
}
.m_button--list02HeightAuto a {
	height: auto;
}
.m_button--noLink a {
	color: #EA98AC;
	border-color: #EA98AC;
	box-shadow: none;
	pointer-events: none;
}
.m_button--noLink a::before, .m_button--noLink a::after {
	content: none;
}
.m_button a:hover, .m_button--list02 a.is_current {
	color: #fff;
	background-color: #CC0033;
}
.m_button--noLink a:hover {
	color: #EA98AC;
	background-color: #fff;
}
.m_button--contact a:hover {
	opacity: 0.8;
}
.m_button a::before, .m_button a::after {
	top: 0;
	bottom: 0;
	margin: auto;
}
.m_button a::before {
	width: 28px;
	height: 28px;
	right: 20px;
	background-color: #CC0033;
}
.m_button--contact a::before, .m_button--blankIcon a::before, .m_button--pdfIcon a::before {
	content: none;
}
.m_button--online a::before {
	width: 38px;
	height: 38px;
	right: 6px;
}
.m_button a:hover::before, .m_button--online a:hover::before, .m_button--list01 a:hover::before, .m_button--list02 a:hover::before, .m_button--list02 a.is_current::before {
	background-color: #fff;
}
.m_button a::after {
	width: 11px;
	height: 11px;
	right: 31px;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}
.m_button--underArrow a::after {
	transform: rotate(135deg) translateX(-3px);
}
.m_button a:hover::after, .m_button--list02 a.is_current::after {
	border-top-color: #CC0033;
	border-right-color: #CC0033;
}
.m_button--blankIcon a::after {
	width: 24px !important;
	height: 20px !important;
	right: 21px;
	background: url(../img/bg_button_blank-icon.png) no-repeat center center;
	background-size: contain;
	border: none;
	transform: rotate(0deg);
}
.m_button--pdfIcon a::after {
	width: 20px !important;
	height: 20px !important;
	right: 25px;
	background: url(../img/bg_button_pdf-icon.png) no-repeat center center;
	background-size: contain;
	border: none;
	transform: rotate(0deg);
}
.m_button--online a::after {
	width: 20px;
	height: 16px;
	right: 15px;
	background: url(../img/bg_button_blank.png) no-repeat center center;
	border: none;
	transform: rotate(0deg);
}
.m_button--blankIcon a:hover::after {
	background-image: url(../img/bg_button_blank-icon_hover.png);
	background-size: contain;
}
.m_button--online a:hover::after {
	background-image: url(../img/bg_button_blank_hover.png);
}
.m_button--contact a::after {
	width: 38px;
	height: 38px;
	right: 8px;
	background: url(../img/ico_contact.png) no-repeat 50% 50% #fff;
	border: none;
	border-radius: 50%;
	transform: rotate(0deg);
}
a.m_button__icon {
	padding: 5px 15px;
}
.m_button__icon > span {
	display: inline-block;
	background-repeat: no-repeat;
	background-position: 0 50%;
	padding: 5px 30px 5px 45px;
}
.m_button__icon--download > span {
	background-image: url(../img/ico_download_red.png);
}
.m_button__icon--download:hover > span {
	background-image: url(../img/ico_download_white.png);
}
.m_button__icon--offer > span {
	background-image: url(../img/ico_offer_red.png);
}
.m_button__icon--offer:hover > span {
	background-image: url(../img/ico_offer_white.png);
}
.m_button__icon--simulator > span {
	background-image: url(../img/ico_simulator.png);
	background-position: 0 45%;
}
.m_button__icon--simulator:hover > span {
	background-image: url(../img/ico_simulator_white.png);
}
.m_button__icon--online > span {
	background-image: url(../img/ico_online.png);
	background-position: 0 45%;
}
.m_button__icon--online:hover > span {
	background-image: url(../img/ico_online_white.png);
}
.m_button__icon--movie > span {
	background-image: url(../img/ico_movie.svg);
	padding-right: 40px;
}
.m_button__icon--movie:hover > span {
	background-image: url(../img/ico_movie_white.svg);
}
a.m_button__icon--consult {
	background-color: #CC0033;
	color: #fff;
}
a.m_button__icon--consult::after {
	background-image: url(../img/bg_button_blank-icon_hover.png);
}
a.m_button__icon--consult:hover {
	opacity: 0.8;
}
.m_button__icon--consult > span {
	background-image: url(../img/ico_consult.png);
	padding-left: 52px;
}
a.m_button__icon--consult::before {
	background-color: #fff;
}
a.m_button__icon--consult::after {
	border-top-color: #CC0033;
	border-right-color: #CC0033;
}
.m_button--col3, .m_button--col4 {
	margin-top: 0;
	display: flex;
	justify-content: center;
	gap: 0 2%;
}
.m_button--colWrap {
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 20px 2%;
}
.m_button--col3 li {
	width: 32%;
}
.m_button--col4 > li {
	width: 23.5%;
}
.m_button--col3 a, .m_button--col4 a {
	width: 100%;
	line-height: 1.4;
}
.m_button--col3 .m_button, .m_button--col4 .m_button {
	margin-top: 0;
}
@media screen and (max-width: 1199px) {
	.m_button--fs22 a {
		font-size: 112.5%;
	}
	.m_button--fs30 a {
		font-size: 133.3%;
	}
	.m_button--list02 a {
		font-size: 100%;
		padding-right: 50px;
		padding-left: 20px;
	}
	.m_button:not(.m_button--contact):not(.m_button--online) a::before {
		width: 24px;
		height: 24px;
		right: 18px;
	}
	.m_button:not(.m_button--contact):not(.m_button--blankIcon):not(.m_button--online) a::after {
		width: 10px;
		height: 10px;
		right: 26px;
	}
	.m_button--blankIcon a::after {
		right: 18px !important;
	}
	.m_button--underArrow a::after {
		right: 27px !important;
	}
	.m_button--col4 {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px 4%;
	}
	.m_button--col4 > li {
		width: 48%;
	}
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
	.m_button--tbAdjust {
		margin-left: -5px;
	}
	.m_button--tbAdjust a {
		max-width: calc(100% + 10px);
	}
}
@media screen and (max-width: 1000px) {
	.m_button--col3 {
		flex-wrap: wrap;
		justify-content: center;
		gap: 20px 4%;
	}
	.m_button--col3 li {
		width: 48%;
	}
}
@media screen and (max-width: 767px) {
	.m_button {
		margin-top: 30px;
	}
	.m_button--list01, .m_button--list02 {
		margin-top: 0;
	}
	.m_button a {
		width: 315px;
		max-width: 100%;
		min-height: 60px;
		font-size: 100%;
		padding: 4px 40px;
		border-radius: 40px;
	}
	.m_button--liquid a {
		min-width: auto;
	}
	.m_button--online a {
		width: 280px;
		min-height: 50px;
		padding: 9px 50px 9px 6px;
	}
	.m_button--online a {
		padding: 9px 50px;
	}
	.m_button--fs22 a, .m_button--fs30 a {
		min-height: 80px;
	}
	.m_button--list02 a {
		font-size: 87.5%;
		padding-left: 15px;
		border-radius: 6px;
	}
	.m_button:not(.m_button--contact):not(.m_button--online) a::before {
		width: 18px;
		height: 18px;
		right: 15px;
	}
	.m_button:not(.m_button--contact):not(.m_button--blankIcon):not(.m_button--online) a::after {
		width: 8px;
		height: 8px;
		right: 21px;
	}
	.m_button--blankIcon a::after {
		width: 20px !important;
		height: 16px !important;
		right: 15px !important;
	}
	.m_button--underArrow a::after {
		right: 22px !important;
	}
	a.m_button__icon {
		padding: 0 22px;
	}
	.m_button__icon > span {
		width: 100%;
		padding: 8px 30px 8px 40px;
	}
	.m_button__icon--consult > span {
		padding-left: 40px;
	}
	.m_button__icon--movie > span {
		padding-left: 45px;
		padding-right: 25px;
	}
	.m_button--col3, .m_button--col4 {
		flex-direction: column;
		align-items: center;
		gap: 10px 4%;
	}
	.m_button--col3 li, .m_button--col4 > li {
		width: 100%;
	}
}

.m_textLink {
	color: #CC0033;
	text-decoration: underline;
}
.m_textLink--blankIconNowrap {
	position: relative;
	display: inline-block;
	padding-right: 36px;
}
.m_textLink:hover {
	text-decoration: none;
}
.m_textLink--blankIcon::after, .m_textLink--pdfIcon::after {
	content: "";
	display: inline-block;
	vertical-align: -3px;
	margin: 0 0.5em 0 0.3em;
}
.m_textLink--blankIconNowrap::after {
	position: absolute;
	bottom: 0.4em;
	right: 0;
}
.m_textLink--blankIcon::after {
	width: 20px;
	height: 16px;
	background: url(../img/bg_button_blank-icon.png) no-repeat center center;
	background-size: contain;
}
.m_textLink--pdfIcon::after {
	width: 20px;
	height: 20px;
	background: url(../img/bg_button_pdf-icon.png) no-repeat center center;
	background-size: contain;
}

.m_linkList {
	display: flex;
}
.m_tab__inner + .m_linkList {
	margin-top: -20px;
}
.m_linkList--col8 {
	flex-wrap: wrap;
	gap: 0 10px;
	margin-right: -30px;
	margin-left: -30px;
}
.m_linkList--col8 + .m_press--index {
	margin-top: 50px;
}
.m_linkList li {
	font-size: 125%;
	font-weight: bold;
	padding: 15px 0 8px 12px;
}
.m_linkList--col8 li {
	width: calc(12.5% - 9px);
	text-align: center;
}
.m_linkList li.is_current {
	color: #fff;
	background-color: #D5D5D5;
	border-radius: 5px;
}
.m_linkList li::after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 12px;
	margin-left: 8px;
	border-top: 2px solid #CC0033;
	border-right: 2px solid #CC0033;
	transform: rotate(45deg);
	transform-origin: center top;
}
.m_linkList li.is_current::after {
	border-color: transparent;
}
@media screen and (max-width: 1310px) {
	.m_linkList--col8 {
		margin-right: 0;
		margin-left: 0;
	}
}
@media screen and (max-width: 1199px) {
	.m_linkList--col8 li {
		width: calc(16.6% - 17px);;
		font-size: 100%;
	}
}
@media screen and (max-width: 767px) {
	.m_linkList--col8 + .m_press--index {
		margin-top: 25px;
	}
	.m_linkList--col8 li {
		width: auto;
	}
}

.m_bgArea {
	margin: 100px 0;
	background-color: #F7F7F7;
	padding: 30px 0 100px;
}
.m_bgArea--contactBox {
	padding-top: 1px;
	padding-bottom: 1px;
}
.m_bgArea--lower {
	padding-top: 1px;
	padding-bottom: 80px;
}
.m_bgArea--technology {
	padding: 30px 55px 35px;
}
.m_bgArea--technology .category-old{
	display: none;
}
@media screen and (max-width: 1199px) {
	.m_bgArea--technology {
		padding-right: 30px;
		padding-left: 30px;
	}
}
@media screen and (max-width: 767px) {
	.m_bgArea {
		margin: 40px 0;
		padding: 30px 0 50px;
	}
	.m_bgArea--technology {
		padding-right: 30px;
		padding-left: 30px;
	}
	.l_pageArea__inner .m_bgArea {
		margin: 40px -15px;
	}
}

.m_sectionTitle {
	position: relative;
	margin: 80px 0 20px;
	padding-bottom: 24px;
	text-align: center;
	color: #D34467;
	font-size: 150%;
	font-weight: bold;
	letter-spacing: 0.15em;
	line-height: 1.2;
}
.m_sectionTitle::before, .m_sectionTitle > span::before, .m_sectionTitle > span::after {
	content: "";
	position: absolute;
	display: block;
}
.m_sectionTitle::before {
	width: 90px;
	height: 2px;
	right: 0;
	bottom: 4px;
	left: 0;
	margin: auto;
	background-color: #D34467;
}
.m_sectionTitle > span {
	position: relative;
	display: inline-block;
	padding-left: 6px;
}
.m_sectionTitle > span::before, .m_sectionTitle > span::after {
	width: 8px;
	height: 8px;
	bottom: -23px;
	border-radius: 50%;
}
.m_sectionTitle > span::before {
	background-color: #CC0033;
	left: calc(50% - 45px);
}
.m_sectionTitle > span::after {
	background-color: #004E90;
	left: calc(50% + 45px);
}
@media screen and (max-width: 1199px) {
	.m_sectionTitle {
		margin-top: 60px;
	}
}
@media screen and (max-width: 767px) {
	.m_sectionTitle {
		padding-bottom: 25px;
		font-size: 137.5%;
	}
	.m_sectionTitle::before {
		width: 70px;
	}
	.m_sectionTitle > span::before, .m_sectionTitle > span::after {
		width: 6px;
		height: 6px;
		bottom: -23px;
	}
	.m_sectionTitle > span::before {
		left: calc(50% - 35px);
	}
	.m_sectionTitle > span::after {
		left: calc(50% + 35px);
	}
}

.m_labelTitle {
	margin: 50px 0 20px;
}
.m_labelTitle__label {
	display: block;
	margin-bottom: 30px;
	border-bottom: 2px solid #CC0033;
	color: #CC0033;
	font-size: 112.5%;
	font-weight: bold;
	line-height: 72px;
}
.m_labelTitle__label--noNum {
	line-height: inherit;
	margin-bottom: 0;
}
.m_modal .m_labelTitle__label {
	line-height: inherit;
	padding-top: 1em;
	padding-bottom: 1em;
}
.m_labelTitle__label span {
	margin-left: 15px;
	vertical-align: -9px;
	font-size: 277.8%;
	font-weight: 500;
}
.m_labelTitle__text {
	color: #484848;
	font-size: 150%;
	font-weight: 500;
	line-height: 2;
}
@media screen and (max-width: 1199px) {
	.m_labelTitle {
		margin: 40px 0 20px;
	}
}
@media screen and (max-width: 767px) {
	.m_labelTitle {
		margin: 30px 0 15px;
	}
	.m_labelTitle__label {
		margin-bottom: 20px;
		font-size: 93.75%;
		line-height: 50px;
	}
	.m_modal .m_labelTitle__label, .m_labelTitle__label--noNum {
		line-height: inherit;
	}
	.m_labelTitle__label span {
		margin-left: 10px;
		vertical-align: -6px;
		font-size: 240%;
	}
	.m_labelTitle__text {
		font-size: 112.5%;
		line-height: 1.7;
	}
}


.m_titleL, .m_titleS, .m_titleSS {
	letter-spacing: 0.15em;
}
.m_titleL, .m_titleS {
	font-weight: 500;
}
.m_titleL {
	margin-top: 60px;
	margin-bottom: 20px;
	color: #D34467;
	font-size: 200%;
	line-height: 1.5;
	text-align: center;
}
.m_titleL--fs28 {
	font-size: 175%;
}
.m_titleL--fs26 {
	font-size: 162.5%;
}
.m_titleL--fs24 {
	font-size: 150%;
	font-weight: bold;
}
.m_titleL--fs22 {
	font-size: 137.5%;
	font-weight: bold;
}
.m_titleS, .m_titleSS {
	color: #484848;
}
.m_titleS {
	margin-bottom: 40px;
	font-size: 150%;
}
.m_titleSS {
	position: relative;
	font-size: 112.5%;
	font-weight: bold;
	margin-top: 50px;
	margin-bottom: 30px;
	padding-bottom: 8px;
	padding-left: 10px;
	border-bottom: 1px solid #D34467;
}
.m_titleSS::before, .m_titleSS::after {
	content: "";
	position: absolute;
	display: block;
	width: 4px;
	height: 4px;
	left: 0;
	border-radius: 50%;
}
.m_titleSS::before {
	background-color: #CC0033;
	top: calc(50% - 8px);
}
.m_titleSS::after {
	background-color: #004E90;
	top: calc(50% - 2px);
}
@media screen and (max-width: 1199px) {
	.m_titleL {
		margin-top: 45px;
	}
	.m_titleL--fs24 {
		font-size: 125%;
	}
}
@media screen and (max-width: 767px) {
	.m_titleL {
		font-size: 125%;
	}
	.m_titleS {
		margin-bottom: 30px;
	}
	.m_titleS--spFs18 {
		font-size: 112.5%;
	}
	.m_titleSS {
		padding-left: 8px;
	}
}

.m_leadText {
	margin-bottom: 25px;
	text-align: center;
	color: #484848;
	font-size: 200%;
	font-weight: 500;
}
.m_modal--search .m_leadText {
	padding-right: 60px;
	padding-left: 60px;
}
.m_leadText--fs28 {
	font-size: 175%;
}
.m_leadText--fs24 {
	font-size: 150%;
}
.m_leadText--fs20 {
	font-size: 125%;
	font-weight: bold;
}
.m_leadText--sub {
	font-size: 62.5%;
}
.m_leadText--point {
	color: #d34467;
}
@media screen and (max-width: 767px) {
	.m_leadText {
		font-size: 125%;
	}
	.m_leadText--fs20 {
		font-size: 112.5%;
	}
	.m_leadText--sub {
		font-size: 90%;
	}
}

.m_text {
	margin: 1.8em 0;
}
.m_text:first-child {
	margin-top: 0;
}
.m_text:last-child {
	margin-bottom: 0;
}
.m_text--l {
	font-size: 112.5%;
	line-height: 2;
}
.m_text--s {
	font-size: 87.5%;
}
.m_text--ss {
	font-size: 75%;
}
@media screen and (max-width: 767px) {
	.m_text {
		font-size: 93.75%;
		line-height: 1.6;
	}
}

.m_anchorLink {
	display: flex;
	flex-wrap: wrap;
	gap: 15px 2%;
}
.m_anchorLink--center {
	justify-content: center;
}
.m_anchorLink li {
	width: 23.5%;
	border-top: 1px solid #A7A7A7;
}
.m_anchorLink--col2 li {
	width: 49%;
}
.m_anchorLink--border li {
	border: 1px solid #D5D5D5;
}
.m_anchorLink a {
	display: flex;
	align-items: center;
	height: 62px;
	background: url(../img/arrow_anchor.png) no-repeat 95% 50%;
	padding-right: 30px;
	color: #484848;
	font-weight: bold;
	line-height: 1.4;
}
.m_anchorLink--heightAuto a {
	height: 100%;
	padding-top: 5px;
	padding-bottom: 5px;
}
.m_anchorLink--border a {
	padding-left: 10px;
}
.m_anchorLink a:hover {
	color: #CC0033;
}
@media screen and (max-width: 1000px) {
	.m_anchorLink {
		gap: 15px 2%;
	}
	.m_anchorLink li {
		width: 32%;
	}
}
@media screen and (max-width: 767px) {
	.m_anchorLink {
		gap: 5px 4%;
	}
	.m_anchorLink.m_anchorLink--center {
		justify-content: flex-start;
	}
	.m_anchorLink li {
		width: 48%;
	}
	.m_anchorLink--col2 li {
		width: 100%;
	}
	.m_anchorLink a {
		height: 50px;
		background-position: 98% 50%;
		background-size: 7px auto;
		padding-right: 25px;
		font-size: 93.75%;
	}
	.m_anchorLink--heightAuto a {
		height: 100%;
	}
}

.m_imgBox, .m_textBox, .m_solution__pickup {
	background-color: #fff;
	border-radius: 25px;
}
.m_imgBox, .m_textBox {
	text-align: center;
	border: 1px solid #d5d5d5;
}
.m_textBox--color02 {
	border-color: #f00;
}
.m_imgBox {
	margin: 50px 0;
	padding: 60px 20px;
}
.m_textBox, .m_solution__pickup {
	padding: 30px;
}
.m_textBox__fs18 {
	font-size: 112.5%;
}
.m_textBox__tel {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 50px;
	font-weight: bold;
	margin-top: 30px;
}
.m_textBox__number {
	font-size: 125%;
}
.m_textBox__number a {
	pointer-events: none;
}
.m_solution__pickup {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
	border: 2px solid #d5d5d5;
}
.m_solution__pickup--image {
	width: 26%;
	align-self: center;
	text-align: center;
	padding-right: 30px;
	padding-bottom: 80px;
}
.m_solution__pickup--block {
	width: 74%;
}
.m_solution__pickup--title {
	font-size: 175%;
	font-weight: 500;
	margin-bottom: 15px;
}
.m_solution__pickup--text dt {
	color: #D34467;
	font-size: 125%;
	font-weight: bold;
	margin-top: 5px;
}
.m_solution__pickup--button {
	display: inline-block;
	width: 100%;
	margin-top: 30px;
}
.m_solution__pickup--button a {
	max-width: 100%;
}
.m_solution__mainvis {
	position: relative;
	height: 500px;
	margin-bottom: 100px;
	overflow: hidden;
}
.m_solution__mainvis--bg {
	position: absolute;
	width: 1920px;
	right: calc(50% - 960px);
	bottom: 0;
	left: calc(50% - 960px);
}
.m_solution__mainvis--bgTop {
	top: 0;
	bottom: auto;
}
.m_solution__mainvis .l_pageArea__inner, .m_solution__mainvis--lead {
	display: flex;
	flex-direction: column;
}
.m_solution__mainvis .l_pageArea__inner {
	color: #fff;
	position: absolute;
	justify-content: center;
	height: 500px;
	top: 0;
	right: 0;
	left: 0;
}
.m_solution__mainvis--lead {
	font-weight: bold;
}
.m_solution__mainvis--lead > strong {
	position: relative;
	font-size: 225%;
	line-height: 1.6;
	padding-bottom: 20px;
	border-bottom: 1px solid #fff;
}
.m_solution__mainvis--lead > strong::before, .m_solution__mainvis--title::before {
	content: "";
	width: 8px;
	height: 8px;
	background-color: #CC0033;
	border-radius: 50%;
}
.m_solution__mainvis--lead > strong::before {
	position: absolute;
	display: block;
	bottom: -5px;
	left: 0;
}
.m_solution__mainvis--lead > span {
	font-size: 150%;
	margin-top: 15px;
}
.m_solution__mainvis--title {
	font-size: 187.5%;
	margin-top: 10px;
}
.m_solution__mainvis--title::before {
	display: inline-block;
	vertical-align: 0.2em;
	margin-right: 10px;
}
.m_solution__mainvis--keyword, .m_solution__heading {
	display: flex;
}
.m_solution__mainvis--keyword {
	flex-wrap: wrap;
	gap: 5px 20px;
	margin-top: 15px;
}
.m_solution__heading {
	gap: 20px;
	align-items: center;
	margin-top: 90px;
}
.m_solution__heading--logo {
	width: 74px;
}
.m_solution__heading--photo {
	width: auto;
}
.m_solution__heading--name {
	font-size: 150%;
}
.m_solution__body > p + p, .m_solution__body > p + ul, .m_solution__body > p + ol {
	margin-top: 20px;
}
.m_solution__companyName, .m_solution__info--col2, .m_solution__info > li {
	display: flex;
}
.m_solution__companyName, .m_solution__info {
	margin-top: 35px;
}
.m_solution__companyName, .m_solution__info > li {
	align-items: center;
}
.m_solution__companyName--image {
	width: 300px;
	text-align: center;
	padding-right: 20px;
	padding-left: 20px;
}
.m_solution__companyName--text {
	width: calc(100% - 300px);
}
.m_solution__info {
	border-top: 1px solid #D34467;
}
.m_solution__info + .m_solution__info {
	margin-top: 0;
	border-top: none;
}
.m_solution__info--col2 {
	flex-wrap: wrap;
}
.m_solution__info > li {
	min-height: 105px;
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid #D34467;
}
.m_solution__info--col2 > li {
	width: 50%;
}
.m_solution__info--title {
	color: #D34467;
	font-size: 112.5%;
	font-weight: bold;
	margin-right: 25px;
}
.m_solution__info--col1 .m_solution__info--title {
	width: 6.5em;
}
.m_solution__img {
	text-align: center;
}
.m_solution__img--left {
	float: left;
	margin-right:20px;
	margin-bottom: 20px;
}
.m_solution__img--right {
	float: right;
	margin-bottom: 20px;
	margin-left: 20px;
}
.m_solution__img figcaption {
	margin-top: 20px;
}
.m_solution__bubble {
	font-weight: bold;
	margin-top: 50px;
	margin-bottom: 50px;
	padding: 26px 40px;
	border: 1px solid #D5D5D5;
	border-radius: 25px;
}
.m_solution__body > p + .m_solution__bubble {
	margin-top: 50px;
}
@media screen and (max-width: 1199px) {
	.m_textBox__number a {
		color: #D34467;
		pointer-events: auto;
	}
}
@media screen and (max-width: 1000px) {
	.m_solution__mainvis {
		margin-bottom: 80px;
	}
	.m_solution__heading {
		margin-top: 70px;
	}
	.m_solution__pickup--title {
		font-size: 150%;
	}
	.m_solution__heading--name {
		font-size: 125%;
	}
}
@media screen and (max-width: 767px) {
	.m_imgBox {
		margin: 40px 0;
		padding: 30px 15px;
		border-radius: 10px;
	}
	.m_textBox__tel {
		flex-direction: column;
		gap: 5px;
	}
	.m_textBox__fs18 {
		font-size: 100%;
	}
	.m_solution__mainvis, .m_solution__mainvis .l_pageArea__inner {
		height: calc(760 * 100vw / 800);
	}
	.m_solution__mainvis--spLong, .m_solution__mainvis--spLong .l_pageArea__inner {
		height: auto;
	}
	.m_solution__mainvis--spLong {
		background-color: #000;
	}
	.m_solution__mainvis--bg, .m_solution__mainvis--bg img {
		width: 100%;
	}
	.m_solution__mainvis--bg {
		top: 0;
		right: 0;
		bottom: auto;
		left: 0;
	}
	.m_solution__mainvis .l_pageArea__inner {
		position: relative;
	}
	.m_solution__mainvis {
		margin-bottom: 30px;
	}
	.m_solution__mainvis--lead > strong {
		font-size: 150%;
	}
	.m_solution__mainvis--spLong .m_solution__mainvis--lead > strong {
		font-size: 125%;
	}
	.m_solution__mainvis--lead > span {
		font-size: 112.5%;
	}
	.m_solution__mainvis--title {
		font-size: 125%;
		margin-top: 5px;
	}
	.m_solution__mainvis--keyword {
		gap: 5px 10px;
		font-size: 93.8%;
		margin-top: 10px;
	}
	.m_solution__heading {
		margin-top: 15px;
		margin-bottom: 15px;
	}
	.m_solution__heading--spBlock {
		display: block;
	}
	.m_solution__heading--photo {
		text-align: center;
	}
	.m_solution__heading--name {
		font-size: 106.3%;
	}
	.m_solution__heading--spBlock .m_solution__heading--name {
		margin-top: 15px;
	}
	.m_solution__pickup {
		padding-right: 15px;
		padding-left: 15px;
	}
	.m_solution__pickup--image {
		padding-right: 0;
		padding-bottom: 20px;
	}
	.m_solution__pickup--title {
		font-size: 125%;
	}
	.m_solution__pickup--text dt {
		font-size: 112.5%;
	}
	.m_solution__companyName--text {
		margin-top: 25px;
	}
	.m_solution__info > li {
		min-height: auto;
		padding-top: 12px;
		padding-bottom: 10px;
	}
	.m_solution__info--desc {
		margin-top: 5px;
	}
	.m_solution__img--left, .m_solution__img--right {
		float: none;
	}
	.m_solution__img--left {
		margin-right: 0;
	}
	.m_solution__img--right {
		margin-left: 0;
	}
}

.m_tasklist, .m_tasklist__task, .m_afyList, .m_afyList__task {
	border-radius: 25px;
}
.m_tasklist, .m_afyList {
	margin-top: 40px;
	padding: 35px 30px;
	background-color: #FFECEB;
}
.m_tasklist dl, .m_afyList dl {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-weight: bold;
	padding: 30px;
}
.m_tasklist--themeIndex .m_tasklist__achievement--themeIndex {
	align-items: flex-start;
}
.m_tasklist__task, .m_afyList__task {
	background-color: #fff;
}
.m_tasklist__achievement, .m_afyList__achievement {
	position: relative;
	margin-top: 25px;
}
.m_tasklist .m_tasklist__achievement, .m_afyList .m_afyList__achievement {
	padding-top: 60px;
}
.m_tasklist__achievement::before, .m_afyList__achievement::before {
	content: "";
	position: absolute;
	display: block;
	width: 42px;
	height: 52px;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	background: url(../img/bg_tasklist_achievement.png) no-repeat;
}
.m_tasklist__desc {
	padding-right: 30px;
	padding-left: 30px;
}
.m_tasklist dt, .m_tasklist dd, .m_afyList dt, .m_afyList dd {
	font-size: 112.5%;
}
.m_tasklist dt, .m_afyList dt {
	letter-spacing: 0.2em;
	text-align: center;
}
.m_tasklist__task--themeIndex dt {
	letter-spacing: 0.1em;
}
.m_tasklist dt {
	width: 9em;
}
.m_afyList dt {
	width: 11.5em;
}
.m_tasklist__task dt, .m_afyList__task dt {
	padding-top: 70px;
	background: url(../img/bg_tasklist_task.png) no-repeat 67% 0;
	background-size: 80px 61px;
}
.m_tasklist__task--text {
	font-size: 88.9%;
	font-weight: normal;
}
.m_afyList__task dt {
	background-position: 60% 0;
}
.m_tasklist__achievement dt > span {
	color: #fff;
	display: inline-block;
	width: 92px;
	height: 92px;
	line-height: 92px;
	background-color: #e999aa;
	border-radius: 50%;
}
.m_afyList__achievement dt {
	padding-top: 70px;
	background: url(../img/bg_afy-llst_achievement.png) no-repeat 50% 0;
	background-size: 41px 63px;
}
.m_tasklist dd {
	width: calc(100% - 12.5em);
}
.m_afyList dd {
	width: calc(100% - 15em);
}
.m_tasklist dd li, .m_afyList dd li {
	padding-left: 1.1em;
	line-height: 1.6;
}
.m_tasklist dd li {
	font-size: 111.1%;
}
.m_tasklist__achievement dd li, .m_afyList__achievement {
	color: #D34467;
}
.m_tasklist__achievement--image {
	text-align: center;
	margin-top: 15px;
	padding: 30px 20px;
	background-color: #fff;
}
@media screen and (max-width: 1000px) {
	.m_tasklist dd {
		width: calc(100% - 11em);
	}
	.m_tasklist dd li {
		font-size: 100%;
	}
	.m_afyList dl {
		padding-right: 15px;
		padding-left: 15px;
	}
	.m_afyList dd {
		width: calc(100% - 13.5em);
	}
}
@media screen and (max-width: 767px) {
	.m_tasklist, .m_tasklist__task, .m_afyList, .m_afyList__task {
		border-radius: 10px;
	}
	.m_tasklist, .m_tasklist dl, .m_afyList, .m_afyList dl {
		padding: 20px 15px;
	}
	.m_tasklist dl, .m_afyList dl, .m_solution__pickup, .m_solution__companyName, .m_solution__info--col2, .m_solution__info > li {
		display: block;
	}
	.m_tasklist__achievement, .m_afyList__achievement {
		margin-top: 15px;
	}
	.m_tasklist dt, .m_tasklist dd, .m_afyList dt, .m_afyList dd, .m_solution__pickup--image, .m_solution__pickup--block, .m_solution__companyName--image, .m_solution__companyName--text, .m_solution__info--col2 > li, .m_solution__info--col1 .m_solution__info--title {
		width: auto;
	}
	.m_tasklist__task dt, .m_afyList__task dt {
		padding-top: 60px;
		background-position: 58% 0;
	}
	.m_tasklist__achievement dt > span {
		width: 74px;
		height: 74px;
		line-height: 74px;
	}
	.m_afyList__achievement dt {
		background-position: 50% 5px;
	}
	.m_tasklist dd, .m_afyList dd {
		margin-top: 15px;
	}
	.m_afyList dd li, .m_afyList dd p {
		font-size: 88.9%;
	}
	.m_tasklist--desc {
		padding-right: 0;
		padding-left: 0;
	}
}

.m_olBasicList > li {
	margin-top: 1rem
}
.m_olBasicList:first-of-type {
	padding-bottom: 1rem;
	border-bottom: 2px dotted #333
}

.m_ulBasicList {
	margin-left: 1rem;
}
.m_ulBasicList li {
	text-indent: -0.9rem;
	padding-left: 1rem;
}

.m_dotList li {
	position: relative;
	padding-left: 1.5em;
}
.m_dotList li::before {
	content: '・';
	position: absolute;
	top: 0;
	left: 0;
}
.m_dotList li + li {
	margin-top: 10px;
}

.m_decimalList {
	padding-left: 1.5em;
}
.m_decimalList > li {
	list-style-type: decimal;
}

.m_headerList {
	margin: 15px 0;
}
.m_headerList > li {
	display: flex;
}
.m_headerList > li > div:first-child {
	white-space: nowrap;
	margin-right: 0.3em;
}
@media screen and (max-width: 767px) {
	.m_headerList--spWrap > li {
		flex-wrap: wrap;
	}
}

.m_chronologyList dt {
	float: left;
	font-weight: bold;
	margin-right: 1em;
}
.m_chronologyList dd {
	overflow: hidden;
}
.m_chronologyList li + li {
	margin-top: 10px;
}
@media screen and (max-width: 767px) {
	.m_chronologyList dt {
		float: none;
	}
}

.m_caseList {
	margin: 40px 0;
	display: flex;
	gap: 0 2%;
	justify-content: space-between;
}
.m_caseList--jcCenter {
	justify-content: center;
}
.m_caseList > li {
	position: relative;
	width: 32%;
	border: 2px solid #D5D5D5;
	border-radius: 10px;
	padding: 35px 25px 30px;
	text-align: center;
	letter-spacing: 0.19em;
}
.m_caseList > li::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: -24px;
	width: 20px;
	height: 24px;
	margin: 0 auto;
	background: url(../img/bg_caselist.png) no-repeat 0 0;
}
.m_caseList__case {
	margin-bottom: 20px;
	display: block;
	color: #D34467;
	font-size: 112.5%;
	font-weight: bold;
}
.m_caseList__text {
	font-size: 137.5%;
	font-weight: bold;
	line-height: 2.1;
}
@media screen and (max-width: 1199px) {
	.m_caseList > li {
		padding: 25px 15px;
	}
	.m_caseList__text {
		line-height: 1.6;
	}
}
@media screen and (max-width: 767px) {
	.m_caseList {
		margin: 40px 0;
		display: block;
	}
	.m_caseList > li {
		margin-bottom: 40px;
		width: auto;
	}
	.m_caseList__case {
		margin-bottom: 15px;
		font-size: 100%;
	}
	.m_caseList__text {
		font-size: 112.5%;
		letter-spacing: 0.1em;
	}
}
@media screen and (max-width: 360px) {
	.m_caseList__text {
		font-size: 4.5vw;
	}
}

.m_imgLayout {
	margin: 20px 0;
	overflow: hidden;
}
.m_imgLayout__img {
	float: right;
	max-width: 40%;
	margin-left: 25px;
	padding-top: 5px;
}
.m_imgLayout__img--left {
	float: left;
	margin-left: 0;
	margin-right: 25px;
}
.m_imgLayout__text {
	overflow: hidden;
}
@media screen and (max-width: 767px) {
	.m_imgLayout {
		display: flex;
		flex-direction: column-reverse;
	}
	.m_imgLayout--column {
		flex-direction: column;
	}
	.m_imgLayout__img {
		float: none;
		max-width: 100%;
		margin: 30px 0 0;
		padding-top: 0;
		text-align: center;
	}
	.m_imgLayout--column .m_imgLayout__img {
		margin-top: 0;
		margin-bottom: 30px;
	}
	.m_imgLayout__text {
		overflow: hidden;
	}
}

@media screen and (max-width: 1199px) {
	.m_spScrollOuter {
		margin-bottom: 20px;
		position: relative;
		overflow: hidden;
	}
	.m_spScrollOuter .m_spScroll {
		margin-bottom: -6px;
		padding-bottom: 6px;
	}
	.m_spScrollOuter__barArea {
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 5px;
		border: 1px solid #D5D5D5;
	}
	.m_spScrollOuter__bar {
		position: absolute;
		top: -1px;
		background-color: #CC0033;
		height: 5px;
	}
	.m_spScroll {
		overflow-x: auto;
	}
	.m_spScroll__body--w500 {
		min-width: 500px;
	}
	.m_spScroll__body--w600 {
		min-width: 600px;
	}
	.m_spScroll__body--w700 {
		min-width: 700px;
	}
	.m_spScroll__body--w800 {
		min-width: 800px;
	}
	.m_spScroll__body--w900 {
		min-width: 900px;
	}
	.m_spScroll__body--w1000 {
		min-width: 1000px;
	}
	.m_spScroll__body--w1100 {
		min-width: 1100px;
	}
	.m_spScroll__body--w1200 {
		min-width: 1200px;
	}
	.m_spScroll__body--w1300 {
		min-width: 1300px;
	}
	.m_spScroll__body--w1350 {
		min-width: 1350px;
	}
	.m_spScroll__body--w1400 {
		min-width: 1400px;
	}
}

.m_table {
	margin: 15px 0;
	width: 100%;
	border-right: 1px solid #D5D5D5;
	border-bottom: 1px solid #D5D5D5;
}
.m_table--liquid {
	width: auto;
}
.m_table--noBorder {
	border-right: none;
	border-bottom: none;
}
.m_table th,
.m_table td {
	border-top: 1px solid #D5D5D5;
	border-left: 1px solid #D5D5D5;
	padding: 10px 20px;
}
.m_table th {
	background-color: #D34467;
	height: 80px;
	color: #fff;
	font-weight: bold;
	line-height: 1.4;
}
.m_table--thCenter th {
	text-align: center;
}
.m_table--thFontL th {
	font-size: 125%;
}
.m_table--thHeightAuto th {
	height: auto;
}
.m_table--paddingS th {
	padding: 8px 10px;
}
.m_table td {
	background-color: #fff;
	padding: 15px 20px;
	height: 85px;
}
.m_table--tdHeightAuto td {
	height: auto;
}
.m_table--tdTop td {
	vertical-align: top;
}
.m_table--tdCenter td {
	text-align: center;
}
.m_table--tdRight td {
	text-align: right;
}
.m_table--paddingM td {
	padding: 10px;
}
.m_table--paddingS td {
	padding: 10px 6px;
}
.m_table--noBorder th, .m_table--noBorder td {
	border-top: none;
	border-left: none;
	padding-top: 0;
	padding-bottom: 0;
}
.m_table--tdHead {
	color: #D34467;
	font-weight: bold;
}
@media screen and (max-width: 1199px) {
	.m_table th,
	.m_table td {
		padding: 10px 15px;
	}
	.m_table th {
		height: 60px;
	}
	.m_table--thFontL th {
		font-size: 112.5%;
	}
	.m_table--thHeightAutoSp th {
		height: auto;
	}
	.m_table--paddingS th {
		padding: 8px 10px;
	}
	.m_table td {
		padding: 15px;
		height: 60px;
	}
	.m_table--paddingS td {
		padding: 10px 6px;
	}
}
@media screen and (max-width: 767px) {
	.m_table td {
		padding: 10px 15px;
		font-size: 93.75%;
	}
	.m_table--paddingS td {
		padding: 10px 6px;
	}
	.m_table--spVertical th, .m_table--spVertical td {
		display: block;
		height: auto;
	}
	.m_table--spVertical input {
		max-width: calc(100vw - 60px);
	}
}

.m_specToggle__button {
	color: #fff;
	width: 198px;
	height: 38px;
	line-height: 38px;
	font-weight: bold;
	background-color: #D34467;
	cursor: pointer;
	border: 1px #D34467 solid;
	transition: all 0.2s;
	margin-top: 20px;
}
.m_specToggle__button:hover {
	opacity: 0.8;
}
.m_specToggle__button.is_open {
	color: #D34467;
	background-color: #fff;
}
.m_specToggle__button.is_open:hover {
	color: #fff;
	background-color: #D34467;
	opacity: 1;
}
.m_specToggle__button::before {
	display: inline-block;
	content: "▼";
	margin-right: 10px;
	margin-left: 10px;
}
.m_specToggle__button.is_open::before {
	content: "▲";
}
.m_specToggle__body {
	display: none;
}

.m_sceneList {
	margin-top: 40px;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
}
.m_sceneList--jcCenter {
	justify-content: center;
}
.m_sceneList > li {
	position: relative;
	width: 32%;
	border-radius: 25px;
	background-color: #F7F7F7;
	padding: 50px 30px 310px;
}
.m_sceneList h3 {
	color: #CC0033;
	font-size: 125%;
	font-weight: bold;
}
.m_sceneList a {
	position: absolute;
	left: 30px;
	right: 30px;
	bottom: 30px;
}
.m_sceneList__btn {
	position: absolute;
	top: -25px;
	left: 0;
	right: 0;
	width: 235px;
	margin: 0 auto;
	border: 2px solid #D34467;
	border-radius: 25px;
	background: url(../img/ico_zoom.png) no-repeat 92% 50% #fff;
	padding: 6px;
	text-align: center;
	color: #CC0033;
	font-size: 112.5%;
	font-weight: bold;
	transition: all 0.3s;
}
.m_sceneList__btn.m_sceneList__btn--technology {
	position: relative;
	top: unset;
	bottom: unset;
}
a:hover .m_sceneList__btn {
	background-image: url(../img/ico_zoom_white.png);
	background-color: #CC0033;
	color: #fff;
}
.m_sceneList__img {
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	padding: 45px 20px 20px;
	height: 230px;
}
.m_sceneList__img img {
	max-height: 100%;
	transition: all 0.4s;
}
a:hover .m_sceneList__img img {
	transform: scale(1.1);
}
@media screen and (max-width: 1000px) {
	.m_sceneList {
		gap: 20px 4%;
	}
	.m_sceneList > li {
		width: 48%;
	}
}
@media screen and (max-width: 767px) {
	.m_sceneList {
		margin-top: 20px;
	}
	.m_sceneList > li {
		width: 100%;
		border-radius: 10px;
		padding: 35px 20px 30px;
	}
	.m_sceneList h3 {
		margin-bottom: 5px;
		font-size: 112.5%;
	}
	.m_sceneList p {
		font-size: 93.75%;
	}
	.m_sceneList a {
		position: relative;
		display: block;
		margin-top: 35px;
		left: 0;
		right: 0;
		bottom: 0;
	}
	.m_sceneList__btn {
		top: -20px;
		width: 220px;
		padding: 3px;
		font-size: 100%;
	}
}

.m_modal {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 2000;
	background-color: rgba(0,0,0,0.24);
	display: none;
	justify-content: center;
	align-items: center;
}
.m_modal.is_show {
	display: flex;
	animation: modalShow 0.5s;
}
@keyframes modalShow {
	0% { opacity: 0; }
	100% { opacity: 1; }
}
.m_modal__window {
	position: absolute;
	width: 98%;
	max-width: 1440px;
	border: 1px solid #707070;
	background-color: #fff;
}
.m_modal__tabArea {
	padding-top: 30px;
	padding-bottom: 30px;
}
.m_modal__scrollArea {
	max-height: calc(100vh - 100px);
	max-height: calc(100dvh - 100px);
	padding: 60px 120px 80px;
	overflow-y: auto;
}
.m_modal__scrollArea > *:first-child {
	margin-top: 0;
}
.m_modal__scrollArea > *:last-child {
	margin-bottom: 0;
}
.m_modal__closeBtn {
	position: absolute;
	right: 30px;
	bottom: 30px;
	width: 50px;
	height: 50px;
	border: 1px solid #D34467;
	background-color: #fff;
	cursor: pointer;
}
.m_modal__closeBtn--modalSearch {
	top: 30px;
	bottom: auto;
}
.m_modal__closeBtn::before,
.m_modal__closeBtn::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 22px;
	height: 2px;
	margin: auto;
	background-color: #CC0033;
	transform: rotate(45deg);
}
.m_modal__closeBtn::after {
	transform: rotate(-45deg);
}
@media screen and (max-width: 1000px) {
	.m_modal__scrollArea {
		max-height: calc(100vh - 60px);
		max-height: calc(100dvh - 60px);
		padding: 40px 40px 60px;
	}
	.m_modal__closeBtn {
		right: 20px;
		bottom: 20px;
		width: 40px;
		height: 40px;
	}
	.m_modal__closeBtn--modalSearch {
		top: 20px;
		bottom: auto;
	}
}
@media screen and (max-width: 767px) {
	.m_modal__window .m_labelTitle + .m_imgBox {
		margin-top: 25px;
	}
	.m_modal__tabArea {
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.m_modal__scrollArea {
		padding: 20px 20px 65px;
	}
	.m_modal__closeBtn {
		bottom: 15px;
	}
	.m_modal__closeBtn--modalSearch {
		top: 15px;
	}
}
.m_modal--technology .m_modal__scrollArea{
	overflow-x: auto;
}
.m_modal--technology .m_modal__scrollArea .m_imgBox.w1920{
	width: calc(1920px + 240px + 40px);
	
}
@media screen and (max-width: 1000px) {
	.m_modal--technology .m_modal__scrollArea .m_imgBox.w1920{
		width: calc(1920px + 80px + 40px);
	}
}
@media screen and (max-width: 767px) {
	.m_modal--technology .m_modal__scrollArea .m_imgBox.w1920{
		width: calc(1920px + 40px + 30px);
	}
}

.m_toggleContents {
	margin: 40px 0;
	border-bottom: 2px solid #D5D5D5;
}
.m_toggleContents__title {
	position: relative;
	padding: 0 60px 25px;
	text-align: center;
	color: #484848;
	font-size: 200%;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.15;
	cursor: pointer;
}
.m_toggleContents__title::before {
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 18px;
	width: 50px;
	height: 50px;
	margin: auto 0;
	border: 1px solid #d34467;
}
.m_toggleContents__title > span::before,
.m_toggleContents__title > span::after,
.m_toggleContents__title > div::before,
.m_toggleContents__title > div::after {
	content: '';
	position: absolute;
	top: 0;
	right: 14px;
	bottom: 18px;
	width: 20px;
	height: 2px;
	margin: auto 0;
	border-radius: 1px;
	background-color: #CC0033;
}
.m_toggleContents__title > span::after,
.m_toggleContents__title > div::after {
	transform: rotate(90deg);
}
.m_toggleContents__title.is_open > span::after,
.m_toggleContents__title.is_open > div::after {
	display: none;
}
.m_toggleContents__title:hover::before {
	background-color: #CC0033;
}
.m_toggleContents__title:hover > span::before,
.m_toggleContents__title:hover > span::after,
.m_toggleContents__title:hover > div::before,
.m_toggleContents__title:hover > div::after {
	background-color: #fff;
}
.m_toggleContents__body {
	display: none;
	padding-bottom: 20px;
}
@media screen and (max-width: 1199px) {
	.m_toggleContents__title {
		padding: 0 50px 20px;
		font-size: 150%;
	}
	.m_toggleContents__title::before {
		width: 40px;
		height: 40px;
	}
	.m_toggleContents__title > span::before,
	.m_toggleContents__title > span::after,
	.m_toggleContents__title > div::before,
	.m_toggleContents__title > div::after {
		right: 9px;
	}
}
@media screen and (max-width: 767px) {
	.m_toggleContents {
		margin: 30px 0;
	}
	.m_toggleContents__title {
		padding: 0 40px 15px 15px;
		font-size: 112.5%;
		letter-spacing: 0;
	}
	.m_toggleContents__title::before {
		bottom: 10px;
		width: 30px;
		height: 30px;
	}
	.m_toggleContents__title > span::before,
	.m_toggleContents__title > span::after,
	.m_toggleContents__title > div::before,
	.m_toggleContents__title > div::after {
		right: 7px;
		bottom: 10px;
		width: 14px;
	}
	.m_toggleContents__body {
		padding-bottom: 15px;
	}
}

.m_faq {
	padding-top: 15px;
	padding-bottom: 15px;
	border-bottom: 2px solid #D5D5D5;
}
.m_faq__q, .m_faq__a {
	padding: 10px 70px 7px;
}
.m_faq__q {
	position: relative;
	font-size: 112.5%;
	font-weight: bold;
	background: url(../img/bg_faq_q.png) no-repeat 15px 15px;
	background-size: 20px 23px;
	cursor: pointer;
}
.m_faq__q::before, .m_faq__q::after {
	content: '';
	position: absolute;
	top: 25px;
	right: 30px;
	width: 20px;
	height: 2px;
	margin: auto 0;
	border-radius: 1px;
	background-color: #CC0033;
}
.m_faq__q::after {
	transform: rotate(90deg);
}
.m_faq__q.is_open::after {
	display: none;
}
.m_faq__a {
	display: none;
}
.m_faq__dlTable {
	display: table;
}
.m_faq__dlTable dt, .m_faq__dlTable dd {
	display: table-cell;
	vertical-align: top;
}
.m_faq__dlTable dt {
	min-width: 5.5em;
}
.m_faq__dlTable dd {
	text-indent: -2em;
	padding-left: 3em;
	text-align: left;
}
.m_faq__a > p + p, .m_faq__a > p + ul, .m_faq__a > p + ol, .m_faq__dlTable + p {
	margin-top: 20px;
}
@media screen and (max-width: 767px) {
	.m_faq {
		padding-top: 5px;
		padding-bottom: 5px;
	}
	.m_faq__q, .m_faq__a {
		padding: 5px 30px 5px 40px;
	}
	.m_faq__q {
		font-size: 100%;
		background-position: 0 10px;
	}
	.m_faq__q::before, .m_faq__q::after {
		top: 20px;
		right: 0;
	}
}

.m_grayBox, .m_docomoBox, .m_scope > li {
	border-radius: 25px;
	background: #F7F7F7;
}
.m_grayBox, .m_docomoBox {
	margin: 100px 0;
	padding: 50px 0;
}
.m_grayBox--tall {
	padding-top: 90px;
	padding-bottom: 90px;
}
.m_grayBox__title {
	margin-bottom: 30px;
	text-align: center;
	font-size: 200%;
	font-weight: 500;
	line-height: 1.4;
}
.m_grayBox__text {
	text-align: center;
}
.m_grayBox .m_button {
	margin-top: 30px;
}
@media screen and (max-width: 1199px) {
	.m_grayBox, .m_docomoBox {
		margin: 60px 0;
		padding: 30px 0;
	}
	.m_grayBox__title {
		margin-bottom: 30px;
		font-size: 150%;
	}
}
@media screen and (max-width: 767px) {
	.m_grayBox, .m_docomoBox {
		margin: 50px 0;
		border-radius: 10px;
		padding: 30px 0;
	}
	.m_grayBox__title {
		margin-bottom: 30px;
		font-size: 112.5%;
	}
}

.m_docomoBox__img, .m_docomoBox__title {
	text-align: center;
}
.m_docomoBox__title {
	color: #D34467;
	font-size: 175%;
	font-weight: bold;
	margin-top: 40px;
}
.m_docomoBox__text {
	font-size: 112.5%;
	margin-top: 20px;
}
@media screen and (max-width: 1199px) {
	.m_docomoBox__title {
		margin-top: 20px;
	}
	.m_docomoBox__text {
		font-size: 100%;
	}
}
@media screen and (max-width: 767px) {
	.m_docomoBox__img img {
		width: 200px;
	}
	.m_docomoBox__title {
		font-size: 125%;
	}
}

.m_scope {
	margin-top: 35px;
	margin-bottom: 100px;
}
.m_scope > li {
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 160px;
	padding: 30px 50px;
}
.m_scope > li + li {
	margin-top: 20px;
}
.m_scope__num {
	color: #D34467;
	width: 3em;
	font-size: 112.5%;
	font-weight: bold;
	line-height: 1.3;
	text-align: center;
}
.m_scope__num + div {
	width: calc(100% - 7em);
}
.m_scope__num span {
	font-size: 211.1%;
	font-weight: normal;
}
.m_scope__title {
	font-size: 137.5%;
	font-weight: bold;
}
@media screen and (max-width: 767px) {
	.m_scope > li {
		display: block;
		padding: 15px 20px;
	}
	.m_scope__num, .m_scope__num + div {
		width: auto;
	}
	.m_scope__num span {
		font-size: 200%;
		vertical-align: sub;
	}
	.m_scope__title {
		font-size: 125%;
	}
	.m_scope__text {
		margin-top: 10px;
	}
}

.m_photoBox {
	margin: 40px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 24px 2%;
}
.m_photoBox--jcCenter {
	justify-content: center;
}
.m_slide .m_photoBox {
	margin: 0;
	flex-wrap: nowrap;
	gap: 24px;
}
.swiper-initialized .m_photoBox {
	gap: 0;
}
.m_photoBox > li {
	background-color: #fff;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.m_photoBox > li {
	width: 32%;
}
.m_photoBox--col2 > li {
	width: 49%;
}
.m_photoBox--col4 > li {
	width: 23.5%;
}
.m_photoBox--noImg {
	border: 1px solid #D5D5D5;
}
.m_photoBox a {
	display: block;
	height: 100%;
	background-color: #fff;
	transition: background-color 0.3s;
}
.m_photoBox a:hover {
	background-color: #CC0033;
}
.m_photoBox__inner {
	min-height: 150px;
	padding: 18px 20px 25px;
	color: #CC0033;
	transition: color 0.3s;
}
.m_photoBox__inner--afy {
	position: relative;
	padding-bottom: 50px;
}
a:hover .m_photoBox__inner, a:hover .m_photoBox__title--color48 {
	color: #fff;
}
.m_photoBox__title {
	font-size: 125%;
	font-weight: bold;
}
.m_photoBox__title--color48 {
	color: #484848;
	transition: color 0.3s;
}
.m_photoBox__title--blank {
	background: url(../img/bg_button_blank_hover.png) no-repeat 100% 0%;
	padding-right: 30px;
}
a:hover .m_photoBox__title--blank {
	background: url(../img/bg_button_blank.png) no-repeat 100% 0%;
}
.m_photoBox__text {
	margin-top: 6px;
	color: #333;
	transition: color 0.3s;
}
.m_photoBox__text--date {
	font-size: 75%;
	margin-top: 10px;
}
a:hover .m_photoBox__text {
	color: #fff;
}
.m_photoBox__tag, .m_photoBox__category, .m_photoBox__writerWrap, .m_photoBox__writer, .m_technology__mainvis--writerWrap, .m_technology__mainvis--writer {
	display: flex;
}
.m_photoBox__tag, .m_photoBox__category, .m_photoBox__writerWrap, .m_technology__mainvis--writerWrap {
	gap: 0 18px;
}
.m_photoBox__tag, .m_photoBox__category {
	flex-wrap: wrap;
	font-size: 87.5%;
}
.m_photoBox__tag {
	margin-top: 10px;
}
.m_photoBox__category {
	margin-top: 5px;
}
.m_photoBox__category--afy {
	position: absolute;
	left: 20px;
	bottom: 15px;
}
.m_photoBox__writer, .m_technology__mainvis--writer {
	align-items: center;
}
.m_photoBox__writer {
	margin-top: 20px;
	gap: 0 10px;
}
.swiper-slide .m_photoBox__writer {
	margin-top: 0;
	width: 100%;
	gap: 0 18px;
}
.swiper-slide .m_photoBox__writer > .m_photoBox__writer {
	margin-top: 20px;
	width: calc(50% - 10px);
	gap: 0 10px;
}
.swiper-slide .m_photoBox__writer > .m_photoBox__writer .m_photoBox__text {
	width: calc(100% - 50px);
}
.m_photoBox__category > li {
	color: #484848;
	padding-right: 10px;
	padding-left: 10px;
	background-color: #E6E6E6;
	border-radius: 20px;
}
.m_photoBox__category--afy > li {
	min-width: 150px;
	text-align: center;
}
.m_photoBox__portrait, .m_technology__mainvis--portrait {
	border-radius: 50%;
	overflow: hidden;
}
.m_photoBox__portrait {
	/* width: 50px; */
	width: 40px;
}
.m_photoBox__embed {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
	cursor: pointer;
}
.m_photoBox__embed iframe {
	position: absolute;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
.m_photoBox__writerWrap, .m_technology__mainvis--writerWrap, .m_photoBox__writer {
	flex-wrap: wrap;
}
.m_technology__mainvis--writerWrap > div {
	width: calc(50% - 18px);
}
.m_technology__mainvis--writerWrap > div:nth-child(2n-1):last-child {
	width: 100%;
}
.m_photoBox a.m_hellopcTextLink {
	display: inline-block;
	background-color: unset;
	color: #CC0033;
	text-decoration: underline;
}
.m_photoBox a.m_hellopcTextLink:hover {
	background-color: unset;
	text-decoration: none;
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
	.m_photoBox--col2tb > li {
		width: 49%;
	}
	.m_photoBox--col2tb .m_photoBox__img img {
		width: 100%;
	}
}
@media screen and (max-width: 1000px) {
	.m_photoBox__inner {
		padding: 15px 15px 20px;
	}
	.m_photoBox__inner--afy {
		padding-bottom: 50px;
	}
	.m_photoBox__title {
		font-size: 112.5%;
	}
}
@media screen and (max-width: 767px) {
	.m_photoBox:not(.m_photoBox--noSlide) {
		margin: 0;
		flex-wrap: nowrap;
		gap: 0;
	}
	.m_photoBox > li {
		flex-shrink: 0;
		width: 100%;
	}
	.m_photoBox__inner {
		padding: 15px;
	}
	.m_photoBox__inner--afy {
		padding-bottom: 45px;
	}
	.m_photoBox__tag {
		margin-top: 15px;
		gap: 0 12px;
	}
	.m_photoBox__category--afy {
		bottom: 10px;
	}
	.m_technology__mainvis--writerWrap > div {
		width: 100%;
	}
/*	.swiper-slide .m_photoBox__writerWrap {
		gap: 0 5px;
	}
	.swiper-slide .m_photoBox__writer {
		gap: 0 5px;
	}
	.swiper-slide .m_photoBox__portrait {
		width: 35px;
	}
	.swiper-slide .m_photoBox__text {
		width: calc(100% - 45px);
		white-space: nowrap;
	}*/
}

.m_inLink {
	display: inline-block;
	text-decoration: underline;
}
.m_inLink:hover {
	text-decoration: none;
}

.m_onlineBnr {
	margin: 100px 0;
}
.m_onlineBnr__inner {
	position: relative;
	padding: 50px 200px 30px 240px;
	background: linear-gradient(70deg, #C5152D 20%, #ACACAC 100%);
	background-size: cover;
	border-radius: 40px;
	overflow: hidden;
}
.m_onlineBnr__title {
	position: absolute;
	width: 180px;
	height: 180px;
	top: 50%;
	left: 30px;
	transform: translateY(-50%);
}
.m_onlineBnr__text {
	color: #fff;
	font-size: 137.5%;
	font-weight: bold;
	line-height: 2.63;
	text-align: center;
}
.m_onlineBnr .m_button a {
	box-shadow: none;
}
@media screen and (max-width: 1199px) {
	.m_onlineBnr {
		margin-top: 90px;
	}
	.m_onlineBnr__inner {
		padding: 40px 5% 40px 23%;
	}
	.m_onlineBnr__title {
		width: 18%;
		height: auto;
		left: 2%;
	}
	.m_onlineBnr__text {
		font-size: 125%;
	}
}
@media screen and (max-width: 767px) {
	.m_onlineBnr {
		margin: 50px 0;
	}
	.m_onlineBnr__inner {
		padding: 25px 25px 30px;
		background: linear-gradient(135deg, #C5152D 0%, #ACACAC 100%);
	}
	.m_onlineBnr__title {
		position: static;
		width: auto;
		text-align: center;
		transform: translateY(0);
	}
	.m_onlineBnr__title img {
		width: 92px;
	}
	.m_onlineBnr__text {
		font-size: 100%;
		line-height: inherit;
		margin-top: 10px;
	}
}

.m_imgColBox {
	display: flex;
	align-items: center;
	border: 2px solid #D5D5D5;
	border-radius: 25px;
	overflow: hidden;
	background-color: #fff;
}
.m_imgColBox--reverse {
	flex-direction: row-reverse;
}
.m_imgColBox--noBorder {
	border: none;
}
.m_imgColBox__img {
	width: 50%;
	display: flex;
}
.m_imgColBox__inner {
	width: 50%;
	padding: 30px 50px;
}
.m_imgColBox__title {
	margin-bottom: 20px;
	text-align: center;
	font-size: 175%;
	font-weight: 500;
	line-height: 1.4;
	letter-spacing: 0.15em;
}
.m_imgColBox__text {
	font-size: 112.5%;
}
.m_imgColBox__tag {
	margin: 15px 0 40px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 15px;
}
.m_imgColBox__tag li {
	border-radius: 15px;
	background-color: #E6E6E6;
	padding: 1px 15px;
	color: #484848;
	font-size: 87.5%;
}
.m_imgColBox .m_button {
	margin-top: 20px;
}
@media screen and (min-width: 1001px) {
	.m_imgColBox__img {
		align-self: stretch;
	}
	.m_imgColBox__imgInner {
		position: relative;
		display: block;
		width: 100%;
		min-height: 387px;
		overflow: hidden;
	}
	.m_imgColBox__imgInner img {
		position: absolute;
		height: 100%;
		min-width: 600px;
		max-width: none;
		top: 0;
		left: 50%;
		transform: translate(-50%);
	}
}
@media screen and (max-width: 1000px) {
	.m_imgColBox {
		display: block;
		max-width: 600px;
		margin: 0 auto;
	}
	.m_imgColBox__img {
		width: 100%;
		text-align: center;
	}
	.m_imgColBox__inner {
		width: 100%;
		padding: 30px;
	}
}
@media screen and (max-width: 767px) {
	.m_imgColBox {
		border-radius: 10px;
	}
	.m_imgColBox__inner {
		padding: 20px 15px 30px;
	}
	.m_imgColBox__title {
		margin-bottom: 15px;
		font-size: 137.5%;
	}
	.m_imgColBox__text {
		font-size: 93.75%;
	}
	.m_imgColBox__tag {
		margin: 20px 0 20px;
		justify-content: flex-start;
	}
	.m_imgColBox__tag li {
		border-radius: 15px;
		background-color: #E6E6E6;
		padding: 1px 15px;
		color: #484848;
		font-size: 87.5%;
	}
}

.m_information {
	position: relative;
	margin-top: 80px;
}
.m_information__inner {
	display: flex;
}
.m_information__head {
	position: relative;
	width: 305px;
	padding-left: 45px;
}
.m_information__head::before {
	content: "";
	position: absolute;
	display: block;
	width: 119px;
	height: 119px;
	top: 0;
	left: 0;
	background-color: #F0B2C1;
	border-radius: 50%;
	z-index: 0;
}
.m_information__title {
	position: relative;
	color: #D34467;
	font-size: 250%;
	letter-spacing: 0.15em;
	z-index: 1;
}
.m_information__title--fs32 {
	font-size: 200%;
}
.m_information__link li + li {
	margin-top: 15px;
}
.m_information__list {
	width: calc(100% - 305px);
}
.m_press.is_hide > ul > li:nth-child(n+4) {
	display: none;
}
.m_leadText + .m_press--index {
	margin-top: 40px;
}
.m_press > ul {
	position: relative;
	z-index: 0;
}
.m_press--noInfo > ul, .m_press--index > ul {
	background-color: #fff;
}
.m_press > ul > li > a, .m_press > ul > li > .m_press--nopage {
	position: relative;
	display: flex;
	padding: 16px 0 10px;
	border-bottom: 2px solid #D5D5D5;
}
.m_press > ul > li > a {
	transition: 0.3s all;
}
.m_press--noInfo > ul > li > a {
	align-items: center;
	min-height: 80px;
	padding-right: 25px;
	padding-left: 25px;
}
.m_press--index > ul > li > a, .m_press--index > ul > li > .m_press--nopage {
	padding-right: 10px;
	padding-left: 10px;
}
.m_press > ul > li > a::before, .m_press > ul > li > .m_press--nopage::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 0;
	right: 0;
	bottom: -2px;
	margin: 0 -16px;
	z-index: 1;
}
.m_press > ul > li > a::before {
	transition: 0.3s all;
}
.m_press__thumb, .m_press--thumb .m_press__info, .m_press__text {
	align-self: center;
}
.m_press__thumb {
	width: 17.4%;
	margin-right: 3.4%;
}
.m_press__info {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	width: 9.8em;
	height: 4em;
	line-height: 1.6;
}
.m_press__info--article, .m_press__info--technology {
	justify-content: inherit;
	gap: 10px;
	width: auto;
	height: auto;
}
.m_press__info--article {
	margin-top: 45px;
}
.m_press__info--technology {
	margin-top: 20px;
}
.m_press--recruit .m_press__info {
	height: auto;
}
.m_press__info--date, .m_press__info--category {
	font-size: 93.8%;
}
.m_press__info--category {
	width: 10em;
	text-align: center;
	border-radius: 50px;
	letter-spacing: 0;
}
.m_press__info--technology .m_press__info--category {
	width: auto;
	padding-right: 10px;
	padding-left: 10px;
}
.m_press__info--category01 {
	background-color: #F8D9E0;
}
.m_press__info--category02 {
	background-color: #CCDBE9;
}
.m_press__info--category03 {
	background-color: #B7F4D3;
}
.m_press__info--category04, .m_press__info--technology .m_press__info--category {
	background-color: #E6E6E6;
}
.m_press__info--category05 {
	background-color: #FFE09B;
}
.m_press__info--category06 {
	background-color: #F0C4DF;
}
.m_press__info .icon--new, .m_button--list02 a .icon--new {
	font-size: 87.5%;
	padding-right: 10px;
	padding-left: 10px;
	background-color: #FFFFC9;
	border-radius: 24px;
}
.m_button--list02 a .icon--new {
	font-weight: normal;
}
.m_button--list02 a:hover .icon--new {
	color: #333;
}
.m_press__text {
	width: calc(100% - 10.8em);
	margin-left: 1em;
}
.m_press--noInfo .m_press__text {
	width: auto;
	margin-left: 0;
}
.m_press--thumb .m_press__text {
	width: calc(79.2% - 10.8em);
}
@media screen and (min-width: 1200px) {
	.m_press > ul > li > a:hover {
		border-bottom: 2px solid #fff;
	}
	.m_press > ul > li > a:hover::before {
		background: #fff;
		box-shadow: 0px 4px 16px rgba(0, 0, 0, 0.16);
	}
	.m_press__thumb, .m_press__info, .m_press__text {
		position: relative;
		z-index: 2;
	}
}
@media screen and (max-width: 1199px) {
	.m_information__head {
		width: 275px;
		min-height: 80px;
		padding-left: 15px;
	}
	.m_information__link li + li {
		margin-top: 0;
	}
	.m_information__list {
		width: calc(100% - 275px);
		padding-right: 10px;
		padding-left: 10px;
		background-color: rgba(255, 255, 255, 0.92);
	}
	.m_press--noInfo {
		padding-right: 0;
		padding-left: 0;
	}
	.m_press:not(.m_press--noInfo) > ul > li > a, .m_press:not(.m_press--noInfo) > ul > li > .m_press--nopage {
		display: block;
		padding-bottom: 45px;
	}
	.m_press--noInfo > ul > li > a {
		padding-top: 10px;
	}
	.m_press--thumb > ul > li > a {
		min-height: 160px;
		padding-left: calc(20.8% + 10px);
	}
	.m_press.m_press--recruit > ul > li > a {
		padding-bottom: 10px;
	}
	.m_press__thumb {
		position: absolute;
		top: 16px;
		left: 10px;
	}
	.m_press__info {
		height: auto;
	}
	.m_press__info--category {
		position: absolute;
		bottom: 15px;
		left: 0;
	}
	.m_press--index .m_press__info--category {
		left: 10px;
	}
	.m_press--thumb .m_press__info--category {
		left: calc(20.8% + 10px);
	}
	.m_press__info--article .m_press__info--category, .m_press__info--technology .m_press__info--category {
		position: static;
	}
	.m_press__text, .m_press--thumb .m_press__text {
		width: auto;
	}
	.m_press__text {
		font-size: 93.8%;
		margin-top: 5px;
		margin-left: 0;
	}
}
@media screen and (max-width: 1024px) {
	.m_press--thumb > ul > li > a {
		min-height: 140px;
	}
}
@media screen and (max-width: 767px) {
	.m_information {
		margin-top: 30px;
	}
	.m_information__inner {
		display: block;
	}
	.m_information__head::before {
		width: 72px;
		height: 72px;
		left: -10px;
	}
	.m_information__title {
		font-size: 150%;
	}
	.m_information__list {
		width: auto;
	}
	.m_press--noInfo > ul > li > a, .m_press--thumb > ul > li > a {
		padding-left: 10px;
	}
	.m_press--noInfo > ul > li > a {
		padding-right: 10px;
	}
	.m_press__thumb {
		position: static;
		width: auto;
		margin-right: 0;
		text-align: center;
	}
	.m_press--thumb .m_press__info {
		margin-top: 15px;
	}
	.m_press--thumb .m_press__info--category {
		left: 10px;
	}
}

.m_important {
	display: flex;
	padding: 8px 9px;
	border: 1px solid #AA0055;
	border-radius: 10px;
}
.m_important__head {
	display: flex;
	align-items: center;
	width: 284px;
	padding-bottom: 10px;
	padding-left: 20px;
}
.m_important__image {
	width: 44px;
}
.m_important__text {
	width: calc(100% - 66px);
	text-align: center;
}
.m_important__title {
	color: #AA0055;
	font-size: 125%;
}
.m_important__list {
	color: #AA0055;
	width: calc(100% - 284px);
	padding: 10px 25px 0;
	background-color: #F7F7F7;
	border-radius: 10px;
	box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.16);
}
.m_important__list li {
	overflow: hidden;
}
.m_important__list a {
	display: inline-block;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}
.m_important__list .m_leftToRight::after {
	height: 1px;
	bottom: 2px;
	background-color: #AA0055;
}
@media screen and (max-width: 1199px) {
	.m_important__list a {
		width: 100%;
		font-size: 93.8%;
	}
}
@media screen and (max-width: 767px) {
	.m_important {
		display: block;
		padding: 14px;
	}
	.m_important__head{
		padding-left: 30px;
	}
	.m_important__list {
		width: auto;
		padding: 20px 12px 10px;
	}
}

.m_moreBtn {
	position: relative;
	margin: 50px auto 0;
	width: 280px;
	border-top: 2px solid #CC0033;
	padding: 18px 40px 18px 0;
	text-align: center;
	color: #CC0033;
	font-size: 112.5%;
	font-weight: bold;
	cursor: pointer;
	transition: opacity 0.3s;
}
.m_moreBtn:hover {
	opacity: 0.8;
}
.m_moreBtn::before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #004E90;
}
.m_moreBtn::after {
	content: '＋';
	position: absolute;
	top: 0;
	right: -5px;
	font-size: 200%;
	font-weight: normal;
}
.m_moreBtn.is_close {
	border-top: none;
	border-bottom: 2px solid #CC0033;
}
.m_moreBtn.is_close::before {
	top: auto;
	bottom: -5px;
}
.m_moreBtn.is_close::after {
	content: '－';
}
.m_moreBtn__wrap--list10.is_hide > ul > li:nth-child(n+10) {
	display: none;
}
@media screen and (max-width: 767px) {
	.m_moreBtn {
		width: 225px;
		padding: 12px 30px 12px 0;
		font-size: 100%;
	}
	.m_moreBtn::after {
		line-height: 1.7;
	}
}

.m_keywordBox, .m_whiteBox {
	border-radius: 25px;
	background-color: #fff;
	padding: 40px 20px 50px;
}
.m_whiteBox {
	margin-top: 40px;
}
.m_keywordBox, .m_whiteBox + .m_whiteBox {
	margin-top: 60px;
}
.m_keywordBox__title {
	margin-bottom: 35px;
	text-align: center;
	font-size: 125%;
	font-weight: 500;
}
.m_keywordBox ul {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 10px 40px;
	color: #CC0033;
	font-size: 112.5%;
}
.m_keywordBox--themeIndex ul > li + li {
	position: relative;
}
.m_keywordBox--themeIndex ul > li + li::before, .m_keywordBox--themeIndex ul > li + li::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	background-color: #333;
}
.m_keywordBox--themeIndex ul > li + li::before {
	width: 12px;
	height: 2px;
	left: -26px;
}
.m_keywordBox--themeIndex ul > li + li::after {
	width: 2px;
	height: 12px;
	left: -21px;
}
@media screen and (max-width: 767px) {
	.m_keywordBox, .m_whiteBox {
		margin-top: 40px;
		padding: 30px 15px 35px;
	}
	.m_whiteBox + .m_whiteBox {
		margin-top: 40px;
	}
	.m_keywordBox__title {
		margin-bottom: 25px;
	}
	.m_keywordBox ul {
		gap: 10px 25px;
		font-size: 93.75%;
	}
	.m_keywordBox--themeIndex ul {
		gap: 30px 25px;
	}
	.m_keywordBox--themeIndex ul > li + li::before, .m_keywordBox--themeIndex ul > li + li::after {
		right: 0;
		bottom: auto;
		left: 0;
	}
	.m_keywordBox--themeIndex ul > li + li::before {
		top: -15px;
	}
	.m_keywordBox--themeIndex ul > li + li::after {
		top: -20px;
	}
}

.m_contactBox {
	margin: 150px 0 100px;
	border-radius: 25px;
	background: linear-gradient(135deg,#CC0033 25%, #024D8D 75%);
	padding: 65px 20px 70px;
}
.m_bgArea--contactBox .m_contactBox {
	margin-top: 100px;
}
.m_contactBox h2 {
	text-align: center;
	color: #fff;
	font-size: 200%;
	font-weight: 500;
	letter-spacing: 0.15em;
}
.m_contactBox .m_button {
	margin-top: 30px;
	display: flex;
	gap: 20px 24px;
	justify-content: center;
}
.m_contactBox .m_button li {
	width: 48%;
	max-width: 435px;
}
.m_contactBox .m_button a {
	width: 100%;
}
@media screen and (max-width: 1199px) {
	.m_contactBox {
		margin: 100px 0 80px;
	}
	.m_bgArea--contactBox .m_contactBox {
		margin-top: 80px;
	}
}
@media screen and (max-width: 767px) {
	.m_contactBox {
		margin: 60px 0 40px;
		background: linear-gradient(165deg,#CC0033 15%, #024D8D 120%);
		padding: 30px 15px 50px;
	}
	.m_bgArea--contactBox .m_contactBox {
		margin-top: 40px;
	}
	.m_contactBox h2 {
		font-size: 137.5%;
		letter-spacing: 0.07em;
	}
	.m_contactBox .m_button {
		flex-direction: column;
		align-items: center;
	}
	.m_contactBox .m_button li {
		width: 100%;
	}
}

.m_localNavi__top {
	margin-bottom: 30px;
	color: #CC0033;
	font-size: 125%;
	font-weight: bold;
}
.m_localNavi__top .m_leftToRight {
	display: inline-block;
}
.m_localNavi__navi {
	border-top: 2px solid #D34467;
	color: #484848;
	font-weight: bold;
}
.m_localNavi__navi > li {
	position: relative;
	padding-bottom: 1px;
	display: flex;
	align-items: center;
}
.m_localNavi__navi > li::after {
	content: '';
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	border-bottom: 2px solid #D34467;
}
.m_localNavi__categ {
	width: 12%;
	min-width: 120px;
	flex-shrink: 0;
}
.m_localNavi__link {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 0 5%;
	width: 100%;
	background: repeating-linear-gradient(#fff 0%,#fff 65px,#707070 66px);
}
.m_localNavi__link a {
	position: relative;
	display: flex;
	align-items: center;
	height: 66px;
	font-size: 87.5%;
}
.m_localNavi__link .m_leftToRight::after {
	bottom: 0;
	height: 4px;
}
.m_localNavi__link .m_leftToRight.is_current::after {
	content: "";
	position: absolute;
	width: 100%;
	left: 0;
	background: #CC0033;
	transform: scale(1, 1);
	transform-origin: left top;
	transition: transform .3s;
}
@media screen and (max-width: 1000px) {
	.m_localNavi__top {
		margin-bottom: 20px;
	}
}
@media screen and (max-width: 600px) {
	.m_localNavi__top {
		margin-bottom: 15px;
		font-size: 93.75%;
	}
	.m_localNavi__navi > li {
		display: block;
	}
	.m_localNavi__categ {
		width: auto;
		padding-top: 20px;
		font-size: 87.5%;
	}
	.m_localNavi__link {
		background: repeating-linear-gradient(#fff 0%,#fff 63px,#707070 64px);
		gap: 0 10%;
	}
	.m_localNavi__link a {
		display: flex;
		align-items: center;
		height: 64px;
		padding: 0;
	}
}

.m_relatedLink {
	display: flex;
	flex-wrap: wrap;
	gap: 20px 2%;
}
.m_relatedLink > li {
	width: 23.5%;
}
.m_relatedLink a {
	position: relative;
	display: block;
	height: 100%;
	border-top: 2px solid #CC0033;
	padding: 25px 0 70%;
	transition: opacity 0.3s;
}
.m_relatedLink a:hover {
	opacity: 0.7;
}
.m_relatedLink a::before {
	content: '';
	position: absolute;
	top: -5px;
	left: 0;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background-color: #004E90;
}
.m_relatedLink__title {
	margin-bottom: 15px;
	display: inline-block;
	background: url(../img/bg_button_blank_hover.png) no-repeat 100% 50%;
	padding-right: 30px;
	font-weight: bold;
}
.m_relatedLink__img {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
.m_relatedLink__img img {
	width: 100%;
}
@media screen and (max-width: 767px) {
	.m_relatedLink {
		flex-wrap: nowrap;
		gap: 0;
		padding-top: 3px;
	}
	.m_relatedLink > li {
		flex-shrink: 0;
		width: 100%;
	}
}

.m_slide {
	margin-left: -10px;
	margin-right: -10px;
	padding: 0 10px;
}
.m_spSlide .swiper-slide, .m_slide .swiper-slide {
	height: auto;
}
.m_slide__control {
	margin-top: 35px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0 10px;
}
.m_slide .swiper-pagination-bullets.swiper-pagination-horizontal {
	position: static;
	width: auto;
}
.m_slide .swiper-pagination-bullet {
	height: 24px;
	width: 24px;
	background-color: #fff;
	border: 1px solid #D34467;
	opacity: 1;
}
.m_slide .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	vertical-align: middle;
	margin: 0 8px;
}
.m_slide .swiper-pagination-bullet-active {
	background-color: #D34467;
}
.m_slide .swiper-button-next,
.m_slide .swiper-button-prev {
	position: static;
	margin-top: 0;
	width: 53px;
	height: 50px;
	top: auto;
	bottom: 8px;
	background: url(/img_new/bg_swiper_button.png) no-repeat;
	background-size: contain;
}
.m_slide .swiper-button-next {
	transform: scale(-1, -1);
}
.m_slide .swiper-button-next::after,
.m_slide .swiper-button-prev::after {
	content: "";
}
@media screen and (min-width: 768px) {
	.m_spSlide {
		overflow: visible !important;
	}
	.m_spSlide .swiper-pagination,
	.m_spSlide .swiper-button-prev,
	.m_spSlide .swiper-button-next {
		display: none;
	}
}
@media screen and (max-width: 767px) {
	.m_spSlide, .m_slide {
		margin: 0 -15px !important;
	}
	.m_spSlide__control, .m_slide__control {
		margin-top: 20px;
	}
	.m_spSlide__control {
		display: flex;
		justify-content: center;
		align-items: center;
		gap: 0 10px;
	}
	.m_spSlide .swiper-pagination-bullets.swiper-pagination-horizontal {
		position: static;
		width: auto;
	}
	.m_spSlide .swiper-pagination-bullet, .m_slide .swiper-pagination-bullet {
		width: 12px;
		height: 12px;
	}
	.m_spSlide .swiper-pagination-bullet {
		background-color: #fff;
		border: 1px solid #D34467;
		opacity: 1;
	}
	.m_spSlide .swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		margin: 0 8px;
	}
	.m_spSlide .swiper-pagination-bullet-active, .m_slide .swiper-pagination-bullet-active {
		background-color: #CC0033;
	}
	.m_spSlide .swiper-button-next,
	.m_spSlide .swiper-button-prev,
	.m_slide .swiper-button-next,
	.m_slide .swiper-button-prev {
		position: static;
		margin-top: 0;
		width: 29px;
		height: 27px;
		top: auto;
		bottom: 12px;
		background: url(/img_new/bg_swiper_button_sp.png) no-repeat;
		background-size: contain;
	}
	.m_spSlide .swiper-button-next {
		transform: scale(-1, -1);
	}
	.m_spSlide .swiper-button-next::after,
	.m_spSlide .swiper-button-prev::after {
		content: "";
	}
}

.m_tab {
}
.m_tab--widthMax {
	margin-bottom: 60px;
	border-bottom: 2px solid #E6E6E6;
}
.m_tab__list > ul {
	display: flex;
}
.m_tab--widthMax .m_tab__list > ul {
	max-width: 1230px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 15px;
	padding-left: 15px;
}
.m_tab--widthMax .m_tab__list--col5 > ul {
	max-width: 1470px;
}
.m_tab__list--col2 > ul > li {
	width: 50%;
}
.m_tab__list--col3 > ul > li {
	width: 33.33%;
}
.m_tab__list--col4 > ul > li {
	width: 25%;
}
.m_tab__list--col5 > ul > li {
	width: 20%;
}
.m_tab__list > ul > li > a,
.m_tab__list > ul > li > span {
	color: #CC1533;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100%;
	font-size: 175%;
	font-weight: bold;
	text-align: center;
	padding: 22px 20px;
	background-color: #fff;
	border: 2px solid #CC0033;
	border-radius: 20px 20px 0 0;
	box-shadow: inset 0 3px 6px rgba(0, 0, 0, 0.16);
	transition: 0.3s all;
	cursor: pointer;
}
.m_tab:not(.m_tab--widthMax) .m_tab__list > ul > li > span {
	/* cursor: pointer; */
}
.m_tab__list--col4 > ul > li > a,
.m_tab__list--col4 > ul > li > span,
.m_tab__list--col5 > ul > li > a,
.m_tab__list--col5 > ul > li > span {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-right: 10px;
	padding-left: 10px;
}
.m_tab__list--col4 > ul > li > a,
.m_tab__list--col4 > ul > li > span {
	font-size: 125%;
}
.m_tab__list--col5 > ul > li > a,
.m_tab__list--col5 > ul > li > span {
	font-size: 137.5%;
}
.m_tab__list > ul > li.is_current > a,
.m_tab__list > ul > li.is_current > span {
	color: #fff;
	background-color: #D34467;
	border-color: #D34467;
	box-shadow: none;
}
.m_tab__list > ul > li.is_current > span {
	pointer-events: none;
}
.m_tab__content {
	display: none;
	padding-top: 60px;
	padding-bottom: 120px;
	background-color: rgba(247, 247, 247, 0.92);
}
.m_tab__content--lower {
	padding-bottom: 100px;
}
.m_tab__content--modalSearch {
	padding-top: 0;
	padding-bottom: 0;
}
.m_tab__inner {
	max-width: 1240px;
	margin-right: auto;
	margin-left: auto;
	padding-right: 20px;
	padding-left: 20px;
}
@media screen and (min-width: 1200px) {
	.m_tab__list > ul > li:not(.is_current) > a:hover,
	.m_tab__list > ul > li:not(.is_current) > span:hover {
		color: #fff;
		background-color: #CC0033;
		box-shadow: none;
	}
}
@media screen and (max-width: 1199px) {
	.m_tab__list--col5 > ul > li {
		width: auto;
		flex-grow: 1;
	}
	.m_tab__list > ul > li > a,
	.m_tab__list > ul > li > span {
		font-size: 125%;
		border-radius: 10px 10px 0 0;
	}
	.m_tab__list--col4 > ul > li > a,
	.m_tab__list--col4 > ul > li > span,
	.m_tab__list--col5 > ul > li > span {
		font-size: 100%;
	}
	.m_tab__list--col5 > ul > li > span {
		line-height: 1.3;
	}
}
@media screen and (max-width: 767px) {
	.m_tab {
	}
	.m_tab--widthMax {
		margin-bottom: 30px;
	}
	.m_tab__list--col4 > ul,
	.m_tab__list--col5 > ul {
		display: block;
	}
	.m_tab__list--col4 > ul > li,
	.m_tab__list--col5 > ul > li {
		width: 100%;
	}
	.m_tab__list--spScroll {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.m_tab__list--spScroll > ul {
		display: flex;
		flex-wrap: nowrap;
	}
	.m_tab__list--spScroll > ul > li {
		width: 72%;
		max-width: 270px;
		flex-shrink: 0;
	}
	.m_tab__list > ul > li > a,
	.m_tab__list > ul > li > span {
		font-size: 100%;
		line-height: 1.5;
		padding: 8px 15px;
		border-radius: 4px 4px 0 0;
	}
	.m_tab__list--col4 > ul > li > a,
	.m_tab__list--col4 > ul > li > span {
		padding-right: 0;
		padding-left: 0;
	}
	.m_tab__content {
		padding-top: 25px;
	}
	.m_tab__content--modalSearch {
		padding-top: 0;
	}
	.m_tab__inner {
		padding-right: 15px;
		padding-left: 15px;
	}
}

.m_partner {
	margin: 120px 0;
}
.m_partner__inner {
	padding: 48px 30px;
	background: url(../img/bg_partner_02.png) no-repeat center center;
	background-size: auto 100%;
	background-size: cover;
	border-radius: 40px;
	overflow: hidden;
}
.m_partner__title, .m_partner__text {
	color: #fff;
}
.m_partner__title {
	font-size: 187.5%;
	font-weight: 500;
	text-align: center;
}
.m_partner__text {
	max-width: 54em;
	font-size: 93.8%;
	margin-top: 15px;
	margin-right: auto;
	margin-left: auto;
}
@media screen and (max-width: 1199px) {
	.m_partner {
		margin: 90px 0;
	}
}
@media screen and (max-width: 767px) {
	.m_partner {
		margin: 45px 0;
	}
	.m_partner__inner {
		padding: 40px 18px;
	}
	.m_partner__title {
		font-size: 125%;
	}
}

.m_servicelinkWrap + .m_servicelinkWrap {
	margin-top: 50px;
}
@media screen and (max-width: 767px) {
	.m_servicelinkWrap + .m_servicelinkWrap {
		margin-top: 30px;
	}
}

.m_imgColLink a {
	display: flex;
	border-radius: 25px;
	overflow: hidden;
	background-color: #fff;
	border: 1px solid #D5D5D5;
	box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
	transition: background-color 0.3s;
}
.m_imgColLink a:hover {
	background-color: #CC0033;
}
.m_imgColLink__img {
	width: 32.97%;
	display: flex;
	align-items: center;
}
.m_imgColLink__img--center {
	justify-content: center;
	background-color: #fff;
}
.m_imgColLink__inner {
	width: 67.03%;
	padding: 30px 50px;
	padding: 40px;
	transition: color 0.3s;
}
.m_imgColLink__title {
	margin-bottom: 10px;
	font-size: 125%;
	font-weight: bold;
	line-height: 1.8;
	color: #D34467;
}
.m_imgColLink__title--blank {
	background: url(../img/bg_button_blank_hover.png) no-repeat 100% 0%;
	padding-right: 30px;
}
a:hover .m_imgColLink__title,
a:hover .m_imgColLink__text {
	color: #fff;
}
a:hover .m_imgColLink__title--blank {
	background: url(../img/bg_button_blank.png) no-repeat 100% 0%;
}
@media screen and (min-width: 768px) {
	.m_imgColLink__img {
		align-items: stretch;
	}
	.m_imgColLink__imgInner {
		position: relative;
		display: block;
		width: 100%;
		min-height: 241px;
		overflow: hidden;
	}
	.m_imgColLink__imgInner img {
		position: absolute;
		min-width: 395px;
		max-width: none;
		height: 100%;
		top: 0;
		left: 50%;
		transform: translate(-50%);
	}
	.m_imgColLink__imgInner--narrow img {
		min-width: 374px;
	}
}
@media screen and (max-width: 767px) {
	.m_imgColLink {
		border-radius: 10px;
	}
	.m_imgColLink a, .m_imgColLink__img {
		display: block;
	}
	.m_imgColLink__img {
		width: auto;
		text-align: center;
	}
	.m_imgColLink__inner {
		width: 100%;
		padding: 20px 15px 30px;
	}
	.m_imgColLink__title {
		font-size: 137.5%;
	}
	.m_imgColLink__text {
		font-size: 93.75%;
	}
}

.m_boxLink {
	margin: 20px 0;
	display: flex;
	flex-wrap: wrap;
	gap: 24px 2%;
}
.m_boxLink > li {
	background-color: #fff;
	border: 1px solid #D5D5D5;
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}
.m_boxLink > li {
	width: 32%;
}
.m_boxLink a {
	display: block;
	height: 100%;
	background-color: #fff;
	transition: background-color 0.3s;
}
.m_boxLink a:hover {
	background-color: #CC0033;
}
.m_boxLink__inner {
	padding: 18px 20px 25px;
	color: #CC0033;
	transition: color 0.3s;
}
a:hover .m_boxLink__inner {
	color: #fff;
}
.m_boxLink__title {
	font-size: 125%;
	font-weight: bold;
}
.m_boxLink__text {
	margin-top: 6px;
	color: #333;
	transition: color 0.3s;
}
a:hover .m_boxLink__text {
	color: #fff;
}
@media screen and (max-width: 1000px) {
	.m_boxLink > li {
		width: 49%;
	}
	.m_boxLink__inner {
		padding: 15px 15px 20px;
	}
	.m_boxLink__title {
		font-size: 112.5%;
	}
}
@media screen and (max-width: 767px) {
	.m_boxLink {
	}
	.m_boxLink > li {
		flex-shrink: 0;
		width: 100%;
	}
	.m_boxLink__inner {
		padding: 15px;
	}
}

.m_checkbox, .m_radio {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	font-weight: bold;
	gap: 20px 2%;
}
.m_checkbox + .m_checkbox, .m_radio + .m_radio {
	margin-top: 30px;
}
.m_checkbox--sizeL, .m_radio--sizeL {
	font-size: 112.5%;
}
.m_checkbox .m_checkbox__item, .m_radio--col3 .m_radio__item {
	width: 32%;
}
.m_checkbox--col4 .m_checkbox__item, .m_radio--col4 .m_radio__item {
	width: 23.5%;
}
.m_checkbox--sizeL .m_checkbox__item {
	width: 49%;
}
.m_checkbox input, .m_radio input {
	display: none;
}
.m_checkbox input + span, .m_radio input + label {
	position: relative;
	display: inline-block;
	padding: 1px 0 1px 40px;
	cursor: pointer;
}
.m_checkbox--sizeL input + span {
	padding: 5px 0 5px 60px;
}
.m_checkbox input + span::before, .m_radio input + label::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	width: 30px;
	height: 30px;
	background-color: #fff;
	border: 1px solid #CC0033;
	margin: auto;
}
.m_radio input + label::before {
	border-radius: 50%;
}
.m_checkbox--sizeL input + span::before {
	width: 40px;
	height: 40px;
}
.m_checkbox input:checked + span::before {
	background-color: #CC0033;
}
.m_checkbox input + span::after {
	display: none;
}
.m_checkbox input:checked + span::after {
	display: block;
	content: "";
	position: absolute;
	top: 0;
	bottom: 3px;
	left: 10px;
	width: 10px;
	height: 20px;
	border-right: 2px solid #fff;
	border-bottom: 2px solid #fff;
	transform: rotate(45deg);
	margin: auto 0;
}
.m_checkbox--sizeL input:checked + span::after {
	left: 15px;
}
.m_radio input + label > span {
	position: relative;
	display: block;
}
.m_radio input + label > span::before {
	display: none;
	content: "";
	position: absolute;
	top: 6px;
	left: -34px;
	width: 18px;
	height: 18px;
	background-color: #CC0033;
	border-radius: 50%;
}
.m_radio input:checked + label > span::before {
	display: block;
}
.m_radio--sizeL input:checked + label > span::before {
	top: 8px;
}
@media screen and (max-width: 1000px) {
	.m_radio {
		gap: 20px;
	}
	.m_checkbox .m_checkbox__item,
	.m_checkbox--sizeL .m_checkbox__item,
	.m_radio--col3 .m_radio__item,
	.m_radio--col4 .m_radio__item {
		width: auto;
	}
}
@media screen and (max-width: 767px) {
	.m_checkbox, .m_radio {
		font-size: 93.75%;
	}
	.m_checkbox--sizeL {
		font-size: 100%;
	}
	.m_radio input + label > span::before {
		top: 5px;
	}
	.m_radio--sizeL input:checked + label > span::before {
		top: 6px;
	}
}

.m_service__search .mf_finder_searchBox_useSelects {
	max-width: 690px;
}
.m_service__search .mf_finder_organic_wrapper {
	margin-top: 30px;
}
.m_service__search input {
	width: 690px;
	max-width: 100%;
	height: 70px;
	border-radius: 10px;
	background: #fff;
	padding: 8px 15px;
	border: 1.25px solid #D5D5D5;
	box-shadow: 0 3px 6px rgba(0,0,0,0.16) inset;
	letter-spacing: 0.2em;
	box-sizing: border-box !important;
}
.m_service__search button {
	position: absolute;
	top: 0;
	right: 0;
	width: 55px;
	height: 70px;
	background: url(../img/hd_ico_search.png) no-repeat 50% 50%;
	transition: opacity 0.2s;
	cursor: pointer;
}
.m_service__search button:hover {
	opacity: 0.7;
}
.m_service__search .mf_finder_searchBox {
	margin: 0;
	padding: 0;
}
.m_service__search .mf_finder_searchBox_items {
	display: block;
	padding: 0;
}
.m_service__search .mf_finder_searchBox_query_wrap {
	max-width: none;
	padding: 0;
	width: auto;
	height: auto;
}
.m_service__search .mf_finder_searchBox_suggest_item {
	color: #fff;
}
.m_service__search .mf_finder_searchBox_submit {
	padding: 0;
}
.m_service__search .mf_finder_searchBox_submit:before {
	display: none;
}
.m_service__search .mf_finder_searchBox .mf_finder_searchBox_query_input {
	font-size: 100% !important;
}

.m_searchResults {
	margin-top: 60px;
	margin-bottom: 30px;
	color: #D34467;
	font-size: 150%;
	font-weight: bold;
	letter-spacing: 0.15em;
}
@media screen and (max-width: 767px) {
	.m_searchResults {
		margin-top: 40px;
		margin-bottom: 20px;
		font-size: 137.5%;
	}
}

.m_scrollBox {
	position: relative;
	padding: 40px 10px 30px;
	overflow: hidden;
}
.m_scrollBox__inner {
	margin-right: -30px;
	max-height: calc(100vh - 530px);
	max-height: calc(100dvh - 530px);
	padding-right: 45px;
	padding-bottom: 30px;
	overflow-x: hidden;
	overflow-y: scroll;
}
.m_scrollBox__barArea {
	position: absolute;
	top: 40px;
	right: 10px;
	bottom: 30px;
	border-right: 2px solid #ddd;
}
.m_scrollBox__bar {
	position: absolute;
	left: -14px;
	width: 30px;
	cursor: pointer;
}
.m_scrollBox__bar::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 2px;
	margin: 0 auto;
	background-color: #242424;
}
.m_spScroll {
	overflow-x: auto;
}
@media screen and (max-width: 767px) {
	.m_scrollBox {
		padding-top: 20px;
	}
	.m_tab__inner .m_scrollBox {
		margin-right: -15px;
		margin-left: -15px;
	}
	.m_scrollBox__inner {
		max-height: calc(100vh - 380px);
		max-height: calc(100dvh - 380px);
	}
	.m_scrollBox__barArea {
		top: 20px;
	}
}

.m_productAwards > li {
	display: table;
	table-layout: fixed;
	width: 100%;
}
.m_productAwards > li + li {
	margin-top: 20px;
}
.m_productAwards > li > * {
	display: table-cell;
	vertical-align: middle;
}
.m_productAwards__img {
	width: 85px;
	text-align: center;
	padding-right: 15px;
}
@media screen and (max-width: 767px) {
	.m_productAwards > li, .m_productAwards > li > * {
		display: block;
	}
	.m_productAwards__img {
		margin-right: auto;
		margin-bottom: 10px;
		margin-left: auto;
		padding-right: 0;
	}
}

.m_article {
	padding-top: 100px;
}
.m_article__heading, .m_article__titleL, .m_article__titleM, .m_article__titleS, .m_article__titleSS, .m_article__imgTitle, .m_technology__titleM, .m_experts__titleM {
	line-height: 1.67;
}
.m_article__heading, .m_article__category {
	font-weight: bold;
	letter-spacing: 0.2em;
}
.m_article__heading {
	font-size: 225%;
	margin-top: 15px;
}
.m_article__category {
	font-size: 187.5%;
}
.m_article__category::before {
	content: "";
	display: inline-block;
	width: 24px;
	height: 24px;
	vertical-align: -0.05em;
	margin-right: 18px;
	background-color: #CC0033;
	border-radius: 50%;
}
.m_article__wrap {
	margin-top: 55px;
}
.m_article__body img {
	height: auto;
}
.m_article__body > p + p, .m_article__body > p + ul, .m_article__body > ul + p, .m_article__body > p + ol, .m_article__body > ol + p, .m_article__body > .u_clearfix p + p, .m_article__body > .u_clearfix p + ul, .m_article__body > .u_clearfix ul + p, .m_article__body > .u_clearfix p + ol, .m_article__body > .u_clearfix ol + p {
	margin-top: 20px;
}
.m_article__titleL, .m_article__titleM, .m_article__titleS, .m_article__titleSS, .m_article__imgTitle, .m_technology__titleM, .m_experts__titleM {
	color: #484848;
	font-weight: bold;
}
.m_article__titleL {
	font-size: 200%;
	margin-top: 70px;
	margin-bottom: 15px;
}
.m_article__titleM, .m_technology__titleM, .m_experts__titleM {
	font-size: 162.5%;
	margin-top: 45px;
	margin-bottom: 25px;
	padding-bottom: 7px;
	border-bottom: 2px solid #D5D5D5;
}
.m_article__titleL + .m_article__titleM {
	margin-top: 25px;
}
.m_article__titleS {
	font-size: 137.5%;
	margin-top: 30px;
	margin-bottom: 20px;
}
.m_article__titleSS, .m_article__imgTitle {
	font-size: 125%;
}
.m_article__body > .m_article__titleSS, .m_article__body > .m_article__imgTitle {
	margin-top: 35px;
	margin-bottom: 20px;
}
.m_article__body hr {
	margin: 20px 0;
}
@media screen and (max-width: 767px) {
	.m_article {
		padding-top: 60px;
	}
	.m_article__heading, .m_article__category {
		letter-spacing: 0;
	}
	.m_article__heading, .m_article__titleL {
		font-size: 137.5%;
	}
	.m_article__category, .m_article__titleS {
		font-size: 112.5%;
	}
	.m_article__category::before {
		width: 16px;
		height: 16px;
		margin-right: 10px;
	}
	.m_article__titleM, .m_technology__titleM, .m_experts__titleM {
		font-size: 125%;
	}
	.m_article__titleSS, .m_article__imgTitle {
		font-size: 100%;
	}
}

.m_figureImg {
	margin: 20px 0;
	text-align: center;
	position: relative;
}
.m_figureImg--nomt {
	margin-top: 0;
}
.m_figureImg--left {
	margin: 0 20px 20px 0;
	float: left;
}
.m_figureImg--right {
	margin: 0 0 20px 20px;
	float: right;
}
@media screen and (max-width: 767px) {
	.m_figureImg {
		margin:10px 0;
	}
	.m_figureImg--nomt {
		margin-top: 0;
	}
	.m_figureImg--left, .m_figureImg--right {
		margin: 0 0 10px;
		text-align: center;
		float: none;
		clear: both;
	}
}

.m_writer {
	display: flex;
	margin-top: 150px;
	margin-bottom: 120px;
}
.m_writer__portrait {
	width: 150px;
	height: 150px;
	border-radius: 50%;
	overflow: hidden;
}
.m_writer__data {
	width: calc(100% - 150px);
}
.m_writer__data > * {
	padding-left: 30px;
}
.m_writer__name {
	position: relative;
	/* height: 75px; */
	font-size: 225%;
	font-weight: bold;
	margin-bottom: 20px;
	border-bottom: 1px solid #D34467;
}
.m_writer__name--flex {
	display: flex;
	align-items: baseline;
}
.m_writer__name::before, .m_writer__name::after {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	bottom: -4px;
	border-radius: 50%;
}
.m_writer__name::after {
	right: 0;
	background-color: #004E90;
}
.m_writer__position {
	display: inline-block;
	font-size: 55.6%;
	line-height: 1.5;
	margin-left: 20px;
}
.m_writer__position--flex {
	display:flex;
	flex-wrap: wrap;
	gap: 0 1em;
	margin-left: 0;
	padding-bottom: 20px;
}
@media screen and (max-width: 1199px) {
	.m_writer__name--flex {
		align-items: center;
	}
}
@media screen and (max-width: 767px) {
	.m_writer {
		flex-direction: column;
		align-items: center;
		margin-top: 40px;
		margin-bottom: 40px;
	}
	.m_writer__portrait {
		width: 120px;
		height: 120px;
	}
	.m_writer__data {
		width: auto;
		margin-top: 10px;
	}
	.m_writer__data > * {
		padding-left: 0;
	}
	.m_writer__name {
		height: auto;
		font-size: 175%;
		text-align: center;
		padding-bottom: 10px;
	}
	.m_writer__name--flex {
		display: block;
	}
	.m_writer__name::before {
		left: 0;
		background-color: #CC0033;
	}
	.m_writer__position {
		display: block;
		margin-left: 0;
	}
	.m_writer__position--flex {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0 1em;
		margin-left: 0;
		padding-bottom: 0;
	}
}

.m_afyTitleArea {
	padding-top: 100px;
}
.m_afyTitleArea__title {
	position: relative;
	font-size: 225%;
	font-weight: bold;
	line-height: 1.6;
	padding-bottom: 20px;
	border-bottom: 1px solid #D34467;
}
.m_afyTitleArea__title::before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	bottom: -4px;
	left: 0;
	background-color: #004E90;
	border-radius: 50%;
}
.m_afyTitleArea__text {
	color: #D34467;
	font-size: 150%;
	font-weight: bold;
	margin-top: 15px;
}
@media screen and (max-width: 767px) {
	.m_afyTitleArea {
		padding-top: 60px;
	}
	.m_afyTitleArea__title {
		font-size: 150%;
	}
	.m_afyTitleArea__text {
		font-size: 112.5%;
	}
}

.m_technology__mainvisWrap, .m_experts__mainvisWrap {
	max-width: 1920px;
	margin-top: 80px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 1px;
}
.m_technology__mainvis, .m_experts__mainvis {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 480px;
	padding-right: 38.76%;
	padding-left: 18.28%;
}
.m_technology__mainvis--text > * {
	padding-right: 20px;
}
.m_technology__mainvis--title, .m_technology__mainvis--sub, .m_experts__mainvis--title, .m_experts__mainvis--sub {
	font-weight: bold;
	line-height: 1.6;
}
.m_technology__mainvis--title, .m_experts__mainvis--title {
	position: relative;
	font-size: 225%;
	padding-bottom: 5px;
	border-bottom: 1px solid #D34467;
}
.m_experts__mainvis--title {
	padding-right: 5px;
}
.m_technology__mainvis--title::before, .m_experts__mainvis--title::before {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	bottom: -4px;
	left: 0;
	background-color: #004E90;
	border-radius: 50%;
}
.m_technology__mainvis--title .m_technology__mainvis--titleS {
	font-size: 56%;
}
.m_technology__mainvis--title .m_technology__mainvis--titleS span {
	color: #D34467;
}
.m_technology__mainvis--sub, .m_experts__mainvis--sub {
	color: #D34467;
	margin-top: 15px;
}
.m_technology__mainvis--sub {
	font-size: 125%;
}
.m_experts__mainvis--sub {
	font-size: 150%;
}
.m_technology__mainvis .m_technology__sns {
	text-align: right;
	margin-top: 30px;
	padding-right: 70px;
}
.m_technology__mainvis--image, .m_experts__mainvis--image {
	position: absolute;
	width: 38.75%;
	top: 0;
	right: 0;
	padding-top: 25.1%;
	border-radius: 25px 0 0 25px;
	overflow: hidden;
}
.m_technology__mainvis--image img, .m_experts__mainvis--image img {
	position: absolute;
	width: 100%;
	top: 0;
	left: 0;
}
.m_technology__mainvis--writer {
	gap: 0 15px;
	line-height: 1.3;
	margin-top: 10px;
}
.m_technology__mainvis--portrait {
	width: 60px;
	min-width: 60px;
}
.m_technology__mainvis--name, .m_experts__mainvis--name {
	font-size: 187.5%;
}
.m_experts__mainvis--name {
	margin-top: 10px;
}
.m_experts__mainvis--name::before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 8px;
	vertical-align: 0.25em;
	margin-right: 10px;
	background-color: #CC0033;
	border-radius: 50%;
}
.m_technology__mainvis--qualification {
	font-size: 93.8%;
	margin-top: 5px;
}
.m_experts__sns {
	display: flex;
	justify-content: flex-end;
	gap: 0 20px;
	margin-top: 50px;
	margin-right: 140px;
}
.m_technology__sns {
	line-height: 1.5;
	text-align: center;
	margin-top: 100px;
}
.m_technology__block--leadBlock {
	padding: 45px 35px;
	background-color: #f7f7f7;
	border-radius: 1em;
}
.m_technology__block--leadBlock .m_leadText {
	line-height: 1.2;
}
.m_technology__block--flex, .m_experts__block--flex {
	display: flex;
	justify-content: space-between;
}
.m_technology__block--flex {
	align-items: center;
}
.m_technology__block--flexReverse {
	flex-direction: row-reverse;
}
.m_experts__block--absolute {
	position: relative;
}
.m_technology__block--text, .m_experts__block--text {
	width: 57.5%;
}
.m_technology__block--balloonText {
	width: 81%;
}
.m_technology__block--image, .m_experts__block--flexImage, .m_experts__block--absoluteImage {
	width: 40.5%;
}
.m_technology__block--balloonImage {
	width: 17%;
}
.m_experts__block--flexImage img, .m_experts__block--absoluteImage img, .m_experts__profileBox, .m_experts__profile--image img {
	border-radius: 25px;
}
.m_experts__block--absolute > *:not(.m_experts__block--absoluteImage) {
	padding-right: 42.5%;
}
.m_technology__block + .m_technology__block, .m_technology__block p + p, .m_technology__block p + ul, .m_technology__block ul + p, .m_technology__block p + ol, .m_technology__block ol + p, .m_experts__block + .m_experts__block, .m_experts__block p + p, .m_experts__block p + ul, .m_experts__block ul + p, .m_experts__block p + ol, .m_experts__block ol + p, .m_experts__block--overflowWrap + .m_experts__block {
	margin-top: 20px;
}
.m_technology__image, .m_pre {
	margin-top: 35px;
	margin-bottom: 35px;
}
.m_technology__image {
	text-align: center;
}
.m_technology__image--left {
	float: left;
	margin-right:20px;
	margin-bottom: 20px;
}
.m_technology__image--right {
	float: right;
	margin-bottom: 20px;
	margin-left: 20px;
}
.m_technology__image .m_technology__image__inner {
	padding: 20px;
	border: 1px solid #D5D5D5;
	border-radius: 10px;
}
.m_technology__embedWrap {
	max-width: 900px;
	margin-right: auto;
	margin-left: auto;
}
.m_technology__embed, .m_company__embed {
	position: relative;
	height: 0;
	padding-bottom: 56.25%;
	overflow: hidden;
}
.m_technology__embed iframe, .m_company__embed iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
}
.m_pre {
	font-family: monospace;
	font-size: 123.1%;
	padding: 45px 35px;
	background-color: #E6E6E6;
	overflow: auto;
}
.m_experts__block--absoluteImage {
	position: absolute;
	top: 0;
	right: 0;
}
.m_experts__block--overflowWrap {
	position: relative;
	width: 2060px;
	margin-right: auto;
	margin-left: auto;
	overflow: hidden;
}
.m_experts__block--overflow {
	padding-right: 20.87%;
	padding-left: 20.87%;
}
.m_experts__block--overflow > *:not(.m_experts__block--overflowImage) {
	padding-right: 43%;
}
.m_experts__block--overflowImage {
	position: absolute;
	width: 44.32%;
	top: 0;
	left: 55.68%;
}
.m_experts__profileBox {
	margin-top: 100px;
	padding: 60px;
	border: 1px solid #707070;
}
.m_experts__profile {
	display: flex;
	margin-top: 50px;
}
.m_experts__profile--image {
	width: 28%;
}
.m_experts__profile--desc {
	width: 72%;
}
.m_experts__profile--desc > * {
	padding-left: 40px;
}
.m_experts__profile--title {
	position: relative;
	font-size: 200%;
	font-weight: 500;
	padding-bottom: 5px;
	border-bottom: 1px solid #D34467;
}
.m_experts__profile--title::before, .m_experts__profile--title::after {
	content: "";
	position: absolute;
	display: block;
	width: 8px;
	height: 8px;
	bottom: -4px;
	border-radius: 50%;
}
.m_experts__profile--title::after {
	right: 0;
	background-color: #004E90;
}
.m_experts__profile--text {
	font-size: 112.5%;
	font-weight: bold;
	margin-top: 30px;
}
.m_experts__pageLink, .m_experts__pageLink--flex {
	display: flex;
}
.m_experts__pageLink, .m_experts__pageLink--image img {
	border-radius: 25px;
}
.m_experts__pageLink {
	font-size: 125%;
	font-weight: bold;
	margin-top: 80px;
	padding: 50px 30px;
	background-color: #F7F7F7;
}
.m_experts__pageLink > li {
	width: 50%;
}
.m_experts__pageLink > li:first-child {
	padding-right: 30px;
}
.m_experts__pageLink > li:last-child {
	padding-left: 30px;
	border-left: 1px solid #000;
}
.m_experts__pageLink a {
	color: #CC0033;
}
.m_experts__pageLink a:hover {
	text-decoration: underline;
}
.m_experts__pageLink--next {
	text-align: right;
}
.m_experts__pageLink--previous::before, .m_experts__pageLink--next::after {
	content: "";
	display: inline-block;
	width: 40px;
	height: 38px;
	vertical-align: -10px;
	background: url(../img/bg_page-link.png) no-repeat;
	background-size: contain;
}
.m_experts__pageLink--previous::before {
	margin-right: 15px;
}
.m_experts__pageLink--next::after {
	margin-left: 15px;
	transform: scale(-1, -1);
}
.m_experts__pageLink--flex {
	justify-content: space-between;
	margin-top: 35px;
}
.m_experts__pageLink--image {
	width: 204px;
}
.m_experts__pageLink--text {
	width: calc(100% - 224px);
}
.m_experts__pageLink--name {
	color: #484848;
}
@media screen and (max-width: 2060px) {
	.m_experts__block--overflowWrap {
		width: calc(100% + 140px);
	}
	.m_experts__block--overflow {
		padding-right: calc(50% - 530px);
		padding-left: calc(50% - 670px);
	}
	.m_experts__block--overflowImage {
		left: 53%;
	}
}
@media screen and (max-width: 1920px) {
	.m_technology__mainvis, .m_experts__mainvis {
		padding-left: calc(50% - 600px);
	}
}
@media screen and (max-width: 1680px) {
	.m_technology__mainvis, .m_experts__mainvis {
		min-height: 420px;
	}
	.m_experts__sns {
		margin-top: 40px;
	}
}
@media screen and (max-width: 1440px) {
	.m_technology__mainvis, .m_experts__mainvis {
		min-height: 360px;
	}
	.m_experts__sns {
		margin-top: 30px;
	}
}
@media screen and (max-width: 1199px) {
	.m_technology__mainvis, .m_experts__mainvis {
		display: block;
		min-height: auto;
	}
	.m_technology__mainvis, .m_experts__mainvis, .m_experts__block--overflow {
		padding-right: 15px;
		padding-left: 15px;
	}
	.m_technology__mainvis--image, .m_technology__mainvis--image img, .m_experts__mainvis--image, .m_experts__mainvis--image img, .m_experts__block--overflowImage {
		position: static;
		width: auto;
	}
	.m_technology__mainvis--image, .m_experts__mainvis--image, .m_experts__block--overflowImage {
		text-align: center;
		padding-top: 20px;
	}
	.m_technology__mainvis--image img, .m_experts__mainvis--image img {
		border-radius: 25px;
	}
	.m_technology__mainvis .m_technology__sns {
		text-align: center;
		padding-right: 0;
	}
	.m_experts__block--overflowWrap {
		width: auto;
	}
	.m_experts__block--overflow > *:not(.m_experts__block--overflowImage) {
		padding-right: 0;
	}
	.m_experts__sns {
		max-width: 744px;
		margin-right: auto;
		margin-left: auto;
	}
}
@media screen and (max-width: 1000px) {
	.m_experts__pageLink {
		display: block;
		padding-top: 30px;
		padding-bottom: 30px;
	}
	.m_experts__pageLink > li {
		width: auto;
	}
	.m_experts__pageLink > li:first-child {
		padding-right: 0;
	}
	.m_experts__pageLink > li:last-child {
		margin-top: 20px;
		padding-top: 20px;
		padding-left: 0;
		border-top: 1px solid #000;
		border-left: none;
	}
	.m_experts__pageLink--flex {
		margin-top: 15px;
	}
}
@media screen and (max-width: 767px) {
	.m_technology__mainvisWrap, .m_experts__mainvisWrap {
		margin-top: 60px;
	}
	.m_technology__mainvis--text > * {
		padding-right: 0;
	}
	.m_technology__mainvis--title, .m_experts__mainvis--title {
		font-size: 150%;
	}
	.m_technology__mainvis--sub, .m_experts__mainvis--sub {
		font-size: 112.5%;
	}
	.m_technology__mainvis--name, .m_experts__mainvis--name {
		font-size: 125%;
	}
	.m_experts__mainvis--name::before {
		vertical-align: 0.2em;
	}
	.m_technology__mainvis--image, .m_technology__mainvis--image img, .m_experts__mainvis--image, .m_experts__mainvis--image img, .m_experts__block--flexImage img, .m_experts__block--absoluteImage img, .m_experts__profileBox, .m_experts__profile--image img {
		border-radius: 10px;
	}
	.m_technology__block--flex, .m_experts__block--flex, .m_experts__profile, .m_experts__pageLink--flex {
		display: block;
	}
	.m_technology__block--text, .m_technology__block--balloonText, .m_technology__block--image, .m_technology__block--balloonImage, .m_experts__block--text, .m_experts__block--flexImage, .m_experts__profile--image, .m_experts__profile--desc, .m_experts__pageLink--text {
		width: auto;
	}
	.m_technology__block--balloonImage {
		text-align: center;
		margin-top: 10px;
	}
	.m_technology__block--flex > * + *, .m_experts__block--flex > * + *, .m_experts__profile--text {
		margin-top: 20px;
	}
	.m_technology__image--left, .m_technology__image--right {
		float: none;
	}
	.m_technology__image--left {
		margin-right: 0;
	}
	.m_technology__image--right {
		margin-left: 0;
	}
	.m_experts__block--absolute > *:not(.m_experts__block--absoluteImage) {
		padding-right: 0;
	}
	.m_experts__block--absoluteImage, .m_experts__profile--image {
		text-align: center;
	}
	.m_experts__block--absoluteImage {
		position: static;
		width: auto;
		padding-top: 20px;
	}
	.m_experts__profileBox {
		margin-top: 60px;
		padding: 40px 15px 25px;
	}
	.m_experts__profile {
		margin-top: 35px;
	}
	.m_experts__profile--desc {
		margin-top: 10px;
	}
	.m_experts__profile--desc > * {
		padding-left: 0;
	}
	.m_experts__profile--title {
		font-size: 175%;
		text-align: center;
	}
	.m_experts__profile--title::before {
		left: 0;
		background-color: #CC0033;
	}
	.m_experts__pageLink {
		font-size: 100%;
	}
	.m_experts__pageLink--right {
		margin-left: auto;
	}
	.m_experts__pageLink--text {
		margin-top: 10px;
	}
	.m_technology__sns {
		margin-top: 50px;
	}
	.m_company__embed {
		padding-bottom: 240px;
	}
}

.m_step {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 25px 2%;
	margin-top: 30px;
}
.m_step > li {
	position: relative;
	width: 23.5%;
	padding: 25px 1.8%;
	background-color: #fff;
	border: 1px solid #707070;
	border-radius: 40px;
}
.m_step > li + li::before {
	content: "";
	position: absolute;
	display: block;
	width: 18px;
	height: 30px;
	top: 0;
	left: -21px;
	bottom: 0;
	margin: auto;
	border-top: 15px solid transparent;
	border-bottom: 15px solid transparent;
	border-left: 18px solid #CC0033;
}
.m_step__number, .m_step__title {
	display: block;
	font-weight: bold;
	text-align: center;
}
.m_step__number {
	color: #CC0033;
	font-size: 125%;
}
.m_step__title {
	font-size: 150%;
}
.m_step__text {
	margin-top: 10px;
}
@media screen and (max-width: 1199px) {
	.m_step {
		gap: 25px 25px;
	}
	.m_step > li {
		width: 46%;
	}
}
@media screen and (max-width: 767px) {
	.m_step > li {
		width: 100%;
		padding: 15px 10px;
		border-radius: 20px;
	}
	.m_step > li + li::before {
		top: -28px;
		right: 0;
		bottom: auto;
		left: 0;
		transform: rotate(90deg);
		transform-origin: center center;
	}
	.m_step__number {
		font-size: 112.5%;
	}
	.m_step__title {
		font-size: 125%;
	}
	.m_step__text {
		margin-top: 3px;
	}
}

/*-------------------------------------
汎用クラス
---------------------------------------*/
.u_color00 { color: #333 !important; }
.u_color01 { color: #fff; }
.u_color02 { color: #f00; }
.u_color03 { color: #f80; }

.u_bgc01 { background-color: #f8efb4 !important; }
.u_bgc02 { background-color: #b4ecf8 !important; }

.u_clearfix { zoom: 1; }
.u_clearfix::after {
	content: "";
	display: block;
	clear: both;
	height: 0.01px;
}
.u_ofHidden  { overflow: hidden !important; }
.u_ofVisible { overflow: visible !important; }
.u_floatL    { float: left !important; }
.u_floatR    { float: right !important; }

.u_disInBlock { display: inline-block !important; }

.u_vaTop { vertical-align: top !important; }
.u_vaMdl { vertical-align: middle !important; }
.u_vaBtm { vertical-align: bottom !important; }

.u_nowrap { white-space: nowrap!important; }
.u_breakall { word-break: break-all!important; }

.u_forpc { display: block; }
.u_forsp { display: none; }
@media screen and (max-width: 767px) {
	.u_forpc { display: none; }
	.u_forsp { display: block; }
}

.u_mw100 { max-width: 100% !important; }
.u_w100  { width: 100% !important; }

.u_fs10  { font-size:  62.5% !important; }
.u_fs12  { font-size:  75.0% !important; }
.u_fs14  { font-size:  87.5% !important; }
.u_fs18  { font-size: 112.5% !important; }
@media screen and (max-width: 767px) {
	.u_fs16sp  { font-size: 100% !important; }
}

.u_fontBold   { font-weight: bold !important; }
.u_fontNormal { font-weight: normal!important; }

.u_taLeft   { text-align: left !important; }
.u_taCenter { text-align: center !important; }
.u_taRight  { text-align: right !important; }
@media screen and (max-width: 767px) {
	.u_taLeftSp   { text-align: left !important; }
}

.u_over:hover {
	opacity: 0.6;
	transition: opacity 0.3s;
}

.u_indent {
	display: inline-block;
	text-indent: -1em;
	padding-left: 1em;
}

.u_mt0   { margin-top:   0px !important; }
.u_mt3   { margin-top:   3px !important; }
.u_mt5   { margin-top:   5px !important; }
.u_mt10  { margin-top:  10px !important; }
.u_mt15  { margin-top:  15px !important; }
.u_mt20  { margin-top:  20px !important; }
.u_mt25  { margin-top:  25px !important; }
.u_mt30  { margin-top:  30px !important; }
.u_mt35  { margin-top:  35px !important; }
.u_mt40  { margin-top:  40px !important; }
.u_mt45  { margin-top:  45px !important; }
.u_mt50  { margin-top:  50px !important; }
.u_mt60  { margin-top:  60px !important; }
.u_mt70  { margin-top:  70px !important; }
.u_mt80  { margin-top:  80px !important; }
.u_mt90  { margin-top:  90px !important; }
.u_mt100 { margin-top: 100px !important; }
.u_mt120 { margin-top: 120px !important; }
.u_mt150 { margin-top: 150px !important; }
.u_mb0   { margin-bottom:  0px !important; }
.u_mb5   { margin-bottom:  5px !important; }
.u_mb10  { margin-bottom: 10px !important; }
.u_mb20  { margin-bottom: 20px !important; }
.u_mb60  { margin-bottom: 60px !important; }
.u_mb90  { margin-bottom: 90px !important; }
@media screen and (max-width: 1199px) {
	.u_mt0tb   { margin-top:   0px !important; }
	.u_mt30tb  { margin-top:  30px !important; }
	.u_mt40tb  { margin-top:  40px !important; }
	.u_mt60tb  { margin-top:  60px !important; }
	.u_mt80tb  { margin-top:  80px !important; }
	.u_mt100tb { margin-top: 100px !important; }
}
@media screen and (max-width: 767px) {
	.u_mr0sp {margin-right: 0 !important;}
	.u_mt15sp { margin-top: 15px !important; }
	.u_mt20sp { margin-top: 20px !important; }
	.u_mt30sp { margin-top: 30px !important; }
	.u_mt40sp { margin-top: 40px !important; }
	.u_mt50sp { margin-top: 50px !important; }
	.u_mt60sp { margin-top: 60px !important; }
	.u_mb20sp { margin-bottom: 20px !important; }
	.u_mb40sp { margin-bottom: 40px !important; }
	.u_mb50sp { margin-bottom: 50px !important; }
}

.u_mr0   { margin-right:  0px !important; }
.u_mr20  { margin-right: 20px !important; }
.u_ml0   { margin-left:   0px !important; }
.u_ml20  { margin-left:  20px !important; }
.u_ml1em { margin-left:   1em !important; }
.u_ml2em { margin-left:   2em !important; }
.u_ml3em { margin-left:   3em !important; }

.u_pt0  { padding-top: 0 !important; }
.u_pt20 { padding-top: 20px; }
.u_pb20 { padding-bottom: 20px; }
.u_pl0  { padding-left:  0 !important; }
.u_pl5  { padding-left:  5px; }

@media screen and (max-width: 1199px){ .u_ov1200 { display: none !important; } }
@media screen and (min-width: 1200px){ .u_un1200 { display: none !important; } }
@media screen and (max-width:  767px){ .u_ov768  { display: none !important; } }



/*-------------------------------------
add CSS
---------------------------------------*/
.u_bt--gray {
	border-top: 1px solid #D5D5D5;
}
.m_table .u_is-fixed {
  position: sticky;
  left: 0;
  color: #fff;
  background: #D34467;
  min-width: 210px;
  overflow: hidden;
}
.m_table .u_is-fixed::before {
  content: "";
  position: absolute;
  top: -1px;
  left: -1px;
  width: 100%;
  height: 100%;
  border-top: 1px solid #D5D5D5;
  border-left: 1px solid #D5D5D5;
}

.m_table.u_table--colorB th {
	background: #2f75b5;
}
.m_table.u_table--colorB th.is-b02 {
	background: #ccecff;
	color: #333;
}
.m_table.u_table--colorB th.is-b03 {
	background: #e2efda;
	color: #333;
}
.m_table.u_table--colorB {
	border-bottom-color: #2f75b5;
	border-right-color: #2f75b5;
}
.m_table.u_table--colorB th {
	border-top-color: #fff;
	border-left-color: #fff;
}
.m_table.u_table--colorB td {
	border-top-color: #2f75b5;
	border-left-color: #2f75b5;
	padding: 5px 20px;
	height: 66px;
}
.m_table.u_table--colorB td.is-l {
	font-size: 165%;
}
.u-m_button--m435 a {
	width: 100%;
	max-width: 435px;
}

.m_imgColLink > span {
	display: flex;
    border-radius: 25px;
    overflow: hidden;
    background-color: #fff;
    border: 1px solid #D5D5D5;
    box-shadow: 0 3px 6px rgba(0, 0, 0, .16);
    transition: background-color 0.3s;
}

.m_col--imgR25 {
	border-radius: 25px;
	overflow: hidden;
	box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16);
}

.m_photoBox > li.m_photoBox--nostyle {
	box-shadow: inherit;
	border-radius: 0;
	overflow: visible;
}

@media screen and (max-width: 1199px) {
	.m_table.u_table--colorB th {
		height: auto;
	}
}
@media screen and (max-width:  767px){
	.m_table .u_is-fixed {
		min-width: 140px;
	}
	.u-m_button--m435 a {
		max-width: 315px;
	}
	.btnArea a.btnArea__blank {
		background-color: #fff;
		color: #D34467;
	}
	.btnArea a.btnArea__blank::after {
		border-radius: 0;
	}
	.btnArea .m_button--blankIcon a.btnArea__blank:hover::after {
		background: url(../img/bg_button_blank-icon.png) no-repeat center center;
		background-size: contain;
	}
	.m_imgColLink > span {
		display: block;
	}
}

.m_col.m_col--gapM {
	gap: 30px 8%;
}
@media screen and (max-width: 767px) {
	.m_col.m_col--gapM {
		gap: 15px 4%;
	}
	.m_col--WrapSP {
		flex-wrap: wrap;
	}
}

.m_step.is-01 {
	max-width: 670px;
	margin-left: auto;
	margin-right: auto;
	gap: 65px 2%;
}
.m_step.is-01 .m_step__text {
	margin-bottom: 20px;
}
.m_step.is-01 > li {
	width: 100%;
	padding: 18px 20px 25px;
}
.m_step.is-01 > li + li::before {
	top: -48px;
	right: 0;
	bottom: auto;
	left: 0;
	transform: rotate(90deg);
	transform-origin: center center;
}
.m_photoBox--col2 > li.u_h--auto {
	height: auto;
}
@media screen and (max-width: 767px) {
	.m_step.is-01 {
		gap: 65px 25px;
	}
	.m_step.is-01 > li {
		padding: 15px;
	}
}

button.js-modal {
	font-size: 100%;
}
.ut_modal {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: none;
	z-index: 9999
}

.ut_modal.is-open {
	display: block
}

.ut_modal.is-open[aria-hidden='false'] .ut_modal--overlay {
	animation: fadeIn 0.4s cubic-bezier(0, 0, 0.2, 1)
}

.ut_modal.is-open[aria-hidden='true'] .ut_modal--overlay {
	animation: fadeOut 0.4s cubic-bezier(0, 0, 0.2, 1)
}

.ut_modal--overlay {
	background: rgba(0, 0, 0, 0.95);
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 10000
}

.ut_modal--wrapper {
	margin: 0 auto;
	width: 100%;
	max-width: 900px;
	position: relative
}

@media all and (min-width: 769px) and (max-width: 1400px) {
	.ut_modal--wrapper {
		padding: 0 2.85714vw
	}
}

@media screen and (max-width: 768px) {
	.ut_modal--wrapper {
		padding: 0 5.33333vw
	}
}

.ut_modal--content {
	padding-bottom: 56.25%;
	height: 0;
	position: relative;
	overflow: hidden
}

.ut_modal--content iframe {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0
}

.ut_modal--close {
	background: none;
	margin: 0;
	padding: 0;
	width: 60px;
	position: absolute;
	top: -70px;
	right: 0;
	border: none;
	cursor: pointer;
	z-index: 100000
}

@media all and (min-width: 769px) and (max-width: 1400px) {
	.ut_modal--close {
		right: 2.85714vw
	}
}

@media screen and (max-width: 768px) {
	.ut_modal--close {
		width: 8vw;
		top: -9.33333vw;
		right: 5.33333vw
	}
	.ut_modal--close img {
		height: auto;
	}
}