@charset "UTF-8";

/* ----------------------------------------------------------------------------------------------------
*	基本情報
* --------------------------------------------------------------------------------------------------*/

html,body{
	height:100%;
}

html{
	font-size:62.5%;
	overflow-y: scroll;
}

body{
	-webkit-text-size-adjust: 100%;
}

body, h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, img, figure, form {
	margin: 0;
	padding: 0;
	border: none;
	line-height: 100%;
	list-style-type: none;
	font-style: normal;
	font-weight: normal;
	font-family: 'Noto Sans JP', "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	line-height: 1;
	color: #3E3A39;
	word-break: break-word;
}

h1, h2, h3, h4, h5, h6, p, address,
ul, ol, li, dl, dt, dd,
table, th, td, form, input, textarea, select, button{
	font-size: 1.6rem;
}

*,
*:before,
*:after {
	-webkit-box-sizing: border-box;
			box-sizing: border-box; }

table{
	border-spacing: 0;
}

input, textarea, select, button{
	vertical-align:middle;
	font-family: 'Noto Sans JP', "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	background-color: #fff;
}
button{
	background-color: transparent;
		border: none;
		cursor: pointer;
		outline: none;
		padding: 0;
		appearance: none;
}
input,select,button,textarea{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	outline: none;
	border: none;
	border-radius: 0;
	padding: 0;
}
select::-ms-expand{
	display: none;
}
textarea{
	resize: none;
}
button,input[type="submit"],input[type="button"],select,label{
	cursor:pointer;
}
input[type="radio"]:checked{
	appearance: none;
}
blockquote{
	margin: 0;
	padding: 0;
}

img{
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

a,
button,
input[type="submit"],
input[type="button"]{
	text-decoration: none;
	color: #3E3A39;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
@media screen and (min-width: 769px) {
	a:hover,
	button:hover,
	input[type="submit"]:hover,
	input[type="button"]:hover{
		opacity: 0.8;
	}

	a[href^="tel:"]{
		display: inline-block;
		pointer-events: none;
	}
}
area{
	outline: 0;
}

.wrap{
	max-width: 1100px;
	width: 92%;
	margin: 0 auto;
}

.en{
	font-family: 'Hind', sans-serif;
}

.content{
	overflow: hidden;
}

.inter{
	font-family: 'Inter', sans-serif;
}

.ib{
	display: inline-block;
}

@media screen and (min-width: 769px) {
	.sp{
		display: none !important;
	}
}

@media screen and (max-width: 768px) {
	.wrap{
		max-width: initial;
		width: 84%;
	}
	.pc{
		display: none !important;
	}
	.sp_ib{
		display: inline-block;
	}

	h1, h2, h3, h4, h5, h6, p, address,
	ul, ol, li, dl, dt, dd,
	table, th, td, form, input, textarea, select, button{
		font-size: 1.4rem;
	}
}




/* ----------------------------------------------------------------------------------------------------
*	ヘッダー
* --------------------------------------------------------------------------------------------------*/
.header_wrap{
	position: absolute;
	z-index: 9999;
	top: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	height: 172px;
	padding: 0 85px 0 55px;
}
.header_wrap.fix{
	position: fixed;
	animation: header_fix 0.4s forwards;
}
@keyframes header_fix {
	0% {
		transform: translateY(-180px);
	}
	100% {
		transform: translateY(0);
	}
}
@media screen and (min-width: 769px){
	.header_wrap .logo{
		width: 194px;
	}

	.header_wrap.fix{
		height: 84px;
		background: #fff;
	}

	.header_wrap.fix .logo{
		width: 210px;
	}
}

.header_wrap .logo a{
	display: block;
}

.header_wrap .gnav_list{
	display: flex;
	align-items: center;
}

.header_wrap .gnav_list li,
.header_wrap .gnav_list li a{
	font-size: 2.0rem;
	line-height: 1.6;
	color: #657D87;
	font-weight: bold;
}

.header_wrap .gnav_list li + li{
	margin-left: 34px;
}


@media screen and (max-width: 1024px) {
	.header_wrap .gnav_list li + li{
		margin-left: 27px;
	}
}


@media screen and (max-width: 1000px) {
	.header_wrap{
		padding: 0 55px 0 25px;
	}
}


@media screen and (max-width: 900px) {
	.header_wrap .logo{
		width: 210px;
		margin-left: 25px;
	}

	.header_wrap .gnav_list li,
	.header_wrap .gnav_list li a{
		font-size: 1.8rem;
	}
	.header_wrap .gnav_list li + li{
		margin-left: 20px;
	}
}


@media screen and (max-width: 768px) {
	.header_wrap{
		height: 65px;
		padding: 0;
	}

	.header_wrap .logo{
		width: 140px;
	}

	.gnav_sp{
		position: fixed;
		z-index: 10000;
		top: 0;
		left: 0;
		display: flex;
		width: 100%;
		height: 100vh;
		padding: 65px 0 0;
		background: rgba(0,0,0, 0.87);
		opacity: 0;
		visibility: hidden;
		-webkit-transition: all .4s ease-in-out;
		transition: all .4s ease-in-out;
		overflow: hidden;
	}

	.gnav_sp.active{
		opacity: 1;
		visibility: visible;
	}

	.gnav_wrap{
		display: none;
		width: 100%;
		height: calc(100vh - 65px);
		padding: 5px 8% 120px;
		margin: 0 auto;
		overflow: auto;
	}

	.gnav_list{
		width: 100%;
	}

	.gnav_list .gnav_item + .gnav_item{
		margin-top: 25px;
	}

	.gnav_list .gnav_acc_btn,
	.gnav_list .gnav_item > a{
		display: block;
		font-weight: bold;
		font-size: 3.6rem;
		line-height: 1.3;
		color: #fff;
	}

	.gnav_list .gnav_acc_btn{
		position: relative;
		padding-right: 25px;
	}

	.gnav_list .gnav_acc_btn .ico{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 20px;
		height: 20px;
	}
	.gnav_list .gnav_acc_btn .ico::before,
	.gnav_list .gnav_acc_btn .ico::after{
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		content: "";
		display: block;
		background: #fff;
	}
	.gnav_list .gnav_acc_btn .ico::before{
		width: 100%;
		height: 2px;
	}
	.gnav_list .gnav_acc_btn .ico::after{
		width: 2px;
		height: 100%;
	}
	.gnav_list .gnav_acc_btn.open .ico::after{
		opacity: 0;
	}

	.gnav_list .acc_menu{
		display: none;
		padding-left: 24px;
		padding-bottom: 5px;
		margin-top: 20px;
	}

	.gnav_list .acc_menu li + li{
		margin-top: 25px;
	}

	.gnav_list .acc_menu li a{
		display: block;
		color: #757575;
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.6;
	}

	.gnav_sp .logo{
		width: 208px;
		margin: 75px auto 0;
	}

	.menu_btn{
		position: absolute;
		z-index: 10001;
		top: 15px;
		right: 11px;
		width: 36px;
		height: 36px;
		cursor: pointer;
	}
	.menu_btn.fix{
		position: fixed;
		animation: header_fix 0.4s forwards;
	}

	.menu_btn .line{
		position:absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		margin: auto;
		width: 26px;
		height: 2px;
		background: #657D87;
		transition: all 0.5s ease-out;
	}
	.menu_btn .line:nth-child(1){
		top: -20px;
	}
	.menu_btn .line:nth-child(3){
		top: 20px;
	}

	.menu_btn.active .line{
		background: #fff;
	}
	.menu_btn.active .line:nth-child(1){
		top: 0;
		transform: rotate(45deg);
	}
	.menu_btn.active .line:nth-child(2){
		opacity: 0;
	}
	.menu_btn.active .line:nth-child(3){
		top: 0;
		transform: rotate(-45deg);
	}
}



/* ----------------------------------------------------------------------------------------------------
*	フッター
* --------------------------------------------------------------------------------------------------*/
.footer_share{
	padding: 60px 0 50px;
	background: #2C809F;
}

.footer_share .btn_box{
	display: flex;
	justify-content: center;
}

.footer_btn + .footer_btn{
	margin-left: 40px;
}

.footer_btn{
	width: 50%;
	max-width: 380px;
}
.footer_btn a{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 170px;
	background: #fff;
	border-radius: 20px;
	color: #2C809F;
	font-weight: bold;
	-webkit-transition: background .4s ease;
	transition: background .4s ease;
}
@media screen and (min-width: 769px) {
	.footer_btn a:hover{
		opacity: 1;
		background: #EAF2F5;
	}
}

.footer_btn .en{
	font-size: 4.0rem;
	line-height: 1;
}

.footer_btn .txt{
	margin-top: 10px;
	font-size: 2.2rem;
	line-height: 1.6;
}

.footer_share_box{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 50px;
}

.footer_share_txt{
	font-size: 3.0rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.6;
}

.footer_share_box .share_btn_box{
	display: flex;
	justify-content: center;
	margin-left: 38px;
}

.footer_share_box .share_btn_box .footer_share_btn + .footer_share_btn{
	margin-left: 16px;
}

.footer_share_btn{
	position: relative;
}
.footer_share_btn img{
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
.footer_share_btn .hov{
	position: absolute;
	z-index: 2;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	opacity: 0;
}
@media screen and (min-width: 769px) {
	.footer_share_btn a:hover{
		opacity: 1;
	}
	.footer_share_btn a:hover .hov{
		opacity: 1;
	}
}

.footer_wrap{
	padding: 74px 0 100px;
	background: #000;
}

.footer_wrap .logo{
	width: 198px;
	position: relative;
}

.footer_nav{
	display: flex;
	justify-content: space-between;
	width: 100%;
	margin-top: 24px;
	padding: 45px 0;
	border-top: 1px solid #fff;
	border-bottom: 1px solid #fff;
}

.footer_nav_list li + li{
	margin-top: 14px;
}

.footer_nav_list li a{
	font-size: 2.0rem;
	font-weight: bold;
	color: #fff;
	line-height: 1.6;
}
.footer_nav_list li.sub a{
	font-size: 1.6rem;
	color: #757575;
}

.footer_btm{
	display: flex;
	justify-content: space-between;
	margin-top: 50px;
}

.footer_btm_left{
	display: flex;
	flex-wrap: wrap;
}

.footer_btm_link{
	margin-right: 50px;
}
.footer_btm_link a{
	color: #fff;
	font-size: 1.4rem;
	font-weight: 500;
	line-height: 1.6;
}

.footer_wrap .copy{
	color: #fff;
	font-size: 1.4rem;
	line-height: 1.6;
}

.breadcrumb{
	padding: 25px 0;
	border-top: 1px solid #C2C2C2;
}

.breadcrumb_list{
	display: flex;
	flex-wrap: wrap;
}

.breadcrumb_list li{
	font-size: 1.4rem;
	line-height: 1.6;
}

.breadcrumb_list li + li::before{
	content: ">";
	margin: 0 0.5em;
	font-family: 'Inter', sans-serif;
	color: #757575;
}

.breadcrumb_list li:not(.current) a{
	color: #757575;
}


@media screen and (max-width: 1000px) {
	.footer_nav_list li a{
		font-size: 1.8rem;
	}

	.footer_nav_list li.sub a{
		font-size: 1.4rem;
	}
}

@media screen and (max-width: 900px) {
	.footer_share_box{
		flex-direction: column;
	}

	.footer_share_box .share_btn_box{
		margin-left: 0;
		margin-top: 20px;
	}

	.footer_nav_list li a{
		font-size: 1.7rem;
	}

	.footer_nav_list li.sub a{
		font-size: 1.3rem;
	}

	.footer_btm_link a{
		font-size: 1.3rem;
	}

	.footer_wrap .copy{
		font-size: 1.3rem;
	}
}


@media screen and (max-width: 768px) {
	.footer_share{
		padding: 50px 0 35px;
	}

	.footer_share .btn_box{
		flex-direction: column;
	}

	.footer_btn + .footer_btn{
		margin-left: 0;
		margin-top: 26px;
	}

	.footer_btn{
		width: 100%;
		max-width: 100%;
	}
	.footer_btn a{
		height: 130px;
		border-radius: 15px;
	}

	.footer_btn .en{
		font-size: 3.0rem;
	}

	.footer_btn .txt{
		margin-top: 5px;
		font-size: 1.6rem;
	}

	.footer_share_box{
		margin-top: 25px;
	}

	.footer_share_txt{
		text-align: center;
		font-size: 1.8rem;
	}

	.footer_share_box .share_btn_box .footer_share_btn + .footer_share_btn{
		margin-left: 20px;
	}

	.footer_wrap{
		padding: 60px 0 10px;
		background: #000;
	}

	.footer_nav{
		padding: 0 0 25px;
		margin-top: 30px;
		border-top: 0;
	}

	.footer_nav .gnav_list .gnav_item + .gnav_item{
		margin-top: 18px;
	}

	.gnav_list .acc_menu li a{
		color: #C2C2C2;
	}

	.footer_btm{
		flex-direction: column;
		margin-top: 40px;
	}

	.footer_btm_left{
		flex-direction: column;
	}

	.footer_btm_link{
		margin-right: 0;
	}
	.footer_btm_link + .footer_btm_link{
		margin-top: 25px;
	}
	.footer_btm_link a{
		font-size: 1.4rem;
		font-weight: normal;
	}

	.footer_wrap .copy{
		text-align: center;
		margin-top: 80px;
		font-size: 1.3rem;
	}
	.footer_wrap .logo{
		width: 170px;
	}
}




/* ----------------------------------------------------------------------------------------------------
*	共通
* --------------------------------------------------------------------------------------------------*/
.txt{
	line-height: 1.6;
}

.bold{
	font-weight: bold;
}
.medium{
	font-weight: 500;
}

.txt_up{
	text-transform: uppercase;
}
.txt_noup{
	text-transform: none;
}

.center{
	text-align: center;
}

@media screen and (min-width: 769px) {
	.pc_tate{
		-ms-writing-mode: tb-rl;
		writing-mode: vertical-rl;
		white-space: nowrap;
	}
}
.tate{
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	white-space: nowrap;
}

.txt_blue{
	color: #2C809F;
}

.txt_gray{
	color: #757575;
}


@media screen and (max-width: 768px) {
	.img img{
		width: 100%;
	}
}



/* ------------------------------
	.ttl
------------------------------ */
.page_ttl_box{
	position: relative;
	min-height: 490px;
	padding: 255px 0 50px;
}

.page_ttl{
	font-size: 2.0rem;
	line-height: 1.6;
}

.page_ttl .en_txt{
	display: block;
	font-size: 9.4rem;
	font-weight: bold;
	line-height: 1;
}

.page_ttl .page_ttl_txt{
	display: block;
	margin-top: 2px;
}

.str_ttl{
	font-size: 3.4rem;
	font-weight: bold;
	line-height: 1.4;
}

.sec_ttl{
	font-size: 2.8rem;
	font-weight: bold;
	line-height: 1.6;
}


@media screen and (max-width: 768px) {
	.page_ttl_box{
		min-height: 365px;
		padding: 185px 0 50px;
	}

	.page_ttl{
		font-size: 1.6rem;
	}

	.page_ttl .en_txt{
		margin: 0;
		font-size: 4.6rem;
	}

	.str_ttl{
		font-size: 2.2rem;
	}

	.sec_ttl{
		font-size: 1.8rem;
	}
}



/* ------------------------------
	.btn
------------------------------ */
.link{
	text-decoration: underline;
}
@media screen and (min-width: 769px) {
	.link:hover{
		text-decoration: none;
	}
}

.base_btn{
	display: flex;
}
.base_btn.center{
	justify-content: center;
}
.base_btn.right{
	justify-content: flex-end;
}

.base_btn a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 430px;
	height: 100px;
	padding: 0 50px;
	border-radius: 50px;
	background: #2C809F;
	text-align: center;
	font-weight: bold;
	font-size: 2.6rem;
	line-height: 1.3;
	color: #fff;
	-webkit-transition: background .4s ease;
	transition: background .4s ease;
}
.base_btn.gray a{
	background: #757575;
}
.base_btn.white a{
	background: transparent;
	border: 2px solid #fff;
}
.base_btn.line_bg a{
	background: #fff;
	border: 4px solid #2C809F;
	color: #2C809F;
}
.base_btn.white_bg a{
	background: #fff;
	color: #2C809F;
}
.base_btn.min a{
	width: 200px;
	height: 60px;
	padding: 0 50px;
	font-size: 2.0rem;
}

.base_btn .arw{
	flex-shrink: 0;
	right: 0;
	position: relative;
	width: 28px;
	height: 100%;
	margin-left: 30px;
	background: url(../img/common/btn_arw01.svg) no-repeat center center;
	background-size: 100%;
	-webkit-transition: left .4s ease, right .4s ease;
	transition: left .4s ease, right .4s ease;
}
.base_btn .arw.back{
	right: auto;
	left: 0;
	margin-left: 0;
	margin-right: 30px;
	background: url(../img/common/btn_arw_back01.svg) no-repeat center center;
	background-size: 100%;
}
.base_btn.min .arw{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 18px;
	flex-shrink: 0;
	width: 19px;
	margin-left: 10px;
}
.base_btn.line_bg .arw,
.base_btn.white_bg .arw{
	background: url(../img/common/btn_arw02.svg) no-repeat center center;
	background-size: 100%;
}
.base_btn.line_bg .arw.back,
.base_btn.white_bg .arw.back{
	background: url(../img/common/btn_arw_back02.svg) no-repeat center center;
	background-size: 100%;
}
@media screen and (min-width: 769px) {
	.base_btn a:hover{
		opacity: 1;
		background: #EAF2F5;
		color: #2C809F;
	}
	.base_btn a:hover .arw{
		right: -15px;
		background: url(../img/common/btn_arw02.svg) no-repeat center center;
		background-size: 100%;
	}
	.base_btn a:hover .arw.back{
		right: auto;
		left: -15px;
		background: url(../img/common/btn_arw_back02.svg) no-repeat center center;
		background-size: 100%;
	}
	.base_btn.min a:hover .arw{
		right: 8px;
	}

	.base_btn.gray a:hover{
		background: #C2C2C2;
		color: #3E3A39;
	}
	.base_btn.gray a:hover .arw{
		background: url(../img/common/btn_arw03.svg) no-repeat center center;
		background-size: 100%;
	}
	.base_btn.gray a:hover .arw.back{
		background: url(../img/common/btn_arw_back03.svg) no-repeat center center;
		background-size: 100%;
	}

	.base_btn.white a:hover{
		background: #EAF2F5;
		border-color: #EAF2F5;
		color: #2C809F;
	}

	.base_btn.line_bg a:hover,
	.base_btn.white_bg a:hover{
		background: #2C809F;
		color: #fff;
	}
	.base_btn.line_bg a:hover .arw,
	.base_btn.white_bg a:hover .arw{
		background: url(../img/common/btn_arw01.svg) no-repeat center center;
		background-size: 100%;
	}
	.base_btn.line_bg a:hover .arw.back,
	.base_btn.white_bg a:hover .arw.back{
		background: url(../img/common/btn_arw_back01.svg) no-repeat center center;
		background-size: 100%;
	}
}

.base_btn .btn_txt{
	display: block;
	width: 100%;
}

.base_btn .btn_txt.en{
	padding-top: 5px;
}

.page_back_btn{
	position: absolute;
	z-index: 1;
	top: 175px;
	left: 85px;
}
.page_back_btn a{
	position: relative;
	z-index: 1;
	display: block;
	font-size: 1.8rem;
	font-weight: bold;
	transform: translate3d(0, 0, 0);
	will-change: opacity;
}
.page_back_btn .arw{
	position: relative;
	left: 0;
	display: inline-block;
	width: 19px;
	height: 13px;
	margin-right: 10px;
	background: url(../img/common/btn_arw_back03.svg) no-repeat left center;
	background-size: 100%;
	-webkit-transition: left .4s ease, right .4s ease;
	transition: left .4s ease, right .4s ease;
}
@media screen and (min-width: 769px){
	.page_back_btn a:hover .arw{
		left: -10px;
	}
}


@media screen and (max-width: 768px) {
	.base_btn a{
		justify-content: center;
		width: 200px;
		height: 60px;
		padding: 10px 15px;
		font-size: 1.6rem;
	}
	.base_btn.line_bg a{
		border-width: 3px;
	}

	.base_btn .btn_txt{
		display: block;
		width: auto;
	}

	.base_btn .arw{
		width: 19px;
		margin-left: 12px;
	}
	.base_btn .arw.back{
		margin-right: 12px;
	}

	.page_back_btn{
		top: 100px;
		left: 8%;
	}
}



/* ------------------------------
	.box
------------------------------ */
.flex{
	display: flex;
	justify-content: space-between;
}

.bg_gray{
	background: #F5F5F5;
}
.bg_sky{
	background: #EAF2F5;
}
.bg_sky{
	background: #EAF2F5;
}


@media screen and (max-width: 768px) {
}



/* ------------------------------
	.news_list
------------------------------ */
.news_item{
	border-top: 1px solid #C2C2C2;
}
.news_item:last-child{
	border-bottom: 1px solid #C2C2C2;
}

.news_item a{
	position: relative;
	display: flex;
	align-items: flex-start;
	padding: 30px 0;
	-webkit-transition: background .4s ease;
	transition: background .4s ease;
}
@media screen and (min-width: 769px){
	.news_item a:hover{
		opacity: 1;
		background: #F5F5F5;
	}
}

.news_item a[target="_blank"]::before{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 37px;
	margin: auto;
	content: "";
	display: block;
	width: 23px;
	height: 23px;
	background: url(../img/common/ico_win.svg) no-repeat center center;
	background-size: 100%;
}

.news_item .date_box{
	flex-shrink: 0;
	display: flex;
	width: 315px;
	padding-top: 6px;
	padding-right: 15px;
}

.news_item .date{
	flex-shrink: 0;
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0.05em;
}
.news_item .date::after{
	content: "｜";
}

.news_item .cate{
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 500;
	color: #2C809F;
	letter-spacing: 0.05em;
}

.news_item .ttl{
	width: 100%;
	padding-right: 140px;
	font-size: 2.2rem;
	line-height: 1.5;
	font-weight: bold;
	letter-spacing: 0.05em;
	display: -webkit-box;
	overflow: hidden;
	-webkit-line-clamp: 4;
	-webkit-box-orient: vertical;
}


@media screen and (max-width: 1100px){
	.news_item .ttl{
		padding-right: 100px;
	}
}


@media screen and (max-width: 900px){
	.news_item .ttl{
		padding-right: 50px;
		font-size: 1.8rem;
	}

	.news_item a[target="_blank"]::before{
		right: 0;
	}
}


@media screen and (max-width: 768px) {
	.news_item a{
		flex-direction: column;
		min-height: 0;
		padding: 25px 0 20px;
	}

	.news_item a[target="_blank"]{
		padding-bottom: 50px;
	}

	.news_item a[target="_blank"]::before{
		top: auto;
		bottom: 15px;
		right: 0;
	}

	.news_item .date_box{
		width: 100%;
		padding-top: 0;
		padding-right: 0;
		margin-bottom: 5px;
	}

	.news_item .date{
		font-size: 1.4rem;
	}

	.news_item .cate{
		font-size: 1.4rem;
	}

	.news_item .ttl{
		padding: 0;
		font-size: 2.2rem;
	}
}



/* ------------------------------
	.pager
------------------------------ */
.pager{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 70px;
}

.pager_list{
	display: flex;
	align-items: center;
	justify-content: center;
}

.pager_list li + li{
	margin-left: 30px;
}

.pager_list .num a,
.pager .arw a{
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	height: 44px;
	border-bottom: 4px solid transparent;
	text-align: center;
	font-size: 2.2rem;
}
.pager_list .num.current a{
	border-color: #2C809F;
}


@media screen and (max-width: 768px) {
	.pager{
		position: relative;
		margin-top: 60px;
	}

	.pager_list li + li{
		margin-left: 20px;
	}

	.pager_list .dot{
		font-size: 1.4rem;
		margin-left: 10px;
	}
	.pager_list .dot + li{
		margin-left: 10px;
	}

	.pager_list .num a,
	.pager .arw a{
		min-width: 32px;
		height: 32px;
		font-size: 1.4rem;
	}
	.pager_list .num a{
		border: 1px solid #C2C2C2;
	}
	.pager_list .num.current a{
		background: #2C809F;
		color: #fff;
	}

	.pager .arw{
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
	}
	.pager .arw a{
		min-width: 0;
		width: 19px;
		border: 0;
	}
	.pager .arw.prev{
		left: 0;
	}
	.pager .arw.prev a{
		background: url(../img/common/btn_arw_back03.svg) no-repeat center center;
		background-size: 100%;
	}
	.pager .arw.next{
		right: 0;
	}
	.pager .arw.next a{
		background: url(../img/common/btn_arw03.svg) no-repeat center center;
		background-size: 100%;
	}
}



/* ------------------------------
	.info
------------------------------ */
.info{
	padding: 100px 0;
	background: #E8F2F4;
}


.info .sec_ttl{
	margin-bottom: 30px;
}

.info_list{
	display: flex;
	flex-wrap: wrap;
}

#solution_page .info {
	background: #F5F5F5;
}
#solution_page .info .sec_ttl,
#solution_page .info_list li .ttl {
	text-align: center;
}
#solution_page .info .info_list {
	justify-content: center;
}

.info_list li{
	width: 30%;
	margin-right: 5%;
}
@media screen and (min-width: 769px){
	.info_list li:nth-child(3n){
		margin-right: 0;
	}
	.info_list li:nth-child(n + 4){
		margin-top: 50px;
	}
}

.info_list li a{
	display: block;
}

.info_list li .txt_box{
	margin-top: 10px;
}

.info_list li .ttl{
	margin-top: 20px;
	font-size: 2.2rem;
	font-weight: bold;
}

.info_list li .txt{
	font-weight: bold;
	font-size: 1.4rem;
}


@media screen and (max-width: 1000px){
	.info_list li{
		width: 32%;
		margin-right: 2%;
	}
}


@media screen and (max-width: 768px){
	.info{
		padding: 60px 0;
	}

	.info .sec_ttl{
		margin-bottom: 15px;
	}

	.info_list{
		flex-direction: column;
	}

	.info_list li{
		width: 100%;
	}
	.info_list li + li{
		margin-left: 0;
		margin-top: 10px;
	}

	.info_list li a{
		display: flex;
		align-items: center;
	}

	.info_list li .img{
		flex-shrink: 0;
		width: 48%;
		max-width: 144px;
	}

	.info_list li .txt_box{
		margin-top: 0;
		margin-left: 15px;
	}

	.info_list li .ttl{
		margin: 0;
		font-size: 1.5rem;
		line-height: 1.2;
	}
	
	#solution_page .info .sec_ttl,
	#solution_page .info_list li .ttl {
		text-align: left;
	}
}



/* ------------------------------
	.form_wrap
------------------------------ */
.form_wrap .form_ttl,
.form_wrap .w2llabel{
	margin-bottom: 10px;
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.6;
}
.form_wrap .w2llabel{
	margin-top: 0;
	color: #3E3A39;
}

.form_wrap .form_box + .form_box,
.form_wrap .sf_field + .sf_field{
	margin-top: 45px;
}

.form_wrap .form_input,
.form_wrap .form_select,
.form_wrap .form_textarea,
.contact .form_wrap .w2linput.text,
.contact .form_wrap .w2linput.textarea,
.contact .form_wrap .w2linput.select,
.contact .form_wrap .w2linput.text.captcha{
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0 16px;
	background: #fff;
	border: 1px solid #2C809F;
	font-family: 'Noto Sans JP', "メイリオ",Meiryo,"Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック",Arial,Verdana,sans-serif;
	text-align: left;
	font-size: 2.2rem;
	color: #2C809F;
}
.form_wrap ::placeholder{
	opacity: 1;
	color: #2C809F;
}

.form_wrap .form_select,
.contact .form_wrap .w2linput.select{
	padding-right: 50px;
	background: #fff url(../img/common/ico_select.svg) no-repeat;
	background-position: calc(100% - 22px) center;
}

.form_wrap .form_textarea,
.contact .form_wrap .w2linput.textarea{
	height: 180px;
	padding: 10px 16px;
	resize: vertical;
}

.contact .form_wrap .w2linput.text.captcha{
	margin-top: 15px;
}

.form_wrap .form_btn_box{
	display: flex;
	justify-content: center;
	margin-top: 75px;
}
.form_wrap .form_btn_box > p{
	display: flex;
	justify-content: center;
	width: 100%;
}
.form_wrap .form_btn_box .wpcf7-spinner{
	width: 0;
	height: 0;
	margin: 0;
}

.form_wrap .form_btn,
.contact .form_wrap .w2linput.submit{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 430px;
	height: 100px;
	padding: 0 100px 0 50px;
	border-radius: 50px;
	background: #2C809F url(../img/common/btn_arw01.svg) no-repeat;
	background-size: 28px;
	background-position: calc(100% - 50px) center;
	-webkit-transition: background-position .4s ease, background-color .4s ease;
	transition: background-position .4s ease, background-color .4s ease;
	text-align: center;
	font-weight: bold;
	font-size: 2.6rem;
	color: #fff;
}
.form_wrap .form_btn.gray{
	background: #757575 url(../img/common/btn_arw_back01.svg) no-repeat center center;
	background-size: 28px;
	background-position: 50px center;
	padding: 0 50px 0 100px;
}
@media screen and (min-width: 769px) {
	.form_wrap .form_btn:hover,
	.contact .form_wrap .w2linput.submit:hover{
		background: #EAF2F5 url(../img/common/btn_arw02.svg) no-repeat center center;
		color: #2C809F;
		background-size: 28px;
		background-position: calc(100% - 35px) center;
		opacity: 1;
	}

	.form_wrap .form_btn.gray:hover{
		background: #C2C2C2 url(../img/common/btn_arw_back03.svg) no-repeat center center;
		background-size: 28px;
		background-position: 35px center;
		color: #3E3A39;
	}
}

.form_wrap .form_btn .btn_txt{
	display: block;
	width: 100%;
}

.contact .form_wrap .w2linput.submit{
	width: 550px;
	margin: 75px auto 0;
}


.form_wrap .form_check_btm{
	display: flex;
	justify-content: center;
	margin: 75px auto 0;
}

.form_wrap label {
	position: relative;
	display: flex;
	align-items: center;
	color: #2C809F;
	line-height: 1.3;
	font-size: 2.2rem;
	font-weight: bold;
}
.form_wrap label input[type=checkbox],
.form_wrap label input[type=radio],
.contact .form_wrap .w2linput.checkbox,
.contact .form_wrap .w2linput.radio{
	flex-shrink: 0;
	position: relative;
	z-index: 1;
	display: block;
	width: 20px;
	height: 20px;
	background: #fff;
	margin: 0;
	border: 2px solid #2C809F;
	border-radius: 1px;
	cursor: pointer;
	overflow: hidden;
}
.form_wrap label input[type=radio],
.contact .form_wrap .w2linput.radio{
	border-radius: 50%;
}
.form_wrap label input[type=checkbox]:checked,
.contact .form_wrap .w2linput.checkbox:checked {
	appearance: none;
	background: #2C809F url(../img/common/ico_form_check.svg) no-repeat center center;
}
.form_wrap label input[type=radio],
.contact .form_wrap .w2linput.radio:checked::before{
	content: "";
	display: block;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	width: 60%;
	height: 60%;
	border-radius: 50%;
	background: #2C809F;
}

.contact .form_wrap .w2linput.checkbox,
.contact .form_wrap .w2linput.radio{
	display: inline-block;
	vertical-align: top;
	margin-right: 15px;
	margin-top: 12px;
	float: none;
}
.contact .form_wrap .w2linput.checkbox + .w2llabel,
.contact .form_wrap .w2linput.radio + .w2llabel{
	display: inline-block;
	margin: 0;
	width: calc(100% - 40px);
	cursor: auto;
	float: none;
}

.form_wrap label span {
	margin-left: 15px;
}

.form_wrap .form_note_box{
	margin-top: 30px;
}

.form_wrap .form_note{
	text-align: center;
	font-size: 1.4rem;
	line-height: 1.6;
	color: #757575;
}

.form_wrap .form_txt label{
	margin-top: 20px;
}

.wpcf7-not-valid-tip{
	margin-top: 1em;
	line-height: 1.3;
}

.salesforce_w2l_lead .sf_required_fields_msg{
	display: none !important;
	margin-top: 1em;
}

.form_wrap .salesforce_w2l_lead .sf_field span.error_message{
	font-size: 1.6rem;
	padding-top: 10px;
	line-height: 1.3;
}


@media screen and (max-width: 768px) {
	.form_wrap .form_ttl,
	.form_wrap .w2llabel{
		font-size: 1.4rem;
	}

	.form_wrap .form_box + .form_box,
	.form_wrap .sf_field + .sf_field{
		margin-top: 32px;
	}

	.form_wrap .form_input,
	.form_wrap .form_select,
	.form_wrap .form_textarea,
	.contact .form_wrap .w2linput.text,
	.contact .form_wrap .w2linput.textarea,
	.contact .form_wrap .w2linput.select,
	.contact .form_wrap .w2linput.text.captcha{
		height: 40px;
		font-size: 1.4rem;
	}

	.form_wrap .form_select,
	.contact .form_wrap .w2linput.select{
		padding-right: 30px;
		background-position: calc(100% - 13px) center;
		background-size: 13px;
	}

	.form_wrap .form_textarea,
	.contact .form_wrap .w2linput.textarea{
		height: 115px;
	}

	.contact .form_wrap .w2linput.text.captcha{
		margin: 10px 0 0;
	}

	.form_wrap .form_check_btm{
		margin: 60px auto 0;
	}

	.form_wrap label{
		font-size: 1.4rem;
	}
	.form_wrap label span{
		margin-left: 10px;
	}

	.contact .form_wrap .w2linput.checkbox,
	.contact .form_wrap .w2linput.radio{
		margin-top: 5px;
		margin-right: 10px;
	}

	.form_wrap .form_btn_box{
		flex-direction: column;
		align-items: center;
		margin-top: 60px;
	}
	.form_wrap .form_btn_box > p{
		flex-direction: column;
		align-items: center;
	}

	.form_wrap .form_btn,
	.contact .form_wrap .w2linput.submit{
		justify-content: center;
		width: 260px;
		height: 60px;
		padding: 10px 15px;
		background-position: calc(100% - 30px) center;
		background-size: 19px;
		font-size: 1.6rem;
	}
	.form_wrap .form_btn.gray{
		padding: 10px 15px;
		background-position: 30px center;
	}

	.form_wrap .form_btn .btn_txt{
		display: block;
		width: auto;
	}

	.contact .form_wrap .w2linput.submit{
		max-width: 300px;
		width: 100%;
		min-width: 270px;
		padding-right: 30px;
		padding: 10px 30px 10px 10px;
		margin-top: 60px;
		background-position: 95% center;
	}

	.form_note_box{
		text-align: center;
		margin-top: 20px;
	}

	.form_note_box .form_note{
		display: inline-block;
		text-align: left;
	}

	.form_wrap .form_txt label{
		margin-top: 15px;
	}

	.form_wrap .salesforce_w2l_lead .sf_field span.error_message{
		font-size: 1.2rem;
		padding-top: 5px;
	}
}



/* ------------------------------
	.form_wrap.confirm
------------------------------ */
.form_wrap.confirm .form_box{
	display: flex;
	padding: 23px 0 25px;
	border-top: 1px solid #C2C2C2;
}
.form_wrap.confirm .form_box:last-of-type{
	border-bottom: 1px solid #C2C2C2;
}
.form_wrap.confirm .form_box + .form_box{
	margin-top: 0;
}

.form_wrap.confirm .form_ttl{
	flex-shrink: 0;
	width: 270px;
	margin: 0;
	padding-right: 10px;
	color: #808080;
}
.form_wrap.confirm .form_ttl *{
	font-size: inherit;
	color: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.form_wrap.confirm .form_txt{
	font-size: 2.2rem;
	line-height: 1.6;
}
.form_wrap.confirm .form_txt *{
	font-size: inherit;
	color: inherit;
	font-weight: inherit;
	line-height: inherit;
}

.form_wrap.confirm .form_check_btm{
	display: none;
}

.form_wrap.confirm .form_btn_box .form_btn + .form_btn{
	margin-left: 55px;
}


@media screen and (max-width: 768px) {
	.form_wrap.confirm .form_box{
		padding: 15px 0;
	}

	.form_wrap.confirm .form_ttl{
		width: 30%;
		min-width: 110px;
		padding: 0 5px;
	}

	.form_wrap.confirm .form_txt{
		font-size: 1.4rem;
	}

	.form_wrap.confirm .form_btn_box .form_btn + .form_btn{
		margin-left: 0;
	}

	.form_wrap.confirm .form_btn_box .form_btn:nth-child(1){
		order: 2;
		margin-top: 24px;
	}
	.form_wrap.confirm .form_btn_box .form_btn:nth-child(2){
		order: 1;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#top_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.top_header .header_wrap
------------------------------ */
.top_header .header_wrap .logo a{
	background: url(../img/common/logo_wh.svg) no-repeat center center;
}
.top_header .header_wrap.fix .logo a{
	background: none;
}
.top_header .header_wrap .logo img{
	opacity: 0;
}
.top_header .header_wrap.fix .logo img{
	opacity: 1;
}

.top_header .header_wrap .gnav_list li,
.top_header .header_wrap .gnav_list li a{
	color: #fff;
}
.top_header .header_wrap.fix .gnav_list li,
.top_header .header_wrap.fix .gnav_list li a{
	color: #657D87;
}


@media screen and (max-width: 768px){
	.top_header .header_wrap .logo a{
		background: url(../img/index/logo_wh_sp.svg) no-repeat center center;
	}

	.top_header .menu_btn .line{
		background: #fff;
	}
	.top_header .menu_btn.fix .line{
		background: #657D87;
	}

	.top_header .menu_btn.hide .line{
		background: #fff;
	}
	.top_header .header_wrap.hide .logo a{
		background: url(../img/index/logo_wh_sp.svg) no-repeat center center;
	}
	.top_header .header_wrap.hide .logo img{
		opacity: 0;
	}
}



/* ------------------------------
	.mv
------------------------------ */
#top_page .mv .mv_img{
	width: 100%;
}
#top_page .mv .mv_img img{
	width: 100%;
}

#top_page  .mv{
	position: relative;
	width: 100%;
	padding-top: 56.25%;
	pointer-events: none;
}
#top_page  .mv *{
	pointer-events: none;
}
#top_page #mv{
	position: absolute;
	top: 0;
	left: 0;
	margin: auto;
	width: 100%;
	height: 100%;
	border: 0;
	object-fit: cover;
	pointer-events: none;
}


@media screen and (max-width: 768px){
	#top_page .mv{
		padding-top: 160%;
	}
}



/* ------------------------------
	.news
------------------------------ */
#top_page .news{
	padding: 100px 0 110px;
}

#top_page .en_ttl{
	font-size: 4.0rem;
	font-weight: bold;
}

#top_page .news .ttl_box{
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 15px;
}

#top_page .news .all_btn a{
	position: relative;
	display: block;
	padding-right: 30px;
	padding-top: 4px;
	font-weight: bold;
	font-size: 1.8rem;
	perspective: 1000;
}
#top_page .news .all_btn a::before{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	display: block;
	width: 19px;
	height: 14px;
	background: url(../img/common/btn_arw02.svg) no-repeat right center;
	background-size: 100%;
	-webkit-transition: left .4s ease, right .4s ease;
	transition: left .4s ease, right .4s ease;
}
@media screen and (min-width: 769px){
	#top_page .news .all_btn a:hover{
		opacity: 1;
	}
	#top_page .news .all_btn a:hover::before{
		right: -5px;
	}
}


@media screen and (max-width: 768px){
	#top_page .news{
		padding: 50px 0;
	}

	#top_page .news .ttl_box{
		margin-bottom: 10px;
	}
}



/* ------------------------------
	.solution
------------------------------ */
#top_page .solution{
	padding: 70px 0;
	background: url(../img/index/solution_bg.png) no-repeat center center;
	background-size: cover;
}

#top_page .solution .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#top_page .solution .txt_box{
	width: 470px;
}

#top_page .solution .en_ttl{
	margin-bottom: 25px;
	color: #fff;
}

#top_page .solution .txt{
	color: #fff;
	font-size: 1.8rem;
	font-weight: 500;
}

#top_page .solution .link_box{
	margin-top: 40px;
	padding-left: 10px;
}

#top_page .solution .link_box .txt + .txt{
	margin-top: 8px;
}

#top_page .solution .link_box .txt a{
	font-weight: bold;
	color: #fff;
	letter-spacing: 0.05em;
	position: relative;
	padding-left: 17px;
}

#top_page .solution .link_box .txt a::before{
	content: "";
	display: inline-block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 4.5px 0 4.5px 6.5px;
	border-color: transparent transparent transparent #ffffff;
	position: absolute;
	top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

#top_page .solution .base_btn{
	margin-top: 45px;
}

#top_page .solution .img_box{
	flex-shrink: 0;
	width: 50%;
	max-width: 546px;
}

#top_page .solution .img{
	position: relative;
	max-width: 477px;
}
#top_page .solution .img::after{
	position: absolute;
	top: 13%;
	left: 0;
	right: 1.5%;
	bottom: 0;
	margin: auto;
	content: "";
	width: 16%;
	height: 0;
	padding-top: 21%;
	background: url(../img/index/solution_img02.png) no-repeat center center;
	background-size: 100%;
	background-blend-mode: multiply;
	mix-blend-mode: multiply;
}


@media screen and (max-width: 768px){
	#top_page .solution{
		padding: 50px 0 45px;
		background: url(../img/index/solution_bg_sp.png) no-repeat center center;
		background-size: cover;
	}


	#top_page .solution .wrap{
		flex-direction: column;
	}

	#top_page .solution .txt_box{
		order: 2;
		width: 100%;
		text-align: center;
	}

	#top_page .solution .en_ttl{
		text-align: center;
		margin-bottom: 15px;
		color: #fff;
	}

	#top_page .solution .txt{
		font-size: 1.4rem;
	}

	#top_page .solution .link_box{
		display: inline-block;
		margin-top: 25px;
		padding-left: 0;
	}

	#top_page .solution .link_box .txt{
		font-size: 1.6rem;
	}
	#top_page .solution .link_box .txt + .txt{
		margin-top: 10px;
	}

	#top_page .solution .base_btn{
		justify-content: center;
		margin-top: 25px;
	}

	#top_page .solution .img_box{
		order: 1;
		width: 100%;
		max-width: 100%;
		margin-bottom: 55px;
	}

	#top_page .solution .img{
		position: relative;
		margin: 0 auto;
	}
}



/* ------------------------------
	.company
------------------------------ */
#top_page .company{
	padding: 100px 0 110px;
}

#top_page .company .wrap{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#top_page .company .img_box{
	flex-shrink: 0;
	width: 50%;
	max-width: 546px;
	margin-left: 2%;
}

#top_page .company .txt_box{
	width: 470px;
}

#top_page .company .en_ttl{
	margin-bottom: 25px;
}

#top_page .company .txt{
	font-size: 1.8rem;
	font-weight: 500;
}

#top_page .company .base_btn{
	margin-top: 55px;
}


@media screen and (max-width: 768px){
	#top_page .company{
		padding: 50px 0 70px;
	}

	#top_page .company .wrap{
		flex-direction: column;
	}

	#top_page .company .img_box{
		order: 1;
		width: 100%;
		max-width: 100%;
		margin-left: 0;
		margin-bottom: 45px;
	}

	#top_page .company .txt_box{
		order: 2;
		width: 100%;
	}

	#top_page .company .en_ttl{
		text-align: center;
		margin-bottom: 15px;
	}

	#top_page .company .txt{
		font-size: 1.4rem;
	}

	#top_page .company .base_btn{
		justify-content: center;
		margin-top: 30px;
	}
}



/* ------------------------------
	.license
------------------------------ */
#top_page .license{
	padding: 65px 0 55px;
	background: url(../img/index/license_bg.jpg) no-repeat center center;
	background-size: cover;
}

#top_page .license .txt_box{
	width: 546px;
	padding: 45px;
	margin-left: auto;
	background: #fff;
	box-shadow: 7px 7px 5px rgba(0,0,0, 0.1);
}

#top_page .license .ttl{
	text-align: center;
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 25px;
}

#top_page .license .txt{
	font-size: 1.8rem;
	font-weight: 500;
}

#top_page .license_wrap{
	margin-top: 35px;
}

#top_page .license_box + .license_box{
	margin-top: 30px;
}

#top_page .license_ttl,
#top_page .license_txt{
	text-align: center;
	font-weight: bold;
	line-height: 1.6;
}

#top_page .license_ttl{
	margin-bottom: 5px;
	font-size: 1.4rem;
	color: #757575;
}

#top_page .license_txt{
	font-size: 1.8rem;
}


@media screen and (max-width: 768px){
	#top_page .license{
		padding: 90% 0 60px;
		background: url(../img/index/license_bg_sp.jpg) no-repeat center top;
		background-size: 100%;
	}

	#top_page .license .txt_box{
		width: 100%;
		padding: 45px 4vw 60px;
		margin-left: auto;
		background: #fff;
		box-shadow: 7px 7px 5px rgba(0,0,0, 0.1);
	}

	#top_page .license .ttl{
		font-size: 2.8rem;
		margin-bottom: 10px;
	}

	#top_page .license .txt{
		font-size: 1.4rem;
	}

	#top_page .license_wrap{
		margin-top: 40px;
	}

	#top_page .license_box + .license_box{
		margin-top: 25px;
	}

	#top_page .license_ttl,
	#top_page .license_txt{
		line-height: 1.5;
	}
}



/* ------------------------------
	.product
------------------------------ */
#top_page .product{
	padding: 85px 0 75px;
}

#top_page .product .ttl{
	margin-bottom: 90px;
	text-align: center;
	font-size: 3.2rem;
	font-weight: bold;
}

#top_page .product_list{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

#top_page .product_item{
	width: 49%;
	max-width: 525px;
}
#top_page .product_item:nth-child(n + 3){
	margin-top: 40px;
}

#top_page .product_item a{
	display: flex;
	justify-content: space-between;
	width: 100%;
	padding: 25px 30px;
	background: #EDEDED;
	border-radius: 44px;
	-webkit-transition: background .4s ease;
	transition: background .4s ease;
}
@media screen and (min-width: 769px) {
	#top_page .product_item a:hover{
		opacity: 1;
		background: #F5F5F5;
	}
}

#top_page .product_item .img{
	flex-shrink: 0;
	position: relative;
	width: 180px;
	height: 180px;
	border-radius: 20px;
	overflow: hidden;
}
#top_page .product_item .img img{
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	height: auto;
	min-height: 100%;
	min-width: 100%;
	-ms-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	overflow: hidden;
	object-fit: cover;
}

#top_page .product_item .txt_box{
	position: relative;
	width: 100%;
	padding: 20px 0 40px;
	margin-left: 20px;
}

#top_page .product_item .product_ttl{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.6;
}

#top_page .product_item .product_arw{
	position: absolute;
	right: 0;
	bottom: 10px;
	padding-top: 4px;
	padding-right: 34px;
	font-weight: 300;
	font-size: 1.8rem;
}
#top_page .product_item .product_arw::before{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	content: "";
	display: block;
	width: 19px;
	height: 14px;
	background: url(../img/common/ico_arw01.svg) no-repeat center center;
	background-size: 100%;
	-webkit-transition: left .4s ease, right .4s ease;
	transition: left .4s ease, right .4s ease;
}
@media screen and (min-width: 769px){
	#top_page .product_item a:hover .product_arw::before{
		right: -5px;
	}
}


@media screen and (max-width: 1160px){
	#top_page .product_item a{
		padding: 25px 25px;
	}
}

@media screen and (max-width: 1000px){
	#top_page .product_item .txt_box{
		padding-top: 0;
	}

	#top_page .product_item .product_ttl{
		font-size: 1.6rem;
	}

	#top_page .product_item .product_arw{
		font-size: 1.6rem;
	}

	#top_page .product_item .img{
		width: 140px;
		height: 140px;
	}
}


@media screen and (max-width: 768px){
	#top_page .product{
		padding: 0 0 70px;
	}

	#top_page .product .ttl{
		margin-bottom: 30px;
		font-size: 2.8rem;
	}

	#top_page .product_list{
		flex-direction: column;
		align-items: center;
	}

	#top_page .product_item{
		width: 100%;
		max-width: 400px;
	}
	#top_page .product_item:nth-child(n + 2),
	#top_page .product_item:nth-child(n + 3){
		margin-top: 32px;
	}

	#top_page .product_item a{
		flex-direction: column;
		align-items: center;
		padding: 45px 30px 22px;
		background: #EDEDED;
		border-radius: 34px;
	}

	#top_page .product_item .img{
		width: 180px;
		height: 180px;
		border-radius: 20px;
	}

	#top_page .product_item .txt_box{
		position: relative;
		width: 100%;
		padding: 20px 0 60px;
		margin-left: 0;
	}

	#top_page .product_item .product_ttl{
		max-width: 180px;
		margin: 0 auto;
		font-size: 1.4rem;
	}

	#top_page .product_item .product_arw{
		bottom: 0;
		padding-right: 30px;
		font-size: 1.8rem;
	}
}



/* ------------------------------
	.award
------------------------------ */
#top_page .award{
	padding: 100px 0 110px;
	background: #EAF2F5;
}

#top_page .award .ttl{
	text-align: center;
	font-size: 3.2rem;
	font-weight: bold;
	margin-bottom: 30px;
}

#top_page .award_slide .award_box{
	width: 400px;
	margin: 0 58px;
}

#top_page .award_slide .award_box .img{
	position: relative;
	padding-top: 62.1%;
	border-radius: 11px;
	overflow: hidden;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
#top_page .award_slide .award_box .img img{
	position: absolute;
	z-index: 1;
	top: 50%;
	left: 50%;
	height: auto;
	min-height: 100%;
	min-width: 100%;
	-ms-transform: translateX(-50%) translateY(-50%);
	-moz-transform: translateX(-50%) translateY(-50%);
	-webkit-transform: translateX(-50%) translateY(-50%);
	transform: translateX(-50%) translateY(-50%);
	overflow: hidden;
	object-fit: cover;
}
@media screen and (min-width: 769px) {
	#top_page .award_slide .award_box a:hover{
		opacity: 1;
	}
	#top_page .award_slide .award_box a:hover .img{
		opacity: 0.8;
	}
}

#top_page .award_slide .award_box .txt{
	margin-top: 15px;
	font-size: 1.8rem;
	font-weight: 500;
}

#top_page .award_slide .slick-dots{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 34px;
}

#top_page .award_slide .slick-dots li + li{
	margin-left: 20px;
}

#top_page .award_slide .slick-dots li,
#top_page .award_slide .slick-dots li button{
	display: block;
	width: 20px;
	height: 20px;
	padding: 0;
	margin: 0;
	background: #808080;
	border-radius: 50%;
	color: transparent;
	font-size: 1.0rem;
}

#top_page .award_slide .slick-dots li.slick-active,
#top_page .award_slide .slick-dots li.slick-active button{
	background: #2C809F;
}

#top_page .award_slide .slick-arrow{
	position: absolute;
	z-index: 2;
	top: 110px;
	width: 27px;
	height: 32px;
	cursor: pointer;
}
#top_page .award_slide .prev_arrow{
	left: calc(50% - 275px);
	background: url(../img/index/slide_arw01.svg) no-repeat center center;
	background-size: 100%;
}
#top_page .award_slide .next_arrow{
	right: calc(50% - 275px);
	background: url(../img/index/slide_arw02.svg) no-repeat center center;
	background-size: 100%;
}


@media screen and (max-width: 768px){
	#top_page .award{
		padding: 50px 0 40px;
	}

	#top_page .award .ttl{
		font-size: 2.8rem;
	}

	#top_page .award_slide .award_box{
		width: calc(84vw - 40px);
		margin: 0 20px;
	}

	#top_page .award_slide .award_box .img{
		border-radius: 1.7vw;
	}

	#top_page .award_slide .award_box .txt{
		margin-top: 12px;
		text-align: center;
		font-size: 1.4rem;
	}

	#top_page .award_slide .slick-dots li + li{
		margin-left: 14px;
	}

	#top_page .award_slide .slick-dots li,
	#top_page .award_slide .slick-dots li button{
		width: 14px;
		height: 14px;
	}

	#top_page .award_slide .slick-arrow{
		top: 20vw;
		width: 14px;
		height: 17px;
	}
	#top_page .award_slide .prev_arrow{
		left: -10px;
	}
	#top_page .award_slide .next_arrow{
		right: -10px;
	}
}



/* ------------------------------
	.client
------------------------------ */
#top_page .client{
	padding: 80px 0 75px;
}

#top_page .client .ttl{
	margin-bottom: 55px;
	font-size: 3.0rem;
	font-weight: 500;
}


@media screen and (max-width: 768px){
	#top_page .client{
		padding: 75px 0 70px;
	}

	#top_page .client .ttl{
		margin-bottom: 35px;
		font-size: 2.2rem;
	}

	#top_page .client .img{
		width: calc(84vw - 40px);
		margin: 0 auto;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#news_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.news
------------------------------ */
#news_page .news{
	padding: 80px 0 160px;
}

#news_page .news_menu{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	margin-bottom: 105px;
}

#news_page .news_menu li{
	width: calc((100% - 8px * 5) / 6);
	margin-right: 8px;
}
#news_page .news_menu li:nth-child(6n){
	margin-right: 0;
}

#news_page .news_menu li a{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 80px;
	border-bottom: 8px solid #C2C2C2;
	text-align: center;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: bold;
	color: #808080;
}
#news_page .news_menu li.current a{
	border-color: #2C809F;
	color: #2C809F;
}

#news_page .news_cate_ttl{
	margin-bottom: 25px;
	font-size: 4.0rem;
	line-height: 1.3;
}

#news_page .news_item a{
	min-height: 186px;
}

#news_page .news .btn_box{
	display: flex;
	align-items: center;
	justify-content: center;
	width: 690px;
	margin: 55px auto 0;
}

#news_page .news .btn_box .base_btn.prev{
	margin-right: auto;
}
#news_page .news .btn_box .base_btn.next{
	margin-left: auto;
}
#news_page .news .btn_box .base_btn + .base_btn{
	margin-left: 50px;
}

#news_page .news .btn_box .base_btn a{
	width: 320px;
}


@media screen and (max-width: 1000px){
	#news_page .news_menu li{
		width: calc((100% - 8px * 2) / 3);
	}
	#news_page .news_menu li:nth-child(3n){
		margin-right: 0;
	}
}

@media screen and (max-width: 900px){
	#news_page .news_item a{
		min-height: 168px;
	}
}


@media screen and (max-width: 768px){
	#news_page .news{
		padding: 50px 0 70px;
	}

	#news_page .news_select{
		width: 100%;
		height: 38px;
		padding: 0 40px 0 16px;
		margin-bottom: 40px;
		background: #2C809F url(../img/news/news_select_ico.svg) no-repeat;
		background-position: calc(100% - 22px) center;
		color: #fff;
	}

	#news_page .news_cate_ttl{
		font-size: 3.5rem;
	}

	#news_page .news_item a{
		min-height: 0;
	}

	#news_page .news .btn_box{
		flex-direction: column;
		width: 100%;
		margin-top: 60px;
	}

	#news_page .news .btn_box .base_btn.prev{
		margin-right: 0;
	}
	#news_page .news .btn_box .base_btn.next{
		margin-left: 0;
	}
	#news_page .news .btn_box .base_btn + .base_btn{
		margin-left: 0;
	}

	#news_page .news .btn_box .base_btn.next{
		order: 1;
	}
	#news_page .news .btn_box .base_btn.prev{
		order: 2;
		margin-top: 30px;
	}
	#news_page .news .btn_box .base_btn a{
		width: 260px;
	}

	#news_page .news .btn_box .base_btn .arw{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 30px;
		margin: auto;
	}
	#news_page .news .btn_box .base_btn .arw.back{
		left: 30px;
		right: auto;
	}
}



/* ------------------------------
	#news_page .news_details
------------------------------ */
#news_page .news_details{
	padding: 80px 0 160px;
}

#news_page .news_details_wrap{
	width: 100%;
	padding: 55px 0 100px;
	border-top: 1px solid #C2C2C2;
	border-bottom: 1px solid #C2C2C2;
}

#news_page .news_head{
	width: 100%;
	max-width: 674px;
	margin: 0 auto;
	padding-bottom: 20px;
}

#news_page .news_head .main_img{
	margin-bottom: 25px;
}
#news_page .news_head .main_img img{
	width: 100%;
}

#news_page .news_head .date_box{
	flex-shrink: 0;
	display: flex;
	margin-bottom: 15px;
}

#news_page .news_head .date{
	flex-shrink: 0;
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 500;
	letter-spacing: 0.05em;
}
#news_page .news_head .date::after{
	content: "｜";
}

#news_page .news_head .cate,
#news_page .news_head .cate a{
	font-size: 1.4rem;
	line-height: 1.6;
	font-weight: 500;
	color: #2C809F;
	letter-spacing: 0.05em;
}

#news_page .news_head .news_ttl{
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

.editor-styles-wrapper{
	width: 100%;
	max-width: 674px;
	margin: 0 auto;
}

#news_page .news_details .btn_box{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin-top: 95px;
}

#news_page .news_details .btn_box .base_btn{
	width: calc(33.3333% - 20px);
	max-width: 320px;
}

#news_page .news_details .btn_box .base_btn a{
	width: 100%;
}

#news_page .news_details .base_btn.prev,
#news_page .news_details .base_btn.next{
	position: absolute;
	top: 0;
}
#news_page .news_details .base_btn.prev{
	left: 0;
}
#news_page .news_details .base_btn.next{
	right: 0;
}


@media screen and (max-width: 1000px){
	#news_page .news_details .btn_box .base_btn a{
		padding: 0 20px;
	}
	#news_page .news_details .btn_box .base_btn .arw{
		margin-left: 10px;
	}
	#news_page .news_details .btn_box .base_btn .arw.back{
		margin-left: 0;
		margin-right: 10px;
	}
}


@media screen and (max-width: 768px){
	#news_page .news_details{
		padding: 50px 0 110px;
	}

	#news_page .news_details_wrap{
		padding: 40px 0 55px;
	}

	#news_page .news_head{
		max-width: 100%;
		padding-bottom: 15px;
	}

	#news_page .news_head .main_img{
		margin-bottom: 45px;
	}

	#news_page .news_head .date_box{
		margin-bottom: 10px;
	}

	.editor-styles-wrapper{
		max-width: 100%;
	}

	#news_page .news_details .btn_box{
		position: relative;
		margin-top: 55px;
	}

	#news_page .news_details .btn_box .base_btn + .base_btn{
		margin-left: 0;
	}

	#news_page .news_details .btn_box .base_btn{
		width: calc(100% - 130px);
	}
	#news_page .news_details .btn_box .base_btn a{
		width: 150px;
		max-width: 100%;
		margin: 0 auto;
	}

	#news_page .news_details .btn_box .base_btn.prev,
	#news_page .news_details .btn_box .base_btn.next{
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: auto;
	}
	#news_page .news_details .btn_box .base_btn.prev{
		left: 0;
	}
	#news_page .news_details .btn_box .base_btn.next{
		right: 0;
	}

	#news_page .news_details .btn_box .base_btn.prev .btn_txt,
	#news_page .news_details .btn_box .base_btn.next .btn_txt{
		display: none;
	}

	#news_page .news_details .btn_box .base_btn.prev a,
	#news_page .news_details .btn_box .base_btn.next a{
		width: 60px;
	}

	#news_page .news_details .btn_box .base_btn .arw,
	#news_page .news_details .btn_box .base_btn .arw.back{
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
	}
}



/* ------------------------------
	.editor-styles-wrapper
------------------------------ */
.editor-styles-wrapper > *:first-child,
.editor-styles-wrapper > *:first-child *:first-child{
	margin-top: 0 !important;
}
.editor-styles-wrapper > *:last-child,
.editor-styles-wrapper > *:last-child *:last-child{
	margin-bottom: 0 !important;
}

.editor-styles-wrapper > *{
	position: relative;
	max-width: 100%;
}

.editor-styles-wrapper{
	overflow: hidden;
}

.editor-styles-wrapper *{
	font-size: 1.6rem;
	line-height: 1.6;
	word-break: break-word;
	letter-spacing: 0.05em;
}

.editor-styles-wrapper h1,
.editor-styles-wrapper h2,
.editor-styles-wrapper h3,
.editor-styles-wrapper h4,
.editor-styles-wrapper h5,
.editor-styles-wrapper h6{
	padding-left: 20px;
	border-left: 6px solid #2C809F;
	line-height: 1.5;
	font-weight: bold;
	margin-top: 80px;
}

.editor-styles-wrapper h1{
	font-size: 2.2rem;
}
.editor-styles-wrapper h2{
	font-size: 2.2rem;
}
.editor-styles-wrapper h3{
	font-size: 2.0rem;
}
.editor-styles-wrapper h4{
	font-size: 1.8rem;
}
.editor-styles-wrapper h5{
	font-size: 1.7rem;
}
.editor-styles-wrapper h6{
	font-size: 1.6rem;
	line-height: 1.6;
}

.editor-styles-wrapper a{
	text-decoration: underline;
	-webkit-transition: all .4s ease;
	transition: all .4s ease;
	color: #2C809F;
	font-weight: bold;
}
.editor-styles-wrapper a.wp-block-button__link{
	text-decoration: none;
	color: #fff;
}
@media screen and (min-width: 769px) {
	.editor-styles-wrapper a:hover{
		text-decoration: none;
	}
}

.editor-styles-wrapper a,
.editor-styles-wrapper span,
.editor-styles-wrapper strong,
.editor-styles-wrapper em,
.editor-styles-wrapper b{
	font-size: inherit;
	line-height: inherit;
}

.editor-styles-wrapper > *,
.editor-styles-wrapper > * p + p{
	margin-top: 45px;
	margin-bottom: 45px;
}

.editor-styles-wrapper h1 + *,
.editor-styles-wrapper h2 + *,
.editor-styles-wrapper h3 + *,
.editor-styles-wrapper h4 + *,
.editor-styles-wrapper h5 + *,
.editor-styles-wrapper h6 + *{
	margin-top: 20px;
	margin-bottom: 45px;
}

.editor-styles-wrapper figure{
	text-align: center;
}

.editor-styles-wrapper .wp-caption-text,
.editor-styles-wrapper figcaption,
.editor-styles-wrapper caption {
	display: block !important;
	margin-bottom: 0 !important;
	margin-top: 0.8em;
	text-align: center;
}

.editor-styles-wrapper .aligncenter{
	display: block;
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}
.editor-styles-wrapper .wp-block-image .aligncenter{
	display: table;
}
.editor-styles-wrapper .alignright{
	float:right;
	margin-left: 40px;
	padding-bottom: 0.3em;
	overflow: hidden;
}
.editor-styles-wrapper .alignleft{
	float:left;
	margin-right: 40px;
	padding-bottom: 0.3em;
	overflow: hidden;
}
.editor-styles-wrapper p::after{
	content: "";
	clear: both;
}
.editor-styles-wrapper > *:first-child.alignright + p,
.editor-styles-wrapper > *:first-child.alignleft + p{
	margin-top: 0;
}
.editor-styles-wrapper .alignleft + .aligncenter,
.editor-styles-wrapper .alignright + .aligncenter{
	padding-top: 28px;
}

.editor-styles-wrapper ul,
.editor-styles-wrapper ol{
	padding-left: 25px;
}

.editor-styles-wrapper li + li{
	margin-top: 5px;
}

.editor-styles-wrapper ul li{
	position: relative;
}
.editor-styles-wrapper ul li::before{
	position: absolute;
	top: 0;
	left: -25px;
	content: "●";
	color: #2C809F;
}

.editor-styles-wrapper ol{
	counter-reset: ol_num;
}
.editor-styles-wrapper ol li{
	position: relative;
}
.editor-styles-wrapper ol li:before {
	position: absolute;
	top: 0;
	left: -25px;
	counter-increment: ol_num;
	content: counter(ol_num)'.';
	font-weight: bold;
	color: #2C809F;
}

.editor-styles-wrapper blockquote{
	background: #F5F5F5;
	padding: 10px 15px;
}
.editor-styles-wrapper blockquote,
.editor-styles-wrapper blockquote *{
	font-size: 1.4rem;
}

.editor-styles-wrapper table{
	width: 100%;
}

.editor-styles-wrapper th,
.editor-styles-wrapper td{
	padding: 10px;
	border-left: 1px solid #C2C2C2;
	border-bottom: 1px solid #C2C2C2;
	line-height: 1.8;
	background: #fff;
}
.editor-styles-wrapper tr > *:last-child{
	border-right: 1px solid #C2C2C2;
}
.editor-styles-wrapper tr:first-child > *{
	border-top: 1px solid #C2C2C2;
}

.editor-styles-wrapper th{
	font-weight: bold;
}

.editor-styles-wrapper iframe{
	aspect-ratio: 16 / 9;
	width: 100%;
	height: auto;
}


@media screen and (max-width: 768px){
	.editor-styles-wrapper .alignright,
	.editor-styles-wrapper .alignleft{
		float:none;
		display:block;
		text-align: center;
		margin: 35px auto 0;
		padding: 0;
	}
	.editor-styles-wrapper .alignleft + .aligncenter,
	.editor-styles-wrapper .alignright + .aligncenter{
		padding-top: 0;
	}

	.editor-styles-wrapper .aligncenter figcaption,
	.editor-styles-wrapper .alignleft figcaption,
	.editor-styles-wrapper .alignright figcaption{
		display: block;
		text-align: center;
		margin-bottom: 0;
	}

	.editor-styles-wrapper > *,
	.editor-styles-wrapper > * p + p{
		margin-top: 35px;
	}

	.editor-styles-wrapper h1 + *,
	.editor-styles-wrapper h2 + *,
	.editor-styles-wrapper h3 + *,
	.editor-styles-wrapper h4 + *,
	.editor-styles-wrapper h5 + *,
	.editor-styles-wrapper h6 + *{
		margin-top: 15px;
	}

	.editor-styles-wrapper *{
		font-size: 1.4rem;
	}

	.editor-styles-wrapper h1,
	.editor-styles-wrapper h2,
	.editor-styles-wrapper h3,
	.editor-styles-wrapper h4,
	.editor-styles-wrapper h5,
	.editor-styles-wrapper h6{
		padding-left: 10px;
		margin-top: 45px;
	}

	.editor-styles-wrapper h1{
		font-size: 1.8rem;
	}
	.editor-styles-wrapper h2{
		font-size: 1.8rem;
	}
	.editor-styles-wrapper h3{
		font-size: 1.7rem;
	}
	.editor-styles-wrapper h4{
		font-size: 1.6rem;
	}
	.editor-styles-wrapper h5{
		font-size: 1.5rem;
	}
	.editor-styles-wrapper h6{
		font-size: 1.4rem;
	}

	.editor-styles-wrapper .wp-caption-text,
	.editor-styles-wrapper figcaption,
	.editor-styles-wrapper caption{
		margin-top: 5px;
	}

	.editor-styles-wrapper blockquote,
	.editor-styles-wrapper blockquote *{
		font-size: 1.3rem;
	}

	.editor-styles-wrapper ul,
	.editor-styles-wrapper ol{
		padding-left: 23px;
	}
	.editor-styles-wrapper ul li:before,
	.editor-styles-wrapper ol li:before{
		left: -23px;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#careers_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.careers
------------------------------ */
#careers_page .careers{
	padding: 70px 0 160px;
}

#careers_page .careers .sec_ttl{
	margin-bottom: 100px;
}

#careers_page .careers_box + .careers_box{
	margin-top: 50px;
}

#careers_page .careers_ttl{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-height: 120px;
	padding: 20px 120px 20px 40px;
	background: #fff;
	border-top: 1px solid #168095;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.05em;
	cursor: pointer;
}

#careers_page .careers_ttl .ico{
	position: absolute;
	top: 0;
	bottom: 0;
	right: 56px;
	margin: auto;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #2C809F;
}
#careers_page .careers_ttl .ico::before,
#careers_page .careers_ttl .ico::after{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	background: #fff;
}
#careers_page .careers_ttl .ico::before{
	width: 21px;
	height: 1px;
}
#careers_page .careers_ttl .ico::after{
	width: 1px;
	height: 21px;
}
#careers_page .careers_ttl.open .ico::after{
	opacity: 0;
}

#careers_page .careers_txt_box{
	display: none;
	padding: 50px 60px 75px;
	background: #EDEDED;
}

#careers_page .careers_txt_box .flex{
	justify-content: space-between;
}

#careers_page .careers_txt_box .flex .careers_wrap{
	width: 48%;
}

#careers_page .careers_txt_box .box + .box{
	margin-top: 25px;
}

#careers_page .careers_txt_box .ttl{
	margin-bottom: 2px;
	font-weight: bold;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

#careers_page .careers_txt_box .txt{
	letter-spacing: 0.05em;
}

#careers_page .careers_txt_box .txt + .txt{
	margin-top: 1.5em;
}

#careers_page .careers_txt_box .base_btn{
	margin-top: 60px;
}


@media screen and (max-width: 900px){
	#careers_page .careers_txt_box{
		padding: 50px 4% 75px;
	}
}


@media screen and (max-width: 768px){
	#careers_page .careers{
		padding: 50px 0 110px;
	}

	#careers_page .careers .sec_ttl{
		margin-bottom: 20px;
	}

	#careers_page .careers_box + .careers_box{
		margin-top: 25px;
	}

	#careers_page .careers_ttl{
		min-height: 70px;
		padding: 10px 55px 10px 20px;
		font-size: 1.6rem;
	}

	#careers_page .careers_ttl .ico{
		right: 15px;
		width: 26px;
		height: 26px;
	}
	#careers_page .careers_ttl .ico::before{
		width: 14px;
	}
	#careers_page .careers_ttl .ico::after{
		height: 14px;
	}

	#careers_page .careers_txt_box{
		padding: 30px 4vw 60px;
	}

	#careers_page .careers_txt_box .flex{
		flex-direction: column;
	}

	#careers_page .careers_txt_box .flex .careers_wrap{
		width: 100%;
	}

	#careers_page .careers_txt_box .flex .careers_wrap + .careers_wrap{
		margin-top: 25px;
	}

	#careers_page .careers_txt_box .box + .box{
		margin-top: 25px;
	}

	#careers_page .careers_txt_box .base_btn{
		margin-top: 40px;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#entry_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.entry
------------------------------ */
#entry_page .entry{
	padding: 80px 0 160px;
}

#entry_page .entry .sec_ttl{
	margin-bottom: 100px;
}

#entry_page .entry .wrap{
	max-width: 700px;
}

#entry_page .entry .form_wrap.thanks .txt{
	font-size: 2.2rem;
	line-height: 1.7;
}


@media screen and (max-width: 768px){
	#entry_page .entry{
		padding: 50px 0 110px;
	}

	#entry_page .entry .sec_ttl{
		margin-bottom: 40px;
	}

	#entry_page .entry .wrap{
		max-width: 100%;
	}

	#entry_page .entry .form_wrap.thanks .txt{
		font-size: 1.4rem;
		line-height: 1.6;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#contact_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.contact_info
------------------------------ */
#contact_page .contact_info{
	padding: 90px 0 100px;
	border-bottom: 1px solid #C2C2C2;
}

#contact_page .contact_info .wrap{
	max-width: 700px;
}

#contact_page .contact_info .sec_ttl{
	margin-bottom: 100px;
}

#contact_page .contact_info .en{
	text-align: center;
	font-size: 6.0rem;
	font-weight: 500;
}

#contact_page .contact_info .txt{
	margin-top: 5px;
	text-align: center;
	font-size: 2.2rem;
	font-weight: bold;
}


@media screen and (max-width: 768px){
	#contact_page .contact_info{
		padding: 0;
		border-bottom: 0;
	}

	#contact_page .contact_info .wrap{
		max-width: 100%;
		padding: 50px 0;
		border-bottom: 1px solid #C2C2C2;
	}

	#contact_page .contact_info .sec_ttl{
		margin-bottom: 35px;
	}

	#contact_page .contact_info .txt{
		margin-top: 15px;
		font-size: 1.4rem;
	}

	#contact_page .contact_info .tel_btn{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	#contact_page .contact_info .tel_btn a{
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		width: 100%;
		max-width: 360px;
		height: 60px;
		border-radius: 50px;
		background: #2C809F;
		text-align: center;
		font-size: 1.6rem;
		font-weight: bold;
		color: #fff;
	}
	#contact_page .contact_info .tel_btn a::before{
		position: absolute;
		top: 0;
		bottom: 0;
		left: 12px;
		margin: auto;
		content: "";
		display: block;
		width: 40px;
		height: 40px;
		background: #fff url(../img/common/ico_tel.svg) no-repeat center center;
		border-radius: 50%;
	}
}



/* ------------------------------
	.contact
------------------------------ */
#contact_page .contact{
	padding: 100px 0 160px;
}

#contact_page .contact .sec_ttl{
	margin-bottom: 100px;
}

#contact_page .contact .wrap{
	max-width: 700px;
}

#contact_page .contact .form_wrap.thanks .txt{
	font-size: 2.2rem;
	line-height: 1.7;
}


@media screen and (max-width: 768px){
	#contact_page .contact{
		padding: 50px 0 110px;
	}

	#contact_page .contact .sec_ttl{
		margin-bottom: 40px;
	}

	#contact_page .contact .wrap{
		max-width: 100%;
	}

	#contact_page .contact .form_wrap.thanks .txt{
		font-size: 1.4rem;
		line-height: 1.6;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#solution_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.page_ttl_box
------------------------------ */

@media screen and (min-width: 769px){
	#solution_page .page_ttl_box{
		min-height: 280px;
	}
}
@media screen and (max-width: 768px){
	#solution_page .page_ttl_box{
		min-height: 280px;
	}
}



/* ------------------------------
	.solution
------------------------------ */
#solution_page .solution{
	padding: 0 0 150px;
}

#solution_page .solution_box{
	display: flex;
	align-items: center;
	justify-content: space-between;
}

#solution_page .solution_box .txt_box{
	width: 510px;
}

#solution_page .solution_box .str_ttl{
	margin-bottom: 20px;
}
#solution_page .solution_box .str_ttl span{
	display: inline-block;
}

#solution_page .solution_box .txt{
	font-size: 1.8rem;
	font-weight: bold;
	line-height: 1.8;
}

#solution_page .solution_box .img_box{
	flex-shrink: 0;
	width: 50%;
	max-width: 546px;
	margin-left: 10px;
}

#solution_page .solution_box .img_box .img{
	position: relative;
	max-width: 477px;
}
#solution_page .solution_box .img_box .img::after{
	position: absolute;
	top: 13%;
	left: 0;
	right: 1.5%;
	bottom: 0;
	margin: auto;
	content: "";
	width: 16%;
	height: 0;
	padding-top: 21%;
	background: url(../img/index/solution_img02.png) no-repeat center center;
	background-size: 100%;
	background-blend-mode: multiply;
	mix-blend-mode: multiply;
}

#solution_page .solution_list{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
	margin-top: 95px;
}

#solution_page .solution_list li{
	width: 48%;
	max-width: 522px;
}
@media screen and (min-width: 769px){
	#solution_page .solution_list li:nth-child(even){
		margin-left: 4%;
	}
	#solution_page .solution_list li:nth-child(n + 3){
		margin-top: 108px;
	}
}

#solution_page .solution_list .img{
	margin-bottom: 20px;
}

#solution_page .solution_list .str_ttl{
	margin-bottom: 12px;
}

#solution_page .solution_list .base_btn{
	margin-top: 25px;
}


@media screen and (max-width: 768px){
	#solution_page .solution{
		padding: 0 0 80px;
	}

	#solution_page .solution .solution_box{
		flex-direction: column;
	}

	#solution_page .solution .txt_box{
		width: 100%;
	}

	#solution_page .solution_box .str_ttl{
		margin-bottom: 30px;
	}

	#solution_page .solution_box .txt{
		font-size: 1.4rem;
	}

	#solution_page .solution .img_box{
		width: 100%;
		max-width: 100%;
		margin: 50px 0 0;
	}

	#solution_page .solution .img{
		position: relative;
		margin: 0 auto;
	}

	#solution_page .solution_list{
		flex-direction: column;
		margin-top: 65px;
	}

	#solution_page .solution_list li{
		width: 100%;
		max-width: 100%;
	}
	#solution_page .solution_list li + li{
		margin-top: 65px;
	}

	#solution_page .solution_list .img{
		margin-bottom: 20px;
	}

	#solution_page .solution_list .str_ttl{
		margin-bottom: 12px;
		text-align: center;
	}

	#solution_page .solution_list .base_btn{
		justify-content: center;
		margin-top: 20px;
	}
}



/* ------------------------------
	.solution_head
------------------------------ */
#solution_page .solution_head{
	position: relative;
	padding: 260px 0 65px;
}

#solution_page .solution_head_box{
	display: flex;
	flex-direction: column;
}

#solution_page .solution_head .solution_ttl{
	order: 2;
	margin-bottom: 20px;
	text-align: center;
	font-size: 5.0rem;
	line-height: 1.3;
}

#solution_page .solution_head .img{
	order: 1;
	margin-bottom: 45px;
}

#solution_page .solution_head .txt{
	order: 3;
	width: 630px;
	margin: 0 auto;
	font-size: 1.8rem;
	line-height: 1.8;
}

#solution_page .solution_back_btn{
	position: absolute;
	top: 175px;
	left: 85px;
}
#solution_page .solution_back_btn a{
	font-size: 1.8rem;
	font-weight: bold;
}
#solution_page .solution_back_btn .arw{
	position: relative;
	left: 0;
	display: inline-block;
	width: 19px;
	height: 13px;
	margin-right: 10px;
	background: url(../img/common/btn_arw_back03.svg) no-repeat left center;
	background-size: 100%;
	-webkit-transition: left .4s ease, right .4s ease;
	transition: left .4s ease, right .4s ease;
}
@media screen and (min-width: 769px){
	#solution_page .solution_back_btn a:hover .arw{
		left: -10px;
	}
}


@media screen and (max-width: 768px){
	#solution_page .solution_head{
		padding: 170px 0 40px;
	}

	#solution_page .solution_ttl{
		text-align: left;
		font-size: 3.0rem;
		line-height: 1.3;
	}

	#solution_page .solution_head .solution_ttl{
		order: 1;
		min-height: 2.6em;
		text-align: left;
		font-size: 3.0rem;
	}

	#solution_page .solution_head .img{
		order: 2;
		margin: 0 -8vw 25px;
	}

	#solution_page .solution_head .txt{
		width: 100%;
		font-size: 1.4rem;
	}

	#solution_page .solution_back_btn{
		top: 100px;
		left: 8%;
	}
}



/* ------------------------------
	.solving
------------------------------ */
#solution_page .solving{
	padding: 60px 0 120px;
}

#solution_page .solving .sec_ttl{
	margin-bottom: 40px;
}

#solution_page .solving_list{
	display: flex;
	flex-wrap: wrap;
}

#solution_page .solving_list .solving_li{
	width: 30%;
}
#solution_page .solving_list .solving_box{
	width: 100%;
	border: 1px solid #C2C2C2;
}
@media screen and (min-width: 769px){
	#solution_page .solving_list .solving_li{
		margin-right: 5%;
	}
	#solution_page .solving_list .solving_li:nth-child(3n){
		margin-right: 0;
	}
	#solution_page .solving_list .solving_li:nth-child(n + 4){
		margin-top: 50px;
	}

	#solution_page .solving_list.list_center{
		justify-content: center;
	}
	#solution_page .solving_list.list_center .solving_li:last-child{
		margin-right: 0;
	}
}

#solution_page .solving_list .solving_ttl{
	padding: 12px 20px;
	background: #fff;
	line-height: 1.3;
	font-size: 2.2rem;
	font-weight: bold;
	color: #757575;
}

#solution_page .solving_list .solving_txt{
	padding: 18px 20px;
	background: #F5F5F5;
}

#solution_page .solving_list .solving_txt .list li{
	text-indent: -1em;
	padding-left: 1em;
}
#solution_page .solving_list .solving_txt .list li + li{
	margin-top: 4px;
}
#solution_page .solving_list .solving_txt .list li::before{
	content: "・";
}

@media screen and (min-width: 769px){
	#solution_page .solving_li{
		display: flex;
	}
	#solution_page .solving_list .solving_box{
		display: flex;
		flex-direction: column
	}
	#solution_page .solving_list .solving_ttl{
		width: 100%;
		flex-grow:1
	}
	#solution_page .solving_list .solving_txt {
		width: 100%;
		flex-grow:1
	}
}
@media screen and (max-width: 768px){
	#solution_page .solving{
		padding: 50px 0 50px;
	}

	#solution_page .solving .sec_ttl{
		margin-bottom: 40px;
	}

	#solution_page .solving_list{
		flex-direction: column;
	}

	#solution_page .solving_list .solving_li{
		width: 100%;
	}

	#solution_page .solving_list .solving_li + .solving_li{
		margin-top: 24px;
	}

	#solution_page .solving_list .solving_ttl{
		padding: 10px 5vw;
		font-size: 1.8rem;
	}

	#solution_page .solving_list .solving_txt{
		padding: 15px 5vw;
	}
}



/* ------------------------------
	.product
------------------------------ */
#solution_page .product{
	padding: 60px 0 120px;
}

#solution_page .product .sec_ttl{
	margin-bottom: 40px;
}

#solution_page .product_wrap + .product_wrap{
	margin-top: 120px;
}

#solution_page .product_box{
	padding: 70px 60px;
	background: #fff;
	border-radius: 30px;
}

#solution_page .product_box .img_wrap{
	margin-bottom: 75px;
}

#solution_page .product_box .img_wrap .main_img,
#solution_page .product_box .img_wrap .main_img img{
	width: 100%;
}

#solution_page .product_box .img_wrap .ico{
	width: 318px;
}
#solution_page .product_box .img_wrap .main_img + .ico{
	margin: -160px auto 0;
}

#solution_page .product_box .img_wrap.col{
	display: flex;
	padding-bottom: 64px;
	margin-bottom: 54px;
	border-bottom: 1px solid #C2C2C2;
}
#solution_page .product_box .img_wrap.col .ico{
	flex-shrink: 0;
	margin-right: 8%;
}
#solution_page .product_box .img_wrap.col .txt{
	font-size: 2.2rem;
	line-height: 1.8;
	font-weight: bold;
}

#solution_page .product_box .lead_txt{
	margin-top: 30px;
	text-align: center;
	font-weight: bold;
	font-size: 2.4rem;
	line-height: 1.8;
	color: #1D2080;
}

#solution_page .product_box .flex{
	flex-wrap: wrap;
	justify-content: space-between;
}

#solution_page .product_box .flex .txt_box{
	width: 47%;
}

#solution_page .product_box .flex.col3 .txt_box{
	width: 30%;
}

#solution_page .product_box .flex .txt_box .ttl{
	margin-bottom: 10px;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
}

#solution_page .product_box .flex .txt_box .txt{
	line-height: 1.8;
}
#solution_page .product_box .flex.col3 .txt_box .txt{
	font-size: 1.4rem;
}

#solution_page .product_box .flex.img_top{
	max-width: 825px;
	margin: 0 auto;
}
#solution_page .product_box .flex.img_top .txt_box{
	max-width: 340px;
}

#solution_page .product_box .flex.img_top .w100{
	width: 100%;
	margin: 30px 0 25px;
}

#solution_page .product_box .flex .space{
	margin-top: 50px;
}

#solution_page .product_box .ico_list{
	display: flex;
	flex-wrap: wrap;
	margin-top: 20px;
}
#solution_page .product_box .ico_list li{
	width: 23.5%;
	margin-right: 2%;
}
#solution_page .product_box .ico_list li:nth-child(4n){
	margin-right: 0;
}
#solution_page .product_box .ico_list li:nth-child(n + 5){
	margin-top: 6px;
}

#solution_page .product_box .note{
	margin-top: 1em;
	font-size: 1.2rem;
	line-height: 1.6;
}

#solution_page .product_wrap .btn_box{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 80px;
}
#solution_page .product_wrap .btn_box .base_btn{
	width: 340px;
}
#solution_page .product_wrap .btn_box .base_btn + .base_btn{
	margin-left: 56px;
}
#solution_page .product_wrap .btn_box .base_btn .dl{
	flex-shrink: 0;
	right: 0;
	position: relative;
	width: 36px;
	height: 100%;
	margin-left: 15px;
	background: url(../img/common/ico_dl01.svg) no-repeat center center;
	background-size: 100%;
	-webkit-transition: left .4s ease, right .4s ease;
	transition: left .4s ease, right .4s ease;
}
@media screen and (min-width: 769px) {
	#solution_page .product_wrap .btn_box .base_btn a:hover .dl{
		background: url(../img/common/ico_dl02.svg) no-repeat center center;
		background-size: 100%;
	}
}

#solution_page .product_link{
	margin-top: 70px;
	text-align: center;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.3;
}
#solution_page .product_link a{
	text-decoration: underline;
	margin-left: 0.2em;
}
@media screen and (min-width: 769px){
	#solution_page .product_link a:hover{
		text-decoration: none;
	}
}


@media screen and (max-width: 1100px){
	#solution_page .product_box{
		padding: 70px 4%;
	}
}


@media screen and (max-width: 900px){
	#solution_page .product_wrap .btn_box{
		width: 100%;
	}
	#solution_page .product_wrap .btn_box .base_btn{
		width: calc(50% - 10px);
	}
	#solution_page .product_wrap .btn_box .base_btn + .base_btn{
		margin-left: 20px;
	}
}


@media screen and (max-width: 768px){
	#solution_page .product{
		padding: 40px 0 80px;
	}

	#solution_page .product .wrap{
		width: 92%;
	}

	#solution_page .product .sec_ttl{
		margin-bottom: 30px;
	}

	#solution_page .product_box{
		padding: 0 4vw 50px;
		border-radius: 64px;
		overflow: hidden;
	}

	#solution_page .product_box .img_wrap{
		margin-bottom: 60px;
	}

	#solution_page .product_box .img_wrap .main_img{
		position: relative;
		width: calc(92vw + 4px);
		height: calc(92vw + 4px);
		margin-left: calc(-4vw - 2px);
		overflow: hidden;
	}
	#solution_page .product_box .img_wrap .main_img img{
		position: absolute;
		z-index: 1;
		top: 50%;
		left: 50%;
		height: auto;
		min-height: 100%;
		min-width: 100%;
		-ms-transform: translateX(-50%) translateY(-50%);
		-moz-transform: translateX(-50%) translateY(-50%);
		-webkit-transform: translateX(-50%) translateY(-50%);
		transform: translateX(-50%) translateY(-50%);
		overflow: hidden;
		object-fit: cover;
	}

	#solution_page .product_box .img_wrap .ico{
		position: relative;
		z-index: 2;
		width: 180px;
	}
	#solution_page .product_box .img_wrap .main_img + .ico{
		margin: -65px auto 0;
	}

	#solution_page .product_box .lead_txt{
		margin-top: 20px;
		font-size: 1.4rem;
	}

	#solution_page .product_box .img_wrap.col{
		flex-direction: column;
		align-items: center;
		padding: 40px 0 35px;
		margin-bottom: 40px;
	}

	#solution_page .product_box .img_wrap.col .ico{
		margin-right: 0;
	}
	#solution_page .product_box .img_wrap.col .txt{
		margin-top: 20px;
		font-size: 1.4rem;
	}

	#solution_page .product_box .flex{
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

	#solution_page .product_box .flex .txt_box,
	#solution_page .product_box .flex.col3 .txt_box{
		width: 100%;
	}

	#solution_page .product_box .flex .txt_box:nth-child(n + 2),
	#solution_page .product_box .flex .space{
		margin-top: 50px;
	}

	#solution_page .product_box .flex .txt_box .ttl{
		text-align: center;
		font-size: 1.8rem;
	}

	#solution_page .product_box .flex.img_top .w100{
		order: 1;
		margin: 0 0 35px;
	}
	#solution_page .product_box .flex.img_top .txt_box{
		order: 2;
		max-width: 100%;
	}
	#solution_page .product_box .flex.img_top .txt_box:nth-child(n + 2),
	#solution_page .product_box .flex.img_top .space{
		margin-top: 30px;
	}

	#solution_page .product_wrap .btn_box{
		flex-direction: column;
		margin-top: 56px;
	}
	#solution_page .product_wrap .btn_box .base_btn{
		width: 200px;
	}
	#solution_page .product_wrap .btn_box .base_btn + .base_btn{
		margin-left: 0;
		margin-top: 24px;
	}
	#solution_page .product_wrap .btn_box .base_btn .dl{
		width: 24px;
		margin-left: 10px;
	}

	#solution_page .product_link{
		margin-top: 40px;
		font-size: 1.6rem;
	}
}


@media screen and (max-width: 500px){
	#solution_page .product_box .ico_list li{
		width: 48%;
		margin-right: 4%;
	}
	#solution_page .product_box .ico_list li:nth-child(even){
		margin-right: 0;
	}
	#solution_page .product_box .ico_list li:nth-child(n + 3),
	#solution_page .product_box .ico_list li:nth-child(n + 5){
		margin-top: 4vw;
	}

	#solution_page .product_box .ico_list_box{
		position: relative;
	}
	#solution_page .product_box .ico_list_box .note{
		position: absolute;
		right: 0;
		bottom: 0;
		width: 48%;
		height: 23vw;
		margin: 0;
	}
}



/* ------------------------------
	.product_slide
------------------------------ */
#solution_page .product_slide_wrap{
	position: relative;
	padding: 44px 94px 32px;
	margin-top: 75px;
	border-radius: 36px;
}

#solution_page .product_slide{
	width: 100%;
}

#solution_page .product_slide .slick-dots{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 34px;
}

#solution_page .slick-dots > li:first-child:last-child {
    display: none;
}

#solution_page .product_slide .slick-dots li + li{
	margin-left: 20px;
}

#solution_page .product_slide .slick-dots li,
#solution_page .product_slide .slick-dots li button{
	display: block;
	width: 20px;
	height: 20px;
	padding: 0;
	margin: 0;
	background: #808080;
	border-radius: 50%;
	color: transparent;
	font-size: 1.0rem;
}

#solution_page .product_slide .slick-dots li.slick-active,
#solution_page .product_slide .slick-dots li.slick-active button{
	background: #2C809F;
}

#solution_page .product_slide .slick-arrow{
	position: absolute;
	z-index: 2;
	top: 0;
	bottom: 0;
	margin: auto;
	width: 27px;
	height: 32px;
	cursor: pointer;
}
#solution_page .product_slide .prev_arrow{
	left: -47px;
	background: url(../img/index/slide_arw01.svg) no-repeat center center;
	background-size: 100%;
}
#solution_page .product_slide .next_arrow{
	right: -47px;
	background: url(../img/index/slide_arw02.svg) no-repeat center center;
	background-size: 100%;
}

#solution_page .product_slide_box{
	padding: 0 20px;
}

#solution_page .product_slide_box .img_box{
	display: flex;
	justify-content: space-between;
}

#solution_page .product_slide_box .ttl_box{
	width: 50%;
	margin-right: 8px;
}

#solution_page .product_slide_box .ttl_box .cate{
	font-size: 2.0rem;
	line-height: 1.3;
	font-weight: bold;
}

#solution_page .product_slide_box .ttl_box .ttl{
	margin-top: 30px;
	font-size: 3.0rem;
	line-height: 1.4;
	font-weight: bold;
}

#solution_page .product_slide_box .ttl_box .txt{
	margin-top: 15px;
	font-size: 2.0rem;
}

#solution_page .product_slide_box .img{
	width: 50%;
	max-width: 346px;
}

#solution_page .product_slide_box .txt_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-top: 30px;
	margin-top: 50px;
	border-top: 1px solid #C2C2C2;
}

#solution_page .product_slide_box .txt_wrap .txt_box{
	width: 48%;
	max-width: 346px;
}

#solution_page .product_slide_box .txt_wrap .txt_box .ttl{
	margin-bottom: 5px;
	line-height: 1.8;
	font-weight: bold;
}
#solution_page .product_slide_box .txt_wrap .txt_box .txt{
	line-height: 1.8;
}


@media screen and (max-width: 1100px){
	#solution_page .product_slide_wrap{
		padding: 44px 64px 32px;
	}
}


@media screen and (max-width: 900px){
	#solution_page .product_slide_wrap{
		padding: 44px 40px 32px;
	}

	#solution_page .product_slide .prev_arrow{
		left: -20px;
	}
	#solution_page .product_slide .next_arrow{
		right: -20px;
	}
}


@media screen and (max-width: 768px){
	#solution_page .product_slide_wrap{
		padding: 30px 12px 40px;
		margin-top: 55px;
		border-radius: 32px;
	}

	#solution_page .product_slide .slick-dots li + li{
		margin-left: 14px;
	}

	#solution_page .product_slide .slick-dots li,
	#solution_page .product_slide .slick-dots li button{
		width: 14px;
		height: 14px;
	}

	#solution_page .product_slide .slick-arrow{
		width: 18px;
		height: 20px;
		margin-top: 110%;
	}
	#solution_page .product_slide .prev_arrow{
		left: 0;
	}
	#solution_page .product_slide .next_arrow{
		right: 0;
	}

	#solution_page .product_slide_box{
		padding: 0 10px;
	}

	#solution_page .product_slide_box .img_box{
		flex-direction: column;
	}

	#solution_page .product_slide_box .ttl_box{
		width: 100%;
		margin-right: 0;
	}

	#solution_page .product_slide_box .ttl_box .cate{
		text-align: center;
		font-size: 1.6rem;
	}

	#solution_page .product_slide_box .ttl_box .ttl{
		text-align: center;
		margin-top: 20px;
		font-size: 1.8rem;
		line-height: 1.6;
	}

	#solution_page .product_slide_box .ttl_box .txt{
		margin-top: 15px;
		text-align: center;
		font-size: 1.4rem;
		font-weight: bold;
	}

	#solution_page .product_slide_box .img{
		width: 100%;
		max-width: 100%;
		margin-top: 20px;
		padding: 0 15px;
	}

	#solution_page .product_slide_box .txt_wrap{
		flex-direction: column;
		padding: 0 10px;
		margin-top: 20px;
		border-top: 0;
	}

	#solution_page .product_slide_box .txt_wrap .txt_box{
		width: 100%;
		max-width: 100%;
		padding: 0 15px;
	}
	#solution_page .product_slide_box .txt_wrap .txt_box + .txt_box{
		margin-top: 15px;
	}

	#solution_page .product_slide_box .txt_wrap .txt_box .ttl{
		text-align: center;
	}
}






/* ----------------------------------------------------------------------------------------------------
*	#privacy_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	#privacy_page .privacy
------------------------------ */
#privacy_page .privacy{
	padding: 260px 0 200px;
}

#privacy_page .privacy .str_ttl{
	margin-bottom: 40px;
	font-size: 3.0rem;
}
#privacy_page .privacy .str_ttl .u-small{
	font-size: 2.2rem;
}

#privacy_page .privacy .wrap{
	max-width: 712px;
}
#privacy_page .privacy.u-01 .wrap:first-of-type{
	padding-bottom: 110px;
	border-bottom: 1px solid #C2C2C2;
}
#privacy_page .privacy.u-01 .wrap:nth-of-type(2){
	padding-top: 110px;
}

#privacy_page .privacy .txt{
	font-size: 2.2rem;
	line-height: 2;
}

#privacy_page .privacy .space{
	margin-top: 36px;
}

#privacy_page .privacy ol.list{
	counter-reset: ol_num;
}
#privacy_page .privacy ol.list li{
	position: relative;
	padding-left: 30px;
}
#privacy_page .privacy ol.list li:before {
	position: absolute;
	top: 0;
	left: 0;
	counter-increment: ol_num;
	content: counter(ol_num)'.';
}

#privacy_page .privacy ul.list li{
	padding-left: 1em;
	text-indent: -1em;
}
#privacy_page .privacy ul.list li:before{
	content: "・";
}
#privacy_page .privacy ul.list.u-kome li:before{
	content: "※";
}


@media screen and (max-width: 768px){
	#privacy_page .privacy{
		padding: 185px 0 80px;
	}

	#privacy_page .privacy .wrap{
		margin-bottom: 25px;
		max-width: 100%;
	}

	#privacy_page .privacy.u-01 .wrap:first-of-type{
		padding-bottom: 25px;
	}

	#privacy_page .privacy.u-01 .wrap:nth-of-type(2){
		padding-top: 0;
	}

	#privacy_page .privacy .str_ttl{
		font-size: 2.0rem;
	}
	#privacy_page .privacy .str_ttl .u-small{
		font-size: 1.4rem;
	}

	#privacy_page .privacy .txt{
		font-size: 1.4rem;
		line-height: 1.8;
	}

	#privacy_page .privacy .space{
		margin-top: 30px;
	}

	#privacy_page .privacy .list li{
		position: relative;
		padding-left: 20px;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#company_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.page_ttl_box
------------------------------ */

@media screen and (max-width: 768px){
	#company_page .page_ttl_box{
		min-height: 280px;
	}
}

/* ------------------------------
	.company
------------------------------ */
#company_page .company{
	padding: 10px 0 140px;
}

@media screen and (min-width: 769px){
	#company_page .company .info_list li:nth-child(n + 4){
		margin-top: 80px;
	}
}


@media screen and (max-width: 768px){
	#company_page .company{
		padding: 0 0 80px;
	}

	#company_page .company .info_list li + li{
		margin-top: 10px;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#message_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.message
------------------------------ */
#message_page .message{
	padding: 100px 0 200px;
}

#message_page .message_box + .message_box{
	margin-top: 150px;
}

#message_page .message_box .img,
#message_page .message_box .ttl_box,
#message_page .message_box .txt_box{
	width: 65%;
	max-width: 713px;
}

#message_page .message_box .img{
	margin-bottom: 40px;
}

#message_page .message_box .str_ttl{
	line-height: 1.6;
}

#message_page .message_box .message_name{
	margin-top: 15px;
	font-size: 2.0rem;
	font-weight: bold;
	line-height: 1.6;
}

#message_page .message_box .txt_wrap{
	display: flex;
	justify-content: space-between;
	margin-top: 40px;
}

#message_page .message_box .txt_box .txt{
	line-height: 1.8;
}

#message_page .message_box .profile{
	width: 30%;
	max-width: 292px;
	padding-top: 30px;
	border-top: 1px solid #3E3A39;
}

#message_page .message_box .profile .ttl{
	font-weight: bold;
	font-size: 2.6rem;
}

#message_page .message_box .profile_box{
	margin-top: 20px;
}

#message_page .message_box .profile_ttl,
#message_page .message_box .profile_txt{
	line-height: 1.8;
	font-size: 1.4rem;
}
#message_page .message_box .profile_ttl{
	font-weight: bold;
}


@media screen and (max-width: 768px){
	#message_page .message{
		padding: 35px 0 120px;
	}

	#message_page .message_box + .message_box{
		margin-top: 80px;
	}

	#message_page .message_box .img,
	#message_page .message_box .ttl_box,
	#message_page .message_box .txt_box{
		width: 100%;
		max-width: 100%;
	}

	#message_page .message_box .img{
		margin-bottom: 25px;
	}

	#message_page .message_box .str_ttl{
		font-size: 2.4rem;
		line-height: 1.6;
	}

	#message_page .message_box .message_name{
		margin-top: 10px;
		font-size: 1.8rem;
	}

	#message_page .message_box .txt_wrap{
		flex-direction: column;
		margin-top: 30px;
	}

	#message_page .message_box .txt_box .txt{
		line-height: 1.8;
	}

	#message_page .message_box .profile{
		width: 100%;
		max-width: 100%;
		margin-top: 50px;
	}

	#message_page .message_box .profile .ttl{
		font-size: 1.4rem;
		color: #2C809F;
	}

	#message_page .message_box .txt_box.sp_more .txt{
		height: 16.2em;
		overflow: hidden;
	}
	#message_page .message_box .txt_box.sp_more.open .txt{
		height: auto;
	}

	#message_page .message_box .txt_box.sp_more .sp_more_btn{
		display: flex;
		justify-content: flex-end;
		margin-top: 30px;
		font-size: 1.4rem;
		font-weight: bold;
		cursor: pointer;
	}
	#message_page .message_box .txt_box.sp_more.open .sp_more_btn{
		display: none;
	}

	#message_page .message_box .txt_box.sp_more .sp_more_btn .ico{
		position: relative;
		display: block;
		width: 10px;
		height: 10px;
		margin-left: 5px;
	}
	#message_page .message_box .txt_box.sp_more .sp_more_btn .ico::before,
	#message_page .message_box .txt_box.sp_more .sp_more_btn .ico::after{
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		content: "";
		display: block;
		background: #2C809F;
	}
	#message_page .message_box .txt_box.sp_more .sp_more_btn .ico::before{
		width: 100%;
		height: 1px;
	}
	#message_page .message_box .txt_box.sp_more .sp_more_btn .ico::after{
		width: 1px;
		height: 100%;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#profile_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.profile
------------------------------ */
#profile_page .profile{
	padding: 100px 0 200px;
}

#profile_page .profile .wrap{
	max-width: 855px;
}

#profile_page .profile_box{
	display: flex;
}
#profile_page .profile_box + .profile_box,
#profile_page .profile_more{
	margin-top: 30px;
}

#profile_page .profile_ttl,
#profile_page .profile_txt{
	line-height: 1.8;
}

#profile_page .profile_ttl{
	flex-shrink: 0;
	width: 150px;
	padding-right: 30px;
	font-weight: bold;
}

#profile_page .member{
	display: flex;
}
#profile_page .member + .member{
	margin-top: 2px;
}

#profile_page .member .member_ttl{
	flex-shrink: 0;
	width: 140px;
	padding-right: 10px;
}
#profile_page .member .member_ttl,
#profile_page .member .member_txt{
	line-height: 1.8;
}

#profile_page .profile_wrap .profile_more{
	display: none;
}
#profile_page .profile_wrap.open .profile_more{
	display: block;
}

#profile_page .profile_wrap .more_btn{
	display: flex;
	justify-content: flex-end;
	margin-top: 35px;
	font-size: 2.0rem;
	font-weight: bold;
	cursor: pointer;
	-webkit-transition: opacity .4s ease;
	transition: opacity .4s ease;
}
#profile_page .profile_wrap.open .more_btn{
	display: none;
}
@media screen and (min-width: 769px) {
	#profile_page .profile_wrap .more_btn:hover{
		opacity: 0.8;
	}
}

#profile_page .profile_wrap .more_btn .ico{
	position: relative;
	display: block;
	width: 10px;
	height: 10px;
	margin-top: 3px;
	margin-left: 8px;
}
#profile_page .profile_wrap .more_btn .ico::before,
#profile_page .profile_wrap .more_btn .ico::after{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	content: "";
	display: block;
	background: #2C809F;
}
#profile_page .profile_wrap .more_btn .ico::before{
	width: 100%;
	height: 1px;
}
#profile_page .profile_wrap .more_btn .ico::after{
	width: 1px;
	height: 100%;
}


@media screen and (max-width: 768px){
	#profile_page .profile{
		padding: 35px 0 80px;
	}

	#profile_page .profile_box{
		flex-direction: column;
	}
	#profile_page .profile_box + .profile_box,
	#profile_page .profile_more{
		margin-top: 25px;
	}

	#profile_page .profile_ttl{
		width: 100%;
		padding-right: 0;
	}

	#profile_page .member + .member{
		margin-top: 5px;
	}

	#profile_page .member .member_ttl,
	#profile_page .member .member_txt{
		line-height: 1.6;
	}

	#profile_page .member .member_ttl{
		width: 110px;
		padding-right: 5px;
	}

	#profile_page .profile_wrap .more_btn{
		margin-top: 30px;
		font-size: 1.4rem;
	}

	#profile_page .profile_wrap .more_btn .ico{
		margin-top: 0;
		margin-left: 5px;
	}
}



/* ------------------------------
	.access
------------------------------ */
#profile_page .access{
	margin-top: 100px;
}

#profile_page .access .wrap{
	max-width: 855px;
}

#profile_page .access_box{
	position: relative;
	z-index: 1;
	width: 100%;
	background: #EDEDED;
	border-radius: 48px;
	overflow: hidden;
}
#profile_page .access_box + .access_box{
	margin-top: 100px;
}

#profile_page .access_box .map{
	position: relative;
	width: 100%;
	height: 300px;
	background: #C2C2C2;
}
#profile_page .access_box .map iframe{
	width: 100%;
	height: 100%;
	border: 0;
}

#profile_page .access_box .txt_wrap{
	display: flex;
	padding: 40px;
}

#profile_page .access_box .access_ttl{
	flex-shrink: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 280px;
	border-right: 1px solid #C2C2C2;
	font-size: 2.4rem;
	font-weight: bold;
	line-height: 1.6;
}

#profile_page .access_box .box_right{
	padding-left: 40px;
}

#profile_page .access_box .txt_box + .txt_box{
	margin-top: 30px;
}

#profile_page .access_box .txt_box .ttl{
	font-weight: bold;
	line-height: 1.6;
}

#profile_page .access_box .box_right .map_link{
	margin-top: 30px;
}
#profile_page .access_box .box_right .map_link a{
	display: flex;
	align-items: center;
}
#profile_page .access_box .box_right .map_link .ico{
	width: 19px;
	height: 25px;
	margin-right: 10px;
	background: url(../img/common/ico_map.svg) no-repeat center center;
	background-size: 100%;
	vertical-align: sub;
}



@media screen and (max-width: 768px){
	#profile_page .access{
		margin-top: 80px;
	}

	#profile_page .access_box{
		border-radius: 16px;
	}
	#profile_page .access_box + .access_box{
		margin-top: 40px;
	}

	#profile_page .access_box .map{
		height: 100px;
	}

	#profile_page .access_box .txt_wrap{
		flex-direction: column;
		padding: 20px 7% 30px;
	}

	#profile_page .access_box .access_ttl{
		width: 100%;
		border-right: 0;
		font-size: 2.2rem;
	}

	#profile_page .access_box .box_right{
		padding-left: 0;
		margin-top: 15px;
	}

	#profile_page .access_box .txt_box + .txt_box{
		margin-top: 18px;
	}

	#profile_page .access_box .box_right .map_link{
		margin-top: 20px;
	}
	#profile_page .access_box .box_right .map_link a{
		justify-content: flex-end;
	}
	#profile_page .access_box .box_right .map_link .ico{
		width: 17px;
		height: 23px;
	}

}







/* ----------------------------------------------------------------------------------------------------
*	#history_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.history
------------------------------ */
#history_page .history {
	padding: 100px 0 350px;
}

#history_page .history .wrap,
#history_page .history_message .wrap{
	max-width: 712px;
}
#history_page .history_message .wrap{
	position: relative;
	top: -222px;
	margin-bottom: -22px;
}

#history_page .history_box{
	display: flex;
}
#history_page .history_box + .history_box{
	margin-top: 30px;
}

#history_page .history_ttl,
#history_page .history_txt{
	line-height: 1.8;
}

#history_page .history_ttl{
	flex-shrink: 0;
	width: 175px;
	padding-right: 30px;
	font-weight: bold;
}

#history_page .history_message {
	background: #8B8C8D;
}

#history_page .history_txt_box .img{
	margin-bottom: 40px;
}

#history_page .history_txt_box .str_ttl{
	line-height: 1.6;
	color: #fff;
}
#history_page .history_txt_box .history__name{
	margin-top: 15px;
    font-size: 2.0rem;
    font-weight: bold;
    line-height: 1.6;
	margin-bottom: 40px;
	color: #fff;
}

#history_page .history_txt_box .txt{
	line-height: 1.8;
	color: #fff;
}


@media screen and (max-width: 768px){
	#history_page .history{
		padding: 35px 0 40vw;
	}
	#history_page .history_message .wrap{
		top: -28vw;
		margin-bottom: -8vw;
	}

	#history_page .history_box{
		flex-direction: column;
	}
	#history_page .history_box + .history_box{
		margin-top: 25px;
	}

	#history_page .history_ttl{
		width: 100%;
		margin-bottom: 5px;
		padding-right: 0;
	}

	#history_page .history_txt_box .img{
		margin-bottom: 25px;
	}

	#history_page .history_txt_box .str_ttl{
		font-size: 2.4rem;
	}
	#history_page .history_txt_box .history__name{
		margin-top: 8px;
		font-size: 1.8rem;
		margin-bottom: 32px;
	}
}







/* ----------------------------------------------------------------------------------------------------
*	#mission_page
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.mission
------------------------------ */
#mission_page .mission{
	padding: 100px 0 200px;
}

#mission_page .mission .wrap{
	max-width: 712px;
}

#mission_page .mission_wrap + .mission_wrap{
	margin-top: 50px;
	padding-top: 50px;
	border-top: 1px solid #C2C2C2;
}

#mission_page .mission_box{
	display: flex;
}

#mission_page .mission_ttl,
#mission_page .mission_txt{
	line-height: 1.8;
}

#mission_page .mission_ttl{
	flex-shrink: 0;
	width: 208px;
	padding-right: 30px;
	font-weight: bold;
	font-size: 2.0rem;
}

#mission_page .mission_txt{
	font-size: 1.4rem;
}

#mission_page .mission_wrap .img{
	margin-bottom: 40px;
}

#mission_page .mission_wrap .str_ttl{
	margin-bottom: 10px;
	line-height: 1.6;
}
#mission_page .mission_wrap .sec_ttl{
	font-size: 2.2rem;
}

#mission_page .mission_wrap .txt{
	line-height: 1.8;
	font-size: 1.4rem;
}

#mission_page .mission_txt .txt + .txt{
	margin-top: 1.5em;
}


@media screen and (max-width: 768px){
	#mission_page .mission{
		padding: 35px 0 120px;
	}

	#mission_page .mission_wrap + .mission_wrap{
		margin-top: 30px;
		padding-top: 30px;
	}

	#mission_page .mission_box{
		flex-direction: column;
	}

	#mission_page .mission_ttl{
		width: 100%;
		margin-bottom: 5px;
		padding-right: 0;
		font-size: 1.4rem;
	}

	#mission_page .mission_wrap .img{
		margin-bottom: 25px;
	}

	#mission_page .mission_wrap .str_ttl{
		margin-bottom: 15px;
		font-size: 2.4rem;
	}
	#mission_page .mission_wrap .sec_ttl{
		font-size: 1.8rem;
	}

	#mission_page .mission_txt .img{
		margin: 10px 0 20px;
	}
}

/* ----------------------------------------------------------------------------------------------------
*	#notfound
* --------------------------------------------------------------------------------------------------*/

/* ------------------------------
	.notfound
------------------------------ */
#notfound .notfound{
	padding: 185px 0 101px;
}
#notfound .notfound .wrapper{
	max-width: 1096px;
    width: 72.4%;
    margin: 0 auto;
}
#notfound .notfound .img{
	margin-bottom: 33px;
}
#notfound .notfound .lead{
	text-align: center;
	font-weight: 700;
	font-size: 30px;
	margin-bottom: 36px;
}
#notfound .notfound .txt{
	text-align: center;
	font-weight: 700;
	font-size: 22px;
	margin-bottom: 36px;
}
#notfound .notfound .base_btn.top a{
	width: 350px;
	margin: 0 auto;
}
@media screen and (max-width: 768px){
	#notfound .notfound{
		padding: 253px 0 101px;
	}
	#notfound .notfound .wrapper{
		max-width: initial;
		width: 80%;
	}
	#notfound .notfound .img{
		margin-bottom: 36px;
	}
	#notfound .notfound .lead{
		font-size: 2rem;
		margin-bottom: 20px;
	}
	#notfound .notfound .txt{
		font-size: 1.4rem;
		margin-bottom: 60px;
	}
	#notfound .notfound .base_btn.top a{
		width: 210px;
	}
}