@charset "utf-8";
/*------------------------------------------------------------
	デフォルトスタイル
------------------------------------------------------------*/
.comTel[href^="tel:"] {
	color: #000;
}
@media all and (min-width: 897px) {
	.sp {
		display: none !important;
	}
	.comTel[href^="tel:"] {
		cursor: default;
		pointer-events: none;
	}
}
@media all and (max-width: 896px) {
	html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figcaption, figure, section, footer, header, main, hgroup, menu, nav, summary {
		margin: 0;
		padding: 0;
		background: transparent;
		border: 0;
		outline: 0;
		font-size: 1em;
		box-sizing: border-box;
	}
	html {
		font-size: 62.5%;
	}
	ol, ul {
		list-style: none;
	}
	img {
		vertical-align: top;
		max-width: 100%;
		height: auto;
	}
	/* flex */	
	.flex,.flexA,.flexB,.flexC {display: flex;flex-wrap: wrap;}
	.flexA {justify-content: space-around;}
	.flexB {justify-content: space-between;}
	.flexC {justify-content: center;}
	body {
		color: #000;
		line-height: 1.5;
		font-size: 1.3rem;
		text-size-adjust: none;
		-webkit-text-size-adjust: none;
	}
	.fixed {
		position: fixed;
		width: 100%;
		height: 100%;
	}
	.pc {
		display: none !important;
	}
	.comTel[href^="tel:"] {
		cursor: pointer;
		pointer-events: auto;
		color: #000;
		text-decoration: none;
	}
}
@media all and (max-width: 389px) {
	html {
		font-size: calc(1000vw / 390);
	}
}
/*------------------------------------------------------------
	ヘッダー
------------------------------------------------------------*/
@media all and (min-width: 897px) {
	.menuBox {
		display: none !important;
	}
}
@media all and (max-width: 896px) {
	header {
		width: auto;
		height: 6rem;
		margin: 0;
		padding: 0 1rem;
		background: #fff;
	}
	header #header_link,
	header .f_clear,
	header #font_size,
	header nav {
		display: none;
	}
	header #site_serch_area {
		position: static;
		top: auto;
		right: auto;
		width: auto;
	}
	#logo {
		padding-top: 1.9rem;
		position: static;
		width: 18rem;
	}
	.menu {
		position: absolute;
		right: 0;
		top: 0;
		width: 6rem;
		height: 6rem;
		background: linear-gradient(315deg, #456FB9 -0.84%, #609EFA 100%);
	}
	.menu span {
		width: 2.2rem;
		height: 0.2rem;
		position: absolute;
		top: 1.9rem;
		left: 1.9rem;
		background: #fff;
		transition: all .35s ease;
	}
	.menu span:nth-of-type(2) {
		top: 2.9rem;
	}
	.menu span:nth-of-type(3) {
		top: 3.9rem;
	}
	.menu.on span:nth-of-type(1) {
		transform: translateY(1rem) translateX(0) rotate(45deg);
	}
	.menu.on span:nth-of-type(2) {
		opacity: 0;
	}
	.menu.on span:nth-of-type(3) {
		transform: translateY(-1rem) translateX(0) rotate(-45deg);
	}
	.menuBox {
		position: fixed;
		left: 0;
		top: 6rem;
		height: calc(100% - 6rem);
		overflow-y: auto;
		width: 100%;
		background-color: #fff;
		box-sizing: border-box;
		display: none;
	}
	.menuBg {
		padding: 4rem 2rem;
		text-align: left;
		background-color: #F5F5F5;
	}
	.menuBg li {
		position: relative;
	}
	.menuBg .arrow {
		position: absolute;
		right: 0;
		top: 0;
		width: 5.5rem;
		height: 5.5rem;
		background: url(../img/sp/common/icon04.png) no-repeat center center;
		background-size: 1.4rem auto;
	}
	.menuBg .arrow::before {
		position: absolute;
		left: 0.5rem;
		top: 1.5rem;
		bottom: 1.5rem;
		border-left: 1px dashed #fff;
		content: "";
	}
	.menuBg .arrow.on {
		background-image: url(../img/sp/common/icon04_on.png);
	}
	.menuBg .white .arrow {
		height: 6rem;
		background-image: url(../img/sp/common/icon05.png);
	}
	.menuBg .white .arrow::before {
		border-left-color: #000;
	}
	.menuBg .white .arrow.on {
		background-image: url(../img/sp/common/icon05_on.png);
	}
	.menuBg .menuList > li > p,
	.menuBg .menuList > li > a {
		height: 6.1rem;
		padding: 0.3rem 2rem 0;
		display: flex;
		align-items: center;
		font-size: 1.4rem;
		color: #fff;
		font-weight: bold;
		background: #609EFA url(../img/sp/common/icon06.png) no-repeat right 1.9rem center;
		background-size: 1.1rem auto;
		border-bottom: 1px solid #fff;
	}
	.menuBg .menuList > li > p {
		background-image: url(../img/sp/common/icon04.png);
		background-position: right 2rem center;
		background-size: 1.4rem auto;
	}
	.menuBg .menuList > li > p.on {
		background-image: url(../img/sp/common/icon04_on.png);
	}
	.menuBg .menuUl > li > a {
		height: 5rem;
		padding: 0 3rem 0.2rem;
		display: flex;
		align-items: center;
		font-size: 1.2rem;
		color: #000;
		background: #DFECFE url(../img/sp/common/icon08.png) no-repeat right 1.9rem center;
		background-size: 1.1rem auto;
		border-bottom: 1px solid #fff;
	}
	.menuBg .menuLink > li > a {
		height: 5.5rem;
		padding: 0 2rem;
		display: flex;
		align-items: center;
		font-size: 1.2rem;
		color: #fff;
		font-weight: bold;
		background: #78ADFB url(../img/sp/common/icon06.png) no-repeat right 6.9rem center;
		background-size: 1.1rem auto;
		border-bottom: 1px solid #fff;
	}
	.menuBg .menuList.white {
		margin-top: 2rem;
		border-top: 1px solid #DFDFDF;
	}
	.menuBg .menuList.white > li > p,
	.menuBg .menuList.white > li > a {
		height: 6rem;
		color: #000;
		background-color: #fff;
		border-bottom-color: #DFDFDF;
	}
	.menuBg .menuList.white > li > a {
		background-image: url(../img/sp/common/icon07.png);
		background-position: right 6.9rem center;
	}
	.menuBg .menuList.white > li > p {
		background-image: url(../img/sp/common/icon05.png);
	}
	.menuBg .menuList.white > li > p.on {
		background-image: url(../img/sp/common/icon05_on.png);
	}
	.menuBg .menuList.white .menuUl > li > a {
		position: relative;
		height: 4rem;
        padding: 0 3.7rem;
        background: #fff;
        border-bottom: 1px dashed #DFDFDF;
	}
	.menuBg .menuList.white .menuUl > li:last-child > a {
		border-bottom: 1px solid #DFDFDF;
	}
	.menuBg .menuList.white .menuUl > li > a::before {
		position: absolute;
		left: 2.3rem;
		top: 50%;
		width: 0.5rem;
		height: 1px;
		background-color: #000;
		content: "";
	}
	.menuBox .menuBtn {
		width: 36rem;
		margin: 0 auto;
		padding: 2.8rem 0 4rem;
		font-size: 1.2rem;
	}
	.menuBox .menuBtn li {
		margin-bottom: 0.5rem;
	}
	.menuBox .menuBtn a {
		padding: 0 1.4rem;
		display: inline-block;
		color: #000;
	}
	.menuUl,
	.menuLink {
		display: none;
	}
	.menuBox .menuContact {
		margin: 3rem 0 2rem;
        padding-top: 2.9rem;
		border-top: 1px dashed #B0B0B0;
	}
	.menuBox .menuContact a {
		height: 6rem;
		padding-left: 4.5rem;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		color: #fff;
		font-size: 1.6rem;
		font-weight: bold;
		border-radius: 10rem;
		background: #609EFA url(../img/sp/common/icon10.png) no-repeat left calc(50% - 5.6rem) center;
		background-size: 2.9rem auto;
		box-sizing: border-box;
		text-decoration: none;
	}
	#search-from {
		width: auto;
		height: 6rem;
		float: none;
		margin: 0;
	}
	#search-input {
		width: 100%;
		height: 6rem;
		padding: 1rem 6rem 1rem 1rem;
		font-size: 1.5rem;
		border-radius: 0.5rem;
		border: 1px solid #DFDFDF;
		box-shadow: none;
		appearance: none;
		box-sizing: border-box;
	}
	#search-icon {
		top: 1.5rem;
        right: 2.6rem;
		width: 3rem;
		height: 3rem;
	}
	#search-icon-btn {
		width: 3rem;
		height: 3rem;
		background: url(../img/sp/common/icon11.png) no-repeat center center;
		background-size: 3rem auto;
		appearance: none;
		border: none;
		box-shadow: none;
	}
	a:hover {
		text-decoration: none !important;
	}
}
/*------------------------------------------------------------
	フッター
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	footer {
		position: relative;
		width: auto;
		height: auto;
		padding: 4rem 2rem 0;
		background: #3C3E3D;
	}
	footer img {
		width: 100%;
	}
	#footer_layout{
		width: auto;
		padding: 0;
	}
	.text_footer {
		margin: 0;
	}
	#footer_01 {
		width: 12rem;
		margin: 0 auto 4rem;
		float: none;
	}
	#footer_01 img{
		margin: 0;
	}
	footer .f_info {
		width: 35rem;
		margin: 0 auto;
	}
	#footer_02 {
		width: auto;
		margin: 0 auto 3rem;
		float: none;
	}
	footer .f_ttl {
		margin-bottom: 1.5rem;
		padding-bottom: 1.3rem;
		text-align: center;
		font-weight: bold;
		border-bottom: 0.2rem solid #456FB9;
	}
	#footer_02 ul {
		width: 28rem;
		margin: 0 auto;
	}
	#footer_02 ul li {
		margin: 0 0 1rem;
		width: 13.5rem;
	}
	#footer_02 ul li:nth-child(2n) {
		float: right;
	}
	#footer_02 img {
		margin: 0;
	}
	#footer_03 {
		width: 16.5rem;
	}
	#footer_03 img {
		margin: 0 auto 1rem;
		display: block;
		width: 13.5rem;
	}
	#footer_04 {
		width: 16.5rem;
		float: right;
	}
	#footer_04 img {
		width: 13.5rem;
		margin: 0 auto;
		display: block;
	}
	#copyright {
		margin: 3rem -2rem 0;
		padding: 1.5rem 1rem;
		position: static;
		font-size: 1rem !important;
		background: #2B2B2B;
	}
	.page_top {
		position: absolute;
		right: 1rem;
		bottom: 1rem;
		width: 6rem;
		z-index: 9;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#content_area {
		width: auto;
		margin: 0;
		padding: 0;
	}
	.margin0 {
		display: none;
	}
	/* heading01  */
	#content_area .heading01 {
		position: relative;
		min-height: inherit;
		padding: 1rem 2.1rem;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: bold;
		border-radius: 0.4rem;
		background: #E6EAF5;
	}
	#content_area .heading01::before {
		position: absolute;
		left: 0.5rem;
		top: 50%;
		width: 0.6rem;
		height: 0.6rem;
		background-color: #609EFA;
		transform: translateY(-50%);
		content: "";
	}
	#content_area .tex_blue {
		color: #000;
	}
	/* com_btm_box  */
	.com_btm_box {
		padding: 4.8rem 0 2rem;
		border-top: 1px solid #F5F5F5;
	}
	.com_btm_box .link_img {
		width: 30rem;
		margin: 0 auto 3rem;
	}
	.com_btm_box .logo_list {
		margin-bottom: 3rem;
		align-items: center;
	}
	.com_btm_box .logo_list li {
		margin: 0 0.9rem;
		width: 10rem;
	}
	.com_btm_box .txt_list {
		width: 36rem;
		margin: 0 auto;
		font-size: 1.2rem;
	}
	.com_btm_box .txt_list li {
		margin-bottom: 0.5rem;
	}
	.com_btm_box .txt_list a {
		padding: 0 1.4rem;
		display: inline-block;
		color: #000;
	}
	#layout {
		width: auto;
	}
	#upper_sub,
	#upper_sub_02 {
		background: none;
	}
	#content_area_sub {
		width: auto;
		padding: 0;
	}
	#main_area {
		width: auto;
		float: none;
		background: none;
	}
	#topic_path {
		padding: 1rem 1.8rem 0.9rem;
		position: static;
		font-size: 1rem !important;
		line-height: 1.5;
		border-top: 1px solid #DFDFDF;
		white-space: nowrap;
        overflow-x: scroll;
	}
	#main_inside {
		width: auto;
		margin: 0;
	}
	.sub_block {
		width: auto;
		margin: 0 2rem 3.5rem;
	}
	.block_title {
		width: auto;
		margin: 0;
		padding: 0;
		background: none;
	}
	.sub_block div.inside {
		width: auto;
		margin: 0;
	}
	#pagetop {
		display: none;
	}
	/* heading02  */
	#main_inside .heading02 {
		width: auto;
		height: 12rem;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-size: 2rem;
		font-weight: bold;
		background: url(../img/sp/common/heading02_bg.jpg) no-repeat center center;
		background-size: cover;
	}
	/* heading03  */
	.heading03 {
		margin-bottom: 1.6rem;
		width: auto;
		position: relative;
		padding: 1rem 0.5rem 1rem 2.1rem;
		font-size: 1.6rem;
		line-height: 1.4;
		font-weight: bold;
		border-radius: 0.4rem;
		background: #E6EAF5;
	}
	.heading03::before {
		position: absolute;
		left: 0.5rem;
		top: 50%;
		width: 0.6rem;
		height: 0.6rem;
		background-color: #609EFA;
		transform: translateY(-50%);
		content: "";
	}
	.heading03.yellow {
		background: #F0E0D1;
	}
	.heading03.yellow::before {
		background-color: #960;
	}
	/*  comSide  */
	.comSide .menuBg .menuUl > li.on > a {
		background-color: #BFD8FD;
	}
	.comSide .menuBg .white .menuUl > li.on > a {
		background-color: #DFECFE;
	}
	.comSide .menuBg .white {
		margin-top: 1.9rem;
	}
	/*  table_company  */
	.table_company {
		position: relative;
		line-height: 1.5;
		border-bottom: 1px solid #DFDFDF;
	}
	.table_company::before {
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 8rem;
		height: 1px;
		background-color: #609EFA;
		content: "";
	}
	.table_company th {
		width: 100% !important;
		position: relative;
		display: block;
		padding: 1.8rem 0.8rem 0;
		color: #036;
		font-size: 1.3rem;
		line-height: 1.5;
		border-bottom: none;
		border-top: 1px solid #DFDFDF;
		background: none;
	}
	.table_company th::before {
		position: absolute;
		left: 0;
		top: -1px;
		width: 8rem;
		height: 1px;
		background-color: #609EFA;
		content: "";
	}
	.table_company td {
		width: 100%;
		display: block;
		padding: 0.4rem 0.8rem 1.3rem;
		font-size: 1.3rem;
		line-height: 1.6;
		border-bottom: none;
	}
	td .mapLink {
		margin: 0.8rem 0 -0.4rem;
		width: 8.9rem;
		padding: 0.5rem 2rem 0.4rem;
		display: block;
		color: #609EFA;
		font-size: 1.2rem;
		font-weight: bold;
		border-radius: 6rem;
		border: 1px solid #609EFA;
		background: #FFF url(../img/sp/common/icon01.png) no-repeat right 1.3rem center;
		background-size: 1.1rem auto;
		box-sizing: border-box;
	}
	td .mapLink img {
		display: none;
	}
	table .tabList dt {
		float: left;
	}
	table .tabList dd {
		padding-left: 9.3em;
	}
	#lightbox-container-image-box {
		width: 35rem !important;
		height: auto !important;
	}
	#lightbox-container-image-data-box {
		width: 35rem !important;
	}
	.table_company_03 {
		position: relative;
		line-height: 1.5;
		border-bottom: 1px solid #DFDFDF;
	}
	.table_company_03::before {
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 8rem;
		height: 1px;
		background-color: #609EFA;
		content: "";
	}
	.table_company_03 th {
		width: 100% !important;
		position: relative;
		display: block;
		padding: 1.8rem 0.8rem 0;
		color: #036;
		font-size: 1.3rem;
		line-height: 1.5;
		border-bottom: none;
		border-top: 1px solid #DFDFDF;
		background: none;
	}
	.table_company_03 th::before {
		position: absolute;
		left: 0;
		top: -1px;
		width: 8rem;
		height: 1px;
		background-color: #609EFA;
		content: "";
	}
	.table_company_03 td {
		width: 100%;
		display: block;
		padding: 0.4rem 0.8rem 1.3rem;
		font-size: 1.3rem;
		line-height: 1.6;
		border-bottom: none;
	}
	.generation_text {
		margin: 0 0 0 -0.2rem;
		padding: 0.2rem 0 0;
		width: auto;
		float: none;
	}
	.generation_pic {
		margin: 0;
		padding: 0 0 0.6rem;
		float: none;
	}
	.table_generation_02 {
		padding: 0;
	}
	.table_generation_02 th {
		width: 100% !important;
		display: block;
		padding: 0 0 0.4rem;
		background: none;
		font-size: 1.3rem;
		line-height: 1.5;
		font-weight: bold;
		color: #036;
	}
	.table_generation_02 td {
		width: 100% !important;
		display: block;
		padding: 0 0 1.16rem;
		font-size: 1.3rem;
		line-height: 1.6;
	}

	#main_inside h1.heading05 {
		padding: 2.6rem 2rem 3rem;
		width: auto;
		text-align: center;
		color: #fff;
		font-weight: bold;
		line-height: 1.6;
		font-size: 1.3rem ;
		background: #003466;
	}
	#main_inside h1.heading05 .big {
		margin-bottom: 3rem;
		position: relative;
		display: block;
		font-size: 2rem;
	}
	#main_inside h1.heading05 .big::before {
		position: absolute;
		left: 50%;
		width: 3rem;
		bottom: -1.4rem;
		height: 1px;
		background-color: #fff;
		content: "";
		transform: translateX(-50%);
	}
	#main_inside h1.heading05 img {
		display: block;
		width: 14rem;
		margin: 1.3rem auto 0;
	}
	.h1_under_gray {
		width: auto;
		margin-bottom: 3rem;
		padding: 2.8rem 2rem 2.5rem;
		font-size: 1.3rem;
		line-height: 1.6;
		text-align: justify;
	}
	.build_img {
		width: auto;
		margin: 0 2rem 3rem;
		text-align: center;
	}
	.colum2_01 {
		margin-bottom: 3rem;
		width: auto;
		float: none;
	}
	.colum2_02 {
		width: auto;
		margin: 0;
		float: none;
	}
	.colum2_img {
		width: 11rem;
	}
	.colum2_text {
		width: calc(100% - 11rem);
		margin-top: -0.3rem;
		padding-left: 2rem;
		box-sizing: border-box;
	}
	.colum2_01 p, .colum2_02 p {
		padding: 0;
		text-align: justify;
		font-size: 1.3rem !important;
		line-height: 1.6;
	}
	.colum2_text div.img {
		margin-top: 1.4rem;
	}
	.colum2_text div.img img {
		display: none;
	}
	.colum2_text div.img a {
		width: 13.2rem;
		padding: 0.5rem 1.9rem;
		display: block;
		text-align: left;
		color: #609EFA;
		font-size: 1.2rem;
		font-weight: bold;
		border-radius: 6rem;
		border: 1px solid #609EFA;
		background: #FFF url(../img/sp/common/icon01.png) no-repeat right 1.3rem center;
		background-size: 1.1rem auto;
		box-sizing: border-box;
	}
	.consult_area {
		padding: 3rem 2rem;
		background: #DFECFE;
	}
	.consult_area img {
		display: none;
	}
	.consult_area a {
		width: 16.8rem;
		margin: 0 auto;
		padding: 0.5rem 1.9rem;
		display: block;
		text-align: left;
		color: #609EFA;
		font-size: 1.2rem;
		font-weight: bold;
		border-radius: 6rem;
		border: 1px solid #609EFA;
		background: #FFF url(../img/sp/common/icon01.png) no-repeat right 1.3rem center;
		background-size: 1.1rem auto;
		box-sizing: border-box;
	}
	.title_area {
		width: auto;
		margin-bottom: 3rem;
		padding: 2.7rem 2rem 3.1rem;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	#main_inside .title_area h1 {
		width: auto;
		margin: 0 0 1.9rem;
		font-size: 2rem;
		line-height: 1.5;
		text-align: center;
		background: none;
	}
	.text_area_business {
		width: auto;
		float: none;
	}
	#main_inside .title_area p {
		text-align: justify;
	}
	.icon_list_square {
		margin-bottom: 0.3rem;
	}
	.icon_list_square li {
		padding-left: 1.4rem;
	}
	.img_area_business {
		width: auto;
		margin: 2.6rem 0 0;
		float: none;
	}
	.img_area_business img {
		width: 100%;
	}
	.inside_business_03 {
		width: auto;
		margin: 0;
		padding: 0.4rem 0 2.1rem;
		border-bottom: none;
	}
	.inside_business_03:last-child {
		padding-bottom: 0;
	}
	.business_img_area_half_l {
		width: auto;
		margin: 0px;
		float: none;
	}
	.business_img_area_half_l img {
		width: 100%;
	}
	.business_text_area_half_r {
		margin: 1.8rem 0 0;
		width: auto;
		float: none;
	}
	.inside_business_03 p.sub_title {
		padding-bottom: 0.7rem;
	}
	.inside_business_03 p.title {
		padding-bottom: 1.4rem;
		font-size: 1.6rem;
	}
	.inside_business_03 p.detail {
		padding-bottom: 1.2rem;
		font-size: 1.3rem;
		line-height: 1.6;
		text-align: justify;
	}
	.inside_business_03 p.detail + p {
		font-size: 1.3rem;
		line-height: 1.6;
	}
	#onestop {
		margin-top: 1.7rem;
		width: auto;
		height: auto;
	}
	#onestop img {
		width: 100%;
	}
	#scheme_tab {
		width: auto;
		height: auto;
		margin: 0 0 0.5rem;
		background: none;
	}
	#scheme_tab ul {
		width: auto;
		display: flex;
		justify-content: space-between;
	}
	#scheme_tab ul li {
		width: calc(33% - 0.5rem);
		float: none;
	}
	#scheme_tab ul li img {
		width: 100%;
	}
	.business_text_area_half_l {
		padding: 1px 0 1.6rem;
		width: auto;
		float: none;
	}
	.business_img_area_half_r {
		width: auto;
		float: none;
	}
	.business_img_area_half_r img {
		width: 100%;
	}
	.harf__harf {
		margin-bottom: 2.4rem;
	}
	.harf__harf div.left {
		margin-bottom: 2.5rem;
		width: auto;
		float: none;
	}
	.harf__harf div.right {
		width: auto;
		float: none;
	}
	.harf__harf p.title {
		width: auto;
		margin-bottom: 1.8rem;
		padding: 0.8rem 0 0.7rem;
		text-align: center !important;
	}
	.scheme_step {
		margin-bottom: -0.4rem;
		width: auto;
		height: auto;
	}
	.scheme_step img {
		width: 100%;
	}
	.heading04 {
		margin-bottom: 1.7rem;
		width: auto;
		padding: 1.1rem 4.2rem 1rem;
		font-size: 1.6rem;
		line-height: 1.4;
		background-color: #E6EAF5;
		background-position: left 0.8rem center;
		border-radius: 0.4rem;
	}
	.scheme_text_area {
		width: auto;
		float: none;
	}
	.scheme_img_area {
		margin: 1.4rem auto -0.5rem;
		float: none;
	}
	.scheme03_img {
		width: auto;
		height: auto;
		margin: 0 0 -0.4rem;
	}
	.scheme03_img img {
		width: 100%;
	}
	.inside_business:last-of-type {
		margin-bottom: 4rem;
	}
	.inside_business {
		width: auto;
		margin: 2rem 0 3rem;
		padding: 3rem 2rem 2.4rem;
	}
	.business_img_area {
		float: none;
		text-align: center;
		margin: 0 auto 1.6rem;
	}
	.business_text_area {
		width: auto;
		float: none;
	}
	.business_text_area p.title {
		width: auto;
		margin-bottom: 1.3rem;
		padding-left: 1.5rem;
		background-position: left 0.4rem;
	}
	.business_text_area p.detail {
		margin: 0 0 1.1rem;
	}
	.business_text_area p {
		width: auto !important;
		line-height: 1.6;
		text-align: justify;
	}
	.block_title_sesrch {
		width: auto;
		margin: 0;
		padding: 0;
		background: none;
	}
	.block_title_sesrch .heading03 {
		margin-bottom: 2rem;
	}
	.sub_block div.inside_school {
		width: auto;
		margin: 0;
	}
	.h3_01 {
		width: auto;
		margin: 0 0 2rem;
		padding-left: 0.8rem;
		font-size: 1.5rem;
		line-height: 1.4em;
		background: none;
		border-left: 2px solid #466FB9;
	}
	.title_area_image_right {
		margin: 2.7rem 0 -1px;
		float: none;
	}
	.title_area_image_right img {
		width: 100%;
	}
		.school_list {
		width: auto;
		margin: 2rem 0 0;
		padding: 1.9rem 1.4rem;
	}
	.school_list .topTtl {
		margin-bottom: 1.4rem;
	}
	.school_list .topTtl strong {
		margin-bottom: 0.1rem;
		display: block;
		font-size: 1.5rem;
		font-weight: bold;
	}
	.school_list .topTtl img {
		margin: -0.2rem 0.2rem 0;
		display: inline-block;
		vertical-align: middle;
	}
	.school_list ul {
		margin-left: 0.7rem !important;
		width: auto !important;
		float: none !important;
	}
	.school_list ul li {
		margin-bottom: 0.25rem;
	}
	.right_image_property {
		width: auto;
		margin: 0;
		float: none;
	}
	.right_image_property img {
		width: 100%;
	}
	.property_3colum02 {
		width: auto;
		padding: 2rem;
	}
	.property_3colum02_01,
	.property_3colum02_02 {
		float: none;
		width: auto;
	}
	.property_3colum02_01 {
		margin-bottom: 2rem;
	}
		.comPhoList {
		margin-top: 0.6rem;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
	}
	.comPhoList > div {
		margin-top: 2rem;
		width: calc(50% - 1rem) !important;
		float: none !important;
	}
	.comPhoList img {
		width: 100%;
	}
	.comPhoList .f_clear {
		display: none;
	}
	.harf__harf_gray {
		margin-bottom: 0;
	}
	.harf__harf_gray div.left {
		margin: -1px 0 0;
		width: auto;
		padding: 2rem 2rem 1.6rem;
		float: none;
	}
	.harf__harf_gray img {
		width: 100%;
	}
	.harf__harf_gray .title + p {
		margin-bottom: 1.4rem;
	}
	.harf__harf_gray .cap {
		margin-top: 0.9rem;
		font-size: 1.1rem;
		float: none;
		text-align: right !important;
	}
	.harf__harf_gray div.right {
		margin: 2.9rem 0 3rem;
		width: auto;
		padding: 2rem 2rem 1.4rem;
		float: none;
	}
	.event_cap_left {
		width: 50%;
	}
	.event_cap_right {
		width: 50%;
	}
	.img_3culom02 {
		margin: 1.6rem 0 0;
		display: flex;
		justify-content: space-between;
	}
	.img_3culom02 img {
		width: 100%;
	}
	.img_3culom02 .f_clear {
		display: none;
	}
	.img_3culom02_01 {
		width: 31.5%;
		float: none;
	}
	.img_3culom02_02 {
		width: 31.5%; 
		float: none;
	}
	.icon_sign_list {
		margin-bottom: 2rem;
		border-top: 1px solid #E0E0E0;
	}
	.icon_sign_list li {
		padding: 0;
		background: none;
		border-bottom: 1px solid #E0E0E0;
	}
	.icon_sign_list li a {
		padding: 1rem 1rem 0.83rem;
		display: block;
		color: #000;
		line-height: 1.2;
		background: url(../img/sp/common/icon08.png) no-repeat right 0.9rem center;
        background-size: 1.1rem auto;
	}
	.colum2_02 p.list_title {
		margin: -1px 0 0.6rem;
	}
	/*  table_company  */
	.table_company_02 {
		position: relative;
		line-height: 1.5;
		border-bottom: 1px solid #DFDFDF;
	}
	.table_company_02::before {
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 8rem;
		height: 1px;
		background-color: #960;
		content: "";
	}
	.table_company_02 th {
		width: 100% !important;
		position: relative;
		display: block;
		padding: 1.8rem 0.8rem 0;
		color: #960;
		font-size: 1.3rem;
		line-height: 1.5;
		border-bottom: none;
		border-top: 1px solid #DFDFDF;
		background: none;
	}
	.table_company_02 th::before {
		position: absolute;
		left: 0;
		top: -1px;
		width: 8rem;
		height: 1px;
		background-color: #960;
		content: "";
	}
	.table_company_02 td {
		width: 100%;
		display: block;
		padding: 0.4rem 0.8rem 1.3rem;
		font-size: 1.3rem;
		line-height: 1.6;
		border-bottom: none;
	}
	.table_company_02 td .mapLink {
		margin: 1.4rem 0 0.4rem;
		color: #960;
		border-color: #960;
		background-image: url(../img/sp/common/icon09.png);
	}
}
@media all and (min-width: 897px) {
	.com_btm_box {
		display: none;
	}
	.comSide {
		display: none;
	}
}
/*------------------------------------------------------------
	index
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#key_area {
		border: none;
	}
	#key_area_content li {
		height: 0;
		padding-bottom: 61.55% !important;
		background-size: cover;
		background-position: center center;
	}
	#key_area_content li.bg01 {
		background-image: url(../img/sp/index/mainimg_01_sp.jpg);
	}
	#key_area_content li.bg02 {
		background-image: url(../img/sp/index/mainimg_02_sp.jpg);
	}
	#key_area_content li.bg03 {
		background-image: url(../img/sp/index/mainimg_03_sp.jpg);
	}
	#key_area_content li.bg04 {
		background-image: url(../img/sp/index/mainimg_04_sp.jpg);
	}
	#top_block_01 {
		width: auto;
		margin: 0;
		background: none;
	}
	.top_block_01_on {
		width: auto;
		min-height: inherit;
		background: none;
	}
	#top_block_01_inside {
		width: auto;
		margin: 0;
		padding: 3rem 2rem 4rem;
	}
	#tab {
		height: auto;
		display: flex;
		justify-content: space-between;
	}
	#tab li {
		width: calc(25% - 0.8rem);
		float: none;
	}
	#tab li img {
		width: 100%;
	}
	#tab_contents {
		margin: 0 -2rem;
		padding: 3rem 2rem 4rem;
		background-color: #F5F5F5;
	}
	.list_inside {
		width: auto;
		margin: 0;
	}
	.link_area_01 {
		width: auto;
		float: none;
		border-top: 1px solid #E0E0E0;
	}
	.link_area_02 {
		width: auto;
		float: none;
	}
	.list_inside li {
		margin: 0;
		padding: 0;
		background: none;
		border-bottom: 1px solid #E0E0E0;
	}
	#tab_contents .list_inside li a {
		padding: 1.1rem 1rem 1rem;
		display: block;
		color: #000;
		background: url(../img/sp/common/icon01.png) no-repeat right 0.9rem center;
		background-size: 1.1rem auto;
	}
	.img_area {
		margin-top: 3.1rem;
		float: none;
		width: auto;
		text-align: center;
	}
	#tab_contents .btmLink {
		width: 19.5rem;
		margin: 3rem auto 0;
	}
	#tab_contents .btmLink a {
		height: 5rem;
		padding: 0 0 0 2.2rem;
		display: flex;
		align-items: center;
		justify-content: center;
		text-align: center;
		font-size: 1.4rem;
		color: #fff;
		font-weight: bold;
		border-radius: 6rem;
		background: url(../img/sp/common/icon02.png) no-repeat right 1.4rem center,url(../img/sp/common/icon03.png) no-repeat left 2.3rem center #609EFA;
		background-size: 1.1rem auto,2.3rem auto;
		box-sizing: border-box;
	}
	#top_mainarea {
		margin: 0 2rem;
		width: auto;
		float: none;
	}
	.top_block_02 {
		width: auto;
		margin: 0;
		background: none;
	}
	.top_block_02_on {
		position: relative;
		width: auto;
		min-height: inherit;
		background: none;
	}
	.top_block_02_link_text {
		position: absolute;
		top: 0.9rem;
		right: 1rem;
		width: 9.6rem;
		font-size: 1.2rem;
		font-weight: 700;
		padding: 0;
		background: none;
	}
	.top_block_02_link_text a {
		padding: 0.6rem 2rem 0.6rem 0;
		display: block;
		text-align: center;
		background: #fff url(../img/sp/common/icon01.png) no-repeat right 1.4rem center;
		background-size: 1.1rem auto;
		border-radius: 6rem;
	}
	.top_block_02_inside {
		width: auto;
		max-height: inherit;
		margin: 0;
		padding: 2.1rem 0 3.6rem;
	}
	.top_block_02_inside dl{
		width: auto;
		padding: 0;
	}
	.top_block_02_inside dl dt{
		padding-bottom: 0.3rem;
		width: auto;
		float: none;
	}
	.top_block_02_inside dl dd {
		width: auto;
		float: none;
	}
	.top_block_02_inside dl dd a {
		color: #000;
	}
	#logo_area {
		display: none;
	}
	#top_side {
		display: none;
	}
}
/*------------------------------------------------------------
	companyPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.companyPage .ttl {
		margin-bottom: 1.7rem;
		text-align: justify;
		font-size: 1.7rem;
		font-weight: 700;
		line-height: 1.6;
	}
	.companyPage .inside p {
		text-align: justify;
		line-height: 2;
	}
	.companyPage .inside .right_image {
		display: block;
		float: none;
		margin: 3.3rem auto 0;
		text-align: center;
		width: auto;
	}
	.companyPage .inside .text01 {
		margin-bottom: 1.7rem;
	}
	.companyPage .sub_block + .sub_block {
		margin-bottom: 3.2rem;
	}
}
/*------------------------------------------------------------
	aboutPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.aboutPage .sub_block {
        margin-bottom: 4rem;
    }
	.aboutPage .table_company td p:not(:last-of-type) {
		margin-bottom: 1rem;
	}
}
/*------------------------------------------------------------
	historyPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.historyPage .heading03 {
		margin-bottom: 2.6rem;
	}
}
/*------------------------------------------------------------
	companiesPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.companiesPage .heading03 {
		margin-bottom: 2.6rem;
	}
	.companiesPage .mapLink {
		margin: 1.4rem 0 0.5rem;
	}
}
/*------------------------------------------------------------
	csrPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.csrPage .sub_block {
        margin-bottom: 3.2rem;
    }
	.csrPage .inside p {
		text-align: justify;
		line-height: 2;
	}
	.csrPage .inside p span {
		margin: 1.8rem 0 1.7rem;
		display: block;
	}
	.csrPage .inside p .text01 {
		margin: 1.6rem 0 0;
		padding-bottom: 0.4rem;
	}
	.csrPage .inside .csr_pic_left {
		margin-top: 2.4rem;
		padding-bottom: 0.8rem;
	}
	.csrPage .inside .csr_pic_left img {
		width: 100%;
	}
}
/*------------------------------------------------------------
	generationPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.generationPage .title_area_normal {
		margin-bottom: 3rem;
		width: auto;
		padding: 2.8rem 2rem 2.4rem;
		background: url(../img/sp/company/generation/h1_bg.jpg) no-repeat center center;
		background-size: cover;
	}
	#main_area .generationPage h1.normal_h1 {
		width: auto;
		margin: 0 0 1.9rem;
		font-size: 2rem;
		line-height: 1.5;
		text-align: center;
	}
	.generationPage .p_catch {
		margin: 0;
		text-align: justify;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.generationPage .heading03 {
		margin-bottom: 2.5rem;
	}
	.generationPage .tabBox {
		margin-left: -0.1rem !important;
		padding: 0.2rem 0 0.4rem;
		overflow-y: scroll;
	}
	.generationPage .tabBox .table_generation {
		width: 56rem;
		line-height: 1.5;
		font-size: 1.1rem;
	}
	.generationPage .table_generation th {
		padding: 1.2rem 0.5rem;
	}
	.generationPage .table_generation td {
		padding: 1.2rem 0.7rem 1.1rem;
	}
}
/*------------------------------------------------------------
	student_apartmentPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.student_apartmentPage .heading03 {
		margin-bottom: 1.9rem;
	}
	.student_apartmentPage .sub_block {
        margin-bottom: 3.1rem;
    }
}
/*------------------------------------------------------------
	consultingPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.consultingPage .sub_block01 {
		margin-bottom: 3.9rem;
	}
	.consultingPage .sub_block01 .heading03 {
		margin-bottom: 2rem;
	}
}
/*------------------------------------------------------------
	schemePage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.schemePage .title_area {
		padding-bottom: 2.5rem;
	}
	#main_inside.schemePage .title_area h1 {
        margin-bottom: 2.2rem;
	}
	#main_inside.schemePage .sub_block p {
		text-align: justify;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.schemePage .sub_block01 {
		margin-bottom: 3rem;
	}
	#main_inside.schemePage .sub_block .scheme_sub_titile {
		margin: 0 0 2rem;
		padding: 0.6rem 0;
		font-size: 1.7rem;
		line-height: 1.5;
		text-align: center;
		border-top: 1px solid #036;
		border-bottom: 1px solid #036;
	}
	.schemePage .business_img_area_half_r01 {
		margin: 0 0.5rem;
	}
	.schemePage .sub_block02 .heading03 {
		margin-bottom: 1.9rem;
	}
	.schemePage .img_scheme_01 {
		margin: 0.9rem 0 2rem;
	}
	.schemePage .img_scheme_01 img {
		width: 100%;
	}
	.schemePage .img_scheme_01 p {
		margin-bottom: 1.3rem;
		padding: 0.5rem 0px 0px 1.7rem;
		font-size: 1.4rem !important;
	}
	.schemePage .sub_block03 {
		margin-bottom: 4rem;
	}
	.schemePage .txt01 {
		margin: -0.5rem 0 1.5rem;
	}
	.schemePage .sub_block04 {
		margin-bottom: 4.5rem;
	}
	.schemePage .txt02 {
		margin: 0.3rem 0 1rem;
	}
}
/*------------------------------------------------------------
	dormitoryPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.dormitoryPage .business_text_area p.title_02 {
		margin: -1px 0 1.3rem;
		line-height: 1.4;
		text-align: left !important;
	}
}
/*------------------------------------------------------------
	pfiPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.pfiPage .sub_block {
        margin-bottom: 2.5rem;
    }
	.pfiPage .business_text_area_half_l p {
		text-align: justify;
		line-height: 1.6;
	}
	.pfiPage .caption_01 {
		line-height: 1.2em;
		font-size: 1.3rem;
		margin: 2rem 0 0;
	}
	.pfiPage .caption_01 span {
		margin-bottom: -1.3rem;
		display: block;
		font-size: 1.1rem;
	}
	.pfiPage .caption_02 {
		line-height: 1.6;
		margin: 1.4rem 0 0;
		font-size: 1.1rem;
		text-align: justify;
	}
	.pfiPage .sub_block .text01 {
		padding: 0.5rem 0 0.3rem;
		text-align: justify;
		line-height: 1.6;
	}
	.pfiPage .business_right_image {
		margin: 0 0 1.3rem;
		padding-top: 0.4rem;
		float: none;
	}
	.pfiPage .photo01 {
		margin: 0 0 1.3rem;
		padding-top: 0.5rem;
	}
	.pfiPage .business_right_image img {
		width: 100%;
	}
	.pfiPage .sub_block01 {
		margin-bottom: 3.6rem;
	}
}
/*------------------------------------------------------------
	needsPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.needsPage .business_text_area_needs {
		padding-top: 0.5rem;
		width: auto;
		float: none;
	}
	.needsPage .business_text_area_needs p {
		text-align: justify;
		line-height: 1.6;
	}
	.needsPage .business_img_area_needs {
		margin: 1.4rem 0 0;
		float: none;
	}
	.needsPage .caption_02 {
		line-height: 1.4;
		margin: 1.9rem -4rem 0 0;
		font-size: 1.1rem;
		font-weight: bold;
	}
	.needsPage .caption_02 span {
		font-size: 1.3rem;
		display: block;
	}
}
/*------------------------------------------------------------
	examplePage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.examplePage .title_area {
        margin-bottom: 3rem;
        padding-bottom: 2.5rem;
    }
	.examplePage .sub_block01 {
		margin-bottom: 0;
	}
	.examplePage .harf_harf_example {
		margin: 0;
	}
	.examplePage .harf_harf_example div.left {
		padding-bottom: 2.5rem;
		width: auto;
		float: none;
		border-bottom: 1px solid #ccc;
	}
	.examplePage .harf_harf_example div.right {
		padding: 3rem 0 2.5rem;
		width: auto;
		float: none;
		border-bottom: 1px solid #ccc;
	}
	.examplePage .harf_harf_example p.title {
		width: auto;
		margin: 0;
		padding: 0.7rem 0;
		font-weight: bold;
		font-size: 1.6rem;
	}
	.examplePage .harf_harf_example img {
		width: 100%;
	}
	.examplePage .half_inside {
		width: auto;
		margin: 0;
		padding: 0;
		background-color: transparent;
	}
	.examplePage .half_inside p {
		margin-top: 1.7rem;
		text-align: justify;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.examplePage .half_inside a {
		display: none;
	}
	.examplePage .inside_business_03 {
        padding: 2.9rem 0 3rem !important;
        border-bottom: 1px solid #ccc !important;
		border-top: none !important;
    }
	.examplePage .inside_business_03 p.bukken_name {
		height: auto;
		margin: 0;
		padding: 0.4rem 0 2.4rem 4.2rem;
		font-size: 1.6rem;
	}
	.examplePage .business_text_area_half_r {
        margin: 1.7rem 0 0;
    }
	.examplePage .business_text_area_half_r01 {
        margin-bottom: 3rem;
    }
	.examplePage .inside_business_03 p.title {
        padding-bottom: 1rem;
        font-size: 1.5rem;
    }
	.examplePage .inside_business_03 p.detail {
        padding-bottom: 1rem;
	}
	.examplePage .inside_business_03 p.detail + p {
        margin-bottom: 1.5rem;
    }
	.examplePage .business_text_area_half_r .align_right {
		margin-top: 1.4rem;
	}
	.examplePage .business_text_area_half_r a img {
		display: none;
	}
	.examplePage .business_text_area_half_r a {
		width: 13.2rem;
		padding: 0.5rem 1.9rem;
		display: block;
		text-align: left;
		color: #609EFA;
		font-size: 1.2rem;
		font-weight: bold;
		border-radius: 6rem;
		border: 1px solid #609EFA;
		background: #FFF url(../img/sp/common/icon01.png) no-repeat right 1.3rem center;
		background-size: 1.1rem auto;
		box-sizing: border-box;
	}
}
/*------------------------------------------------------------
	extracurricularPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.extracurricularPage .h1_under_gray {
        margin-bottom: 3rem;
        padding: 3.1rem 2rem 2.3rem;
    }
	.extracurricularPage .h1_under_gray div.text_area {
		width: auto;
		margin: 2.2rem 0 0;
		float: none;
	}
	.extracurricularPage .sub_block {
        margin-bottom: 3rem;
    }
	.extracurricularPage .sub_block div.inside_school:not(:last-of-type) {
        margin-bottom: 3rem;
    }
	.extracurricularPage .mb0 {
		margin-bottom: 0 !important;
	}
}
/*------------------------------------------------------------
	propertyPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.propertyPage .sub_block {
		margin-bottom: 3rem;
	}
	.propertyPage .business_text_area_half_l {
        padding: 0.5rem 0 1.4rem;
    }
	.propertyPage .business_text_area_half_l p {
		text-align: justify;
		font-size: 1.3rem;
		line-height: 1.6;
	}
	.propertyPage .business_text_area_half_l .f85 {
		margin-top: 1.5rem;
		font-size: 1.1rem !important;
	}
	.propertyPage .business_img_area_half_r_property {
		width: auto;
		float: none;
	}
	.propertyPage .business_img_area_half_r_property > img {
		width: 100%;
	}
	.propertyPage .business_img_area_half_r .btmImg {
		margin: 2rem 0 -1px;
	}
	.propertyPage .text01 {
		padding: 0.5rem 0 1.4rem;
		line-height: 1.6;
		text-align: justify;
	}
}
/*------------------------------------------------------------
	trainingPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.trainingPage .title_area_image_right {
        margin-top: 2.4rem;
    }
	.trainingPage .sub_block p {
		padding-top: 0.4rem;
		text-align: justify;
		line-height: 1.6;
	}
	.trainingPage .business_text_area_half_l {
		margin-top: 2rem;
	}
	.trainingPage .business_text_area_half_l img {
		width: 100%;
	}
	.trainingPage .photo01 {
		margin-top: 2.5rem;
	}
	.trainingPage .photo01 p {
		padding: 1.4rem 0 0.2rem;
	}
}
/*------------------------------------------------------------
	eventPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.eventPage .title_area_image_right {
        margin-top: 2.5rem;
    }
	.eventPage .sub_block {
		margin-bottom: 3rem;
	}
	.eventPage .sub_block .heading03 {
		margin-bottom: 2.1rem;
	}
	.eventPage .sub_block p {
		line-height: 1.6;
		text-align: justify;
	}
	.harf__harf_gray p.title {
		margin: 0 0 1.7rem;
		padding: 0.1rem 0 0 0.8rem;
		line-height: 1.3 !important;
		background: none;
		border-left: 2px solid #466FB9;
	}
	.eventPage .text01 {
		margin-bottom: 2.1rem;
	}
	.eventPage .sub_block01 .icon_blue_list {
		margin-bottom: 1.4rem;
	}
	.eventPage .sub_block01 .icon_blue_list li {
		padding-left: 1.5rem;
		background-position: left top 0.4rem;
	}
	.eventPage .sub_block01 .harf__harf {
		 margin-bottom: 3.2rem;
	}
	.eventPage .sub_block01 .harf__harf div.left {
        margin-bottom: 3.2rem;
	}
	.eventPage .sub_block01 img {
		width: 100%;
	}
	.eventPage .photo01 {
        margin-top: 2.5rem;
    }
}
/*------------------------------------------------------------
	licensePage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.licensePage .title_area_image_right {
        margin-top: 2.6rem;
    }
	.licensePage .sub_block {
		margin-bottom: 3rem;
	}
	.licensePage .heading03 {
		margin-bottom: 2rem;
	}
	.licensePage .sub_block p {
		line-height: 1.6;
		text-align: justify;
	}
	.licensePage .title_icon_blue {
		margin-bottom: 1rem;
		padding-left: 1.5rem;
		background-position: left top 0.4rem;
	}
	.licensePage .licence_img_01 {
		width: 21rem;
		height: auto;
		margin: 1.4rem auto 3.1rem;
	}
	.licensePage .licence_img_02 {
		width: auto;
		height: auto;
		margin: 1rem 0 0 -1px;
	}
	.licensePage .licence_img_02 img {
		width: 100%;
	}
	.licensePage .harf__harf p.title {
        padding: 0.8rem 0 0.6rem;
    }
	.licensePage .right_image {
		margin: -1px 0 0.5rem 2.5rem;
		float: right;
		width: auto;
	}
	.licensePage .sub_block01 {
		margin-bottom: 4rem;
	}
	.licensePage .sub_block01 p {
		margin-bottom: 2.4rem;
	}
	.licensePage .sub_block01 img {
		width: 100%;
	}
}
/*------------------------------------------------------------
	activityPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.activityPage .sub_block {
		margin-bottom: 3rem;
	}
	.activityPage .heading03 {
		margin-bottom: 2rem;
	}
	.activityPage .sub_block p {
		line-height: 1.6;
		text-align: justify;
	}
	.activityPage .text01 {
		margin-bottom: 1.6rem;
	}
	.activity_img_float {
		margin: 0;
		width: 30.2%;
		position: relative;
	}
	.activity_img_float::after {
		content: "";
		width: 30.2%;
	}
	.activity_img_float img {
		width: 100%;
	}
	.activity_img_float01 {
		float: right;
		width: 65.4%;
	}
	.activityPage .harf__harf_gray {
		margin-top: 3rem;
	}
	.activityPage .harf__harf_gray div.right {
		margin-bottom: 0;
	}
}
/*------------------------------------------------------------
	consultingPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.consultingPage .title_area_image_right {
		width: 66%;
		margin: 2.5rem auto -1px;
	}
	.consult_img {
		margin-bottom: 3.1rem;
		width: auto;
		float: none;
	}
	.consult_img img {
		width: 100%;
	}
	.consult_text {
		margin-bottom: -0.3rem;
		width: auto;
		float: none;
	}
	.consult_text p.title {
		margin-bottom: 1rem;
		padding-left: 1.5rem;
		background-position: left top 0.4rem;
		border-bottom: none;
	}
	.consultingPage td {
		padding-bottom: 0.15rem;
	}
}

/*------------------------------------------------------------
	recruitPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.recruitPage .site_area img {
       width: 100%;
    }
	.recruitPage .title_area_image_right {
		position: relative;
		padding-bottom: 63.5%;
	}
	.recruitPage .title_area_image_right img {
		position: absolute;
		left: 0;
		top: 0;
		height: 100%;
	}
}
/*------------------------------------------------------------
	newgraduatesPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.newgraduatesPage .sub_block {
		margin-bottom: 4rem;
	}
	.newgraduatesPage .sub_block p {
		margin-bottom: 2.4rem !important;
		line-height: 1.6;
		text-align: justify;
	}
	.newgraduatesPage .align_right img {
		display: none;
	}
	.newgraduatesPage .align_right a {
		width: 21.6rem;
		margin: 0 auto;
		padding: 0.6rem 2rem 0.6rem 0;
		display: block;
		text-align: center;
		color: #609EFA;
		font-size: 1.2rem;
		line-height: 1.5;
		font-weight: bold;
		border-radius: 6rem;
		border: 1px solid #609EFA;
		background: #FFF url(../img/sp/common/icon01.png) no-repeat right 1.3rem center;
		background-size: 1.1rem auto;
		box-sizing: border-box;
	}
}
/*------------------------------------------------------------
	searchPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.searchPage h1.heading05 {
		margin-bottom: 3rem;
	}
	#main_inside.searchPage h1.heading05 img {
		margin-top: -1px;
	}
	#main_inside.searchPage .heading03 {
		margin-bottom: 2rem;
	}
}
/*------------------------------------------------------------
	buildPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.buildPage h1.heading05 .big {
		padding-top: 1px;
		line-height: 1.5;
	}
	.buildPage .sub_block {
        margin-bottom: 3rem;
    }
	.buildPage .heading03 {
		margin-bottom: 1.9rem;
	}
}
/*------------------------------------------------------------
	regionPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.regionPage h1.heading05 img {
		margin-top: -1px;
	}
	#main_inside.regionPage .sub_block {
		margin-bottom: 4rem;
	}
}
/*------------------------------------------------------------
	stundentPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.stundentPage h1.heading05 img {
		margin-top: -1px;
	}
	#main_inside.stundentPage .sub_block {
		margin-bottom: 3rem;
	}
	#main_inside.stundentPage .heading03 {
		margin-bottom: 1.9rem;
	}
	#main_inside.stundentPage .inside_school:not(:last-child) {
		margin-bottom: 3rem;
	}
}
/*------------------------------------------------------------
	schoolPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.schoolPage h1.heading05 img {
		margin-top: -1px;
	}
	#main_inside.schoolPage .h1_under_gray {
        width: auto;
        padding: 3.1rem 2rem 2.4rem;
    }
	#main_inside.schoolPage .h1_under_gray .heading03 {
		margin-bottom: 2.1rem;
	}
	#main_inside.schoolPage .h1_under_gray div.img_area {
		width: 11rem;
		margin: 1px 3rem 0 0;
	}
	#main_inside.schoolPage .h1_under_gray div.text_area {
		width: auto;
		margin: 0;
		float: none;
	}
	#main_inside.schoolPage .sub_block {
		margin-bottom: 3rem;
	}
	#main_inside.schoolPage .heading03 {
		margin-bottom: 1.9rem;
	}
	#main_inside.schoolPage .inside_school:not(:last-child) {
		margin-bottom: 3rem;
	}
}
/*------------------------------------------------------------
	residentialPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.residentialPage h1.heading05 {
		margin-bottom: 3rem;
	}
	#main_inside.residentialPage h1.heading05 img {
		margin-top: 1.2rem;
	}
	#main_inside.residentialPage .sub_block .heading03 {
		margin-bottom: 2rem;
	}
	#main_inside.residentialPage .sub_block .heading03.yellow {
		margin-bottom: 2.5rem;
	}
	#main_inside.residentialPage .sub_block p {
		line-height: 1.6;
		text-align: justify;
	}
	#main_inside.residentialPage .sub_block {
		margin-bottom: 3rem;
	}
	#main_inside.residentialPage .sub_block01 p {
		margin-bottom: 2.5rem !important;
	}
	#main_inside.residentialPage .sub_block01 img {
		width: 100%;
	}
	#main_inside.residentialPage .sub_block01 img + img {
		margin-top: 0.9rem;
	}
	#main_inside.residentialPage .sub_block02 p {
		margin-bottom: 1.7rem !important;
	}
	#main_inside.residentialPage .sub_block02 img {
		width: 100%;
	}
	#main_inside.residentialPage .sub_block03 p {
		margin: -2px 0 1.4rem !important;
	}
	#main_inside.residentialPage .sub_block03 img {
		width: 100%;
	}
	.residential_img_02 {
		width: auto;
		height: auto;
	}
	.residential_img_03 {
		width: auto;
		height: auto;
		margin: 0 0 2.1rem;
		float: none;
	}
	.residential_img_03 img {
		width: 100%;
	}
	.right_image {
		margin: 0 0 2.1rem;
		float: none;
		width: 100%;
	}
	#main_inside.residentialPage .sub_block04 {
		margin-bottom: 3.5rem;
	}
	#main_inside.residentialPage .sub_block04 .h3_02 {
		margin: 2.6rem 0 2rem;
	}
	#main_inside.residentialPage .h3_02 {
		font-size: 1.5rem;
		line-height: 1.4;
	}
	#main_inside.residentialPage .sub_block04 .icon_residential_p {
		margin-top: 1.7rem;
	}
	#main_inside.residentialPage .sub_block04 .icon_residential_p a {
		display: block;
		margin: 1rem 0 0 -1.2rem;
	}
	#main_inside.residentialPage .property_3colum02 {
		margin-bottom: 2.9rem;
	}
	.guide_series {
		padding: 0.6rem 0.2rem 0 0;
		width: auto;
		height: auto;
		display: flex;
		flex-wrap: wrap;
	}
	.guide_series img {
		position: static !important;
		width: calc(100% / 3);
	}
	.residential_img {
		margin-top: 1.6rem;
		width: auto;
		height: auto;
	}
	.residential_img img {
		position: static !important;
		width: 100%;
	}
	#img_index_04_text01 {
		margin: 1.9rem 0 2rem;
		width: auto;
		font-size: 1.2rem;
		line-height: 1.6;
		position: static;
	}
	#img_index_04_text02 {
		margin: 1.8rem 0 -0.5rem;
		width: auto;
		font-size: 1.2rem;
		line-height: 1.6;
		position: static;
	}
	#main_inside.residentialPage .sub_block05 {
		margin-bottom: 3.9rem;
	}
}
/*------------------------------------------------------------
	worksjapanPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside.worksjapanPage h1.heading05 {
		margin-bottom: 3rem;
	}
	#main_inside.worksjapanPage h1.heading05 img {
		margin-top: 1.2rem;
	}
	#main_inside.worksjapanPage .sub_block .heading03 {
		margin-bottom: 2.6rem;
	}
	#main_inside.worksjapanPage .sub_block .txt {
		margin-bottom: 1.1rem;
	}
}
/*------------------------------------------------------------
	common
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.title_area_normal_gray{
		width: auto;
		margin: 0 0 3rem;
		padding: 2.7rem 2rem 2.1rem;
	}
	#main_inside h1.h1_gray {
		width: auto;
		font-size: 2rem;
		text-align: center;
		line-height: 1.5;
	}
}
/*------------------------------------------------------------
	governancePage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.governancePage .heading03 {
		margin-bottom: 2rem;
	}
	.governancePage .sub_block p {
		line-height: 1.6;
		text-align: justify;
	}
	.governancePage .sub_block .align_right {
		margin: 1.8rem 0 -0.2rem;
		text-align: right;
	}
}
/*------------------------------------------------------------
	sustainabilityPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.sustainabilityPage .heading03 {
		margin-bottom: 2rem;
	}
	.sustainabilityPage .sub_block p {
		margin-bottom: 1.5rem;
		line-height: 1.6;
		text-align: justify;
	}
	.sustainabilityPage .sub_block .align_right {
		margin: 1.8rem 0 -0.2rem;
		text-align: right;
	}
}
/*------------------------------------------------------------
	compliancePage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.compliancePage .heading03 {
		margin-bottom: 2rem;
	}
	.compliancePage .sub_block p {
		margin-bottom: 1.5rem;
		line-height: 1.6;
		text-align: justify;
	}
	.compliancePage .sub_block .align_right {
		margin: 1.8rem 0 -0.2rem;
		text-align: right;
	}
}
/*------------------------------------------------------------
	policyPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.privacy_link_area {
		display: none;
	}
	.topList {
		margin: 0 2rem 0.4rem;
		display: flex;
		justify-content: space-between;
	}
	.topList li {
		width: 31.5%;
	}
	.topList li img {
		width: 100%;
	}
	.policyPage .heading03 {
		margin-bottom: 2.1rem;
	}
	.policyPage .sub_block {
		margin-bottom: 3rem;
	}
	.policyPage .sub_block div.inside p {
		margin-bottom: 2.1rem;
		line-height: 1.6;
		text-align: justify;
	}
	.policyPage .sub_block div.inside .align_right {
		text-align: right;
	}
	.policyPage .sub_block div.inside .text01 {
		margin-bottom: 1.4rem;
	}
	.contact_area {
		width: auto;
		padding: 0;
		background-color: transparent;
	}
	.sub_block.policy {
		margin-bottom: 3.9rem !important;
	}
	.sub_block.policy .heading03 {
		margin-bottom: 1.6rem !important;
	}
	.policyImg {
		margin: 1.5rem 0 0.3rem -1rem;
		width: 10rem;
	}
	.policyImg img {
		width: 100%;
	}
}
/*------------------------------------------------------------
	handlingPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.handlingPage .topList {
		margin-bottom: 0.5rem;
	}
	.handlingPage .heading03 {
		margin-bottom: 2rem;
	}
	.handlingPage .sub_block {
		margin-bottom: 3rem;
	}
	.handlingPage .sub_block div.inside p {
		margin-bottom: 1.5rem;
		line-height: 1.6;
		text-align: justify;
	}
	.handlingPage .sub_block div.inside p.policy_titile {
		margin-bottom: 1.2rem;
		padding-left: 1.5rem;;
	}
	.handlingPage .sub_block div.inside p + .policy_titile {
		margin-top: 2rem;
	}
}
/*------------------------------------------------------------
	processPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.processPage .topList {
		margin-bottom: 0.5rem;
	}
	.processPage .heading03 {
		margin-bottom: 2rem;
	}
	.processPage .sub_block {
		margin-bottom: 3rem;
	}
	.processPage .sub_block div.inside p {
		margin-bottom: 1.6rem;
		line-height: 1.6;
		text-align: justify;
	}
	.processPage .sub_block div.inside p.policy_titile {
		margin-bottom: 1.2rem;
		padding-left: 1.5rem;;
	}
	.policy_info {
		margin-bottom: 2rem;
		padding: 2rem 1.9rem;
	}
}
/*------------------------------------------------------------
	infomationPage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.news_list {
		width: auto;
		margin: 0;
		padding: 0;
	}
	.news_list dt {
		width: auto;
		float: none;
		padding: 1rem 0 0.3rem;
	}
	.news_list dd {
		width: auto;
		float: none;
		padding-bottom: 1rem;
	}
	.news_list dd a {
		color: #000;
	}
}
/*------------------------------------------------------------
	contact
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#h1_under {
		background-image: none;
		font-size: 1.8rem;
		text-align: center;
	}
	.img_float_01,
	.img_float_02,
	.img_float_03 {
		width: auto;
		margin: 0 0 1rem;
		float: none;
		text-align: center;
	}
	.img_float_01 p,
	.img_float_02 p,
	.img_float_03 p {
		text-align: center !important;
	}
	.thanks_message {
		margin-bottom: 3rem;
		width: auto;
	}
	.thanks_message_head {
		width: auto;
		margin-bottom: 2rem;
	}
	.leftTxt {
		margin: 0 2rem;
	}
	.table_form {
		position: relative;
		line-height: 1.5;
		border-bottom: 1px solid #DFDFDF;
	}
	.table_form::before {
		position: absolute;
		left: 0;
		bottom: -1px;
		width: 8rem;
		height: 1px;
		background-color: #609EFA;
		content: "";
	}
	.table_form th {
		width: 100% !important;
		position: relative;
		display: block;
		padding: 1.8rem 0.8rem 0;
		font-size: 1.3rem;
		line-height: 1.5;
		border-bottom: none;
		border-top: 1px solid #DFDFDF;
		background: none;
	}
	.table_form th::before {
		position: absolute;
		left: 0;
		top: -1px;
		width: 8rem;
		height: 1px;
		background-color: #609EFA;
		content: "";
	}
	.table_form td {
		width: 100%;
		display: block;
		padding: 1rem 0.8rem 1.3rem;
		font-size: 1.3rem;
		line-height: 1.6;
		border-bottom: none;
	}
	.input_500 {
		width: 100%;
	}
	.text_01 {
		width: 100%;
	}
	.name_01,
	.name_02 {
		width: 10rem;
	}
	.tel_01,
	.tel_02,
	.tel_03 {
		width: 8rem;
	}
	#privacy_area {
		width: auto;
		height: auto;
		margin: 0 0 3rem;
	}
	#privacy_area div#inside {
		width: auto;
		padding: 2rem;
	}
	#privacy_area p.privacy_titile {
		background-position: left top 0.3rem;
	}
	#privacy_area ul {
		width: auto;
		margin: 0 0 3rem 1.5rem;
	}
	#global_sign {
		width: auto;
		margin: 2rem 0 0;
		padding: 0;
	}
	#global_sign_banner {
		margin: 0 auto;
		float: none;
	}
	#global_sign_text {
		width: auto;
		float: none;
	}
}
/*------------------------------------------------------------
	ir
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#main_inside_ir {
		width: auto;
		margin: 0;
	}
	.ir_main {
		margin: 0;
		padding: 3rem 2rem;
		width: auto;
		float: none;
		font-size: 1.3rem;
		border-top: 1px solid #DFDFDF;
	}
	.ir_side {
		display: none;
	}
	.ir_main table {
		width: 100% !important;
	}
	.ir_main table th,
	.ir_main table td {
		font-size: 1.1rem !important;
	}
	#topcal table {
		width: 100% !important;
	}
	#sub_side {
		display: none;
	}
	.graph {
		width: auto;
		float: none;
		margin-left: 0;
	}
	img.black {
		height: 2px;
		width: 100%;
	}
	#xj_table23_5 td,
	#xj_table24_5 td,
	#xj_table27_2 td,
	#xj_table45_4 td,
	#xj_table46_4 td,
	#xj_table47_4 td,
	#xj_table26_3 td,
	#xj_table26_4 td,
	#xj_table26_6 td,
	#xj_table25_4 td {
		width: calc(100% / 6) !important;
	}
	.tab01 .s_title2 {
		width: 50% !important;
	}
	table td.title {
		width: 100% !important;
		background-size: 100% 100%;
		box-sizing: border-box;
	}
	table td hr {
		width: 100% !important;
	}
	ul.liblist1 {
		margin-left: 0;
	}
	.irList {
		padding: 0 2rem 3rem;
	}
	.irList > li:not(:last-child) {
		margin-bottom: 1rem;
	}
	.irList p {
		padding: 1rem 0;
		font-size: 1.4rem;
		color: #000;
		text-align: left;
		font-weight: bold;
		border-bottom: 1px solid #DFDFDF;
	}
	.irList a {
		height: 4rem;
		display: flex;
		align-items: center;
		color: #000;
		text-decoration: none;
		border-bottom: 1px dashed #DFDFDF;
		background: url(../img/sp/common/icon07.png) no-repeat right 1rem center;
		background-size: 1.1rem auto;
	}
	.irTxt {
		display: block;
		width: 100%;
		position: relative;
	}
	.irTxt a {
		position: absolute;
		right: 0;
		top: 0;
		font-size: 1.2rem;
		text-decoration: none;
	}
	tr.ResultLine td:first-child {
		width: 8rem !important;
	}
	ul.liblist1 li.clearfix {
		width: auto;
	}
	.dividendsLine {
		display: block;
	}
}
@media all and (min-width: 897px) {
	.irList {
		display: none;
	}
}
/*------------------------------------------------------------
	disclosurePage
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	.disclosurePage table img {
		width: 100% !important;
	}
	.disclosurePage table td {
		width: 100% !important;
		box-sizing: border-box;
	}
}
/*------------------------------------------------------------
	gallery_layout
------------------------------------------------------------*/
@media all and (max-width: 896px) {
	#btn_close_sp {
		position: absolute;
		top: 1.7rem;
		right: 1.4rem;
		width: 2.6rem;
	}
	#gallery_layout {
		width: auto;
		height: auto;
		background-color: #F0F0F0;
	}
	#gallery_layout #main_photo {
		display: none;
	}
	#gallery_layout #thumb_areal {
		display: none;
	}
	#gallery_layout .topTtl {
		padding: 2.8rem 0 5rem;
		text-align: center;
		color: #fff;
		font-size: 1.5rem;
		font-weight: bold;
		background: linear-gradient(101deg, #06F 0%, #0058DC 100%);
	}
	#gallery_layout .topTtl .en {
		margin: -0.4rem 0 0;
		display: block;
		font-size: 3.6rem;
		letter-spacing: 0.3rem;
	}
	#gallery_layout .topTtl .sml {
		display: block;
		font-size: 1.3rem;
	}
	#gallery_layout .bigPho {
		margin-top: -2.1rem;
		padding: 0.1rem 2rem 2.4rem;
		position: relative;
	}
	#gallery_layout .bigPho .sliderBox:not(:first-child) {
		display: none;
	}
	#gallery_layout .bigPho .prev {
		position: absolute;
		left: 0.5rem;
		top: calc(50% - 9.7rem);
		width: 3.4rem;
		z-index: 1;
	}
	#gallery_layout .bigPho .next {
		position: absolute;
		right: 0.5rem;
		top: calc(50% - 9.7rem);
		width: 3.4rem;
		z-index: 1;
	}
	#gallery_layout .bigPho .slide {
		position: relative;
	}
	#gallery_layout .bigPho .pho {
		margin-bottom: 1.6rem;
	}
	#gallery_layout .bigPho .pho li {
		vertical-align: top;
	}
	#gallery_layout .bigPho .num {
		position: absolute;
		right: 1rem;
		top: 1rem;
		width: 4.8rem;
		z-index: 1;
	}
	#gallery_layout .bigPho .logo {
		position: absolute;
		left: 0.5rem;
		top: 0.5rem;
		width: 8.8rem;
		z-index: 1;
	}
	#gallery_layout .bigPho p {
		margin-bottom: 1rem;
		color: #06F;
		font-size: 1.8rem;
		font-weight: bold;
	}
	#gallery_layout .bigPho dl {
		font-size: 1.3rem;
		line-height: 1.6;
	}
	#gallery_layout .bigPho dt {
		float: left;
		font-weight: bold;
	}
	#gallery_layout .bigPho dd {
		padding: 0 0 0 7em;
	}
	#gallery_layout .smlPho {
		padding: 3rem 0;
		position: relative;
		background: #3C3E3D;
	}
	#gallery_layout .smlPho .prev {
		position: absolute;
		left: 1rem;
		top: calc(50% - 1.5rem);
		width: 3rem;
		z-index: 1;
	}
	#gallery_layout .smlPho .next {
		position: absolute;
		right: 1rem;
		top: calc(50% - 1.5rem);
		width: 3rem;
		z-index: 1;
	}
	#gallery_layout .smlPho li {
		margin: 0 1rem !important;
		width: 18.6rem !important;
		vertical-align: top;
	}
	#gallery_footer {
		padding: 1.3rem 1rem 1.2rem;
		background: #2B2B2B;
	}
	#gallery_copy {
		font-size: 1rem !important;
	}
}