@charset "UTF-8";
body {
	-webkit-text-size-adjust: 100%;
}

.bg-light-glay { background-color: #F6F6F6;}

.imghover {
	transition: opacity 0.2s ease-in-out, color 0.2s ease-in-out;
}
.imghover:hover {
	opacity: 0.7;
	color: #999;
	text-decoration: none;
}



/* ------------------------------------------------------- fadeUp fadeDown -- */
.animated {
	-webkit-animation-name: fadeInUp;
	animation-name: fadeInUp;
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-timing-function: ease-in-out;
	animation-timing-function: ease-in-out;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
}
@-webkit-keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 80px, 0);
		transform: translate3d(0, 80px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		-webkit-transform: translate3d(0, 80px, 0);
		transform: translate3d(0, 80px, 0);
	}
	to {
		opacity: 1;
		-webkit-transform: none;
		transform: none;
	}
}

/* --------------------------------------------------------- 要素を上下に動かす -- */
@keyframes vertical {
    0% { transform:translateY(  0px); }
   50% { transform:translateY(  -10px); }
  100% { transform:translateY(  0px); }
}

/*------------ 要素を常に回転させる --------------*/
@keyframes rotate {
	100% { transform: rotate(360deg); }
}

/*------------ 要素をふわっと表示する --------------*/
@-webkit-keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown {
 0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}


#wrapper .last {
	margin: 0;
}
.fl_l {
	float: left;
	margin: 0 20px 20px 0;
}
.fl_r {
	float: right;
}
.txt_l{
	text-align:left;
}
.txt_c{
	text-align:center;
}
.txt_r{
	text-align:right;
}
.col2{
	width:50%;
}
.yellow {
	color: #d0830b;
}
.green {
	color: #05722c;
}
.red {
	color: #c40404;
}
.hilight {
	color: #ff4b13;
	text-decoration: underline;
}
h1, h2, h3, h4 {
	font-weight: bold;
}

@media screen and (min-width: 769px) {
/*------------ common_structure --------------*/

	.tit_main {
		bottom: -105px;
		font-size: 28px;
		left: 0;
		padding-bottom: 25px;
		position: absolute;
		right: 0;
		text-align: center;
		z-index: 100;
		color:#151515;
	}
	.tit_main::before {
		background: #ddd none repeat scroll 0 0;
		bottom: 0;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		width: 57px;
	}
	.tit_sub {
		color: #151515;
		font-size: 23px;
		margin-bottom: 25px;
		padding-bottom: 20px;
		text-align: center;
		position: relative;
		line-height: 1.7;
	}
	.tit_sub::before {
		background: #151515 none repeat scroll 0 0;
		bottom: 0;
		content: "";
		display: block;
		height: 1px;
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		width: 30px;
	}
	.case .tit_sub::before {
		right: auto;
	}
	.tit_sec{
		font-size:25px;
		text-align:center;
		margin-bottom:45px;
		color:#151515;
		line-height: 1.5;
	}

	.btn_black {
		background: #fff url("../images/common/ico_arrow_01.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		border: 1px solid #333;
		display: inline-block;
		font-weight: bold;
		padding: 13px 60px;
		box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
	}
	.btn_black:hover {
		color: #fff;
		background: #333 url("../images/common/ico_arrow_02.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		transition: 0.3s ease-in-out;
	}
	.btn_black a {text-decoration: none;}
	.btn_blue{
		background: #2f3749 url("../images/common/ico_arrow_02.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		border: 1px solid #2f3749;
		display: inline-block;
		font-weight: bold;
		color:#fff;
		padding: 13px 60px;
		box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
	}
	.btn_blue:hover {
		color: #fff;
		background: #333 url("../images/common/ico_arrow_02.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		transition: 0.3s ease-in-out;
	}
	.btn_blue a {text-decoration: none;}


	section{
		margin-bottom:60px;
	}
	.case {
		margin: 0px auto;
	}
	.sp {
		display: none !important;
	}
	.drawer-hamburger{
		display: none !important;
	}
	.fixed #pc_nav2{
		z-index:999999;
		display:block;
		position:fixed;
		width:100%;
		top:0;
		border-top: 1px solid #eee;
		background-color:rgba(255, 255, 255, 0.95);
		box-shadow: 0 0 3px #ccc;
	}


	/*フロートバナー全般*/
	#fix_h_btn_01, #fix_h_btn_02 {
		background: #aaa none repeat scroll 0 0;
		color: #fff;
		display: none;
		font-size: 13px;
		font-weight: bold;
		height: 110px;
		padding-top: 67px;
		text-align: center;
		width: 110px;
		z-index: 999999;
		border-radius: 10px;
		line-height:1.3;
	}


	/*フロートバナー１*/
	#fix_h_btn_01 {
		background: #578e43;
		position: fixed;
		right: 10px;
		top: 80px; /*表示位置指定*/
		z-index: 999999;
	}
	#fix_h_btn_01_img {
		background: url("../images/common/ico_consultation_02.png") no-repeat;
		position: absolute;
		left:40px;
		top: 28px;
		width: 38px;
		height: 35px;
		background-size:38px;
	}


	/*フロートバナー２*/
	#fix_h_btn_02 {
		background: #28507e ;
		position: fixed;
		right: 10px;
		top: 210px; /*表示位置指定*/
		z-index: 999999;
	}
	#fix_h_btn_02_img {
		background: url("../images/common/ico_document_02.png") no-repeat;
		position: absolute;
		left:40px;
		top: 28px;
		width: 30px;
		height: 30px;
		background-size:30px;
	}
	#fix_h_btn_01  img,
	#fix_h_btn_02  img  {
		height: auto;
		width: 110px;
		box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
	}
	.fixed a#fix_h_btn_02:hover,
	.fixed a#fix_h_btn_01:hover{
		animation: vertical 1.4s ease-in-out infinite alternate;
		opacity:0.9;
	}


	.fixed #h_gaiyou {
		top: 18px;
	}
	.fixed #h_gaiyou2 {
		top: 18px;
	}
	.fixed #h_btn_01 {
		top: 4px;
	}
	.fixed #h_btn_02 {
		top: 4px;
	}

}



/*セミナー告知用フロートバナー*/
div.floatBNR {
position: fixed;
bottom:0;
right:0;
text-align: right;
z-index: 100;
/*width: 100%;*/
}




/*------------ base section --------------*/
.clear{
	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=30)";
	filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=30);
	opacity: 0.25;
}
#cv_btn{
	display:none;
}
#wrapper {
	min-width: 1200px;
	overflow: hidden;
	background: #FFF;
}
#main_visual_wrap, .container {
	width: 96%;
	margin: 0 auto;
	overflow: hidden;
}
.section{
	margin-bottom:60px;
}
.section p {
	margin-bottom: 20px;
}
.more{
	text-align:center;
}
.more img{
	width:190px;
	display:block;
	margin:0px auto;
}


/*------------ contact_box --------------*/
.contact_box .container{
	width:640px;
	padding-bottom:50px;
	display:none;
}
.contact_box a{
	width:50%;
	float:left;
	display:block;
	text-align:center;
}
.contact_box a img{
	width:280px;
}

/*------------ f_info --------------*/
#f_info{
	margin-top:60px;
	margin-bottom:20px;
	text-align:center;
}
#f_info .container *:last-child{
	margin-bottom:0;
}
#f_info .container p{
	font-size:70%;
	color:#999;
	padding:10px;
}

/*------------ sns_box --------------*/
ul#sns_box {
	margin-bottom: 15px;
	text-align: center;
}
ul#sns_box li {
	display: inline-block;
	width: 40px;
	margin:0 5px;
}

ul#housematch_box {
	margin-bottom: 40px;
	text-align: center;
}
ul#housematch_box li {
	display: inline-block;
	width: 468px;
	margin:0 5px;
}


/* -------------------------------------------------------------- #headBnr -- */
#headBnr {
	font-size: 18px;
	background-color: rgb(179,232,227);
}
#headBnr > div {
	font-size: inherit;
}
#headBnr > div a {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	padding: 1em 0;
	font-size: 18px;
	gap: 1em;
}
#headBnr > div a img {
	font-size: inherit;
	width: auto;
}
#headBnr > div a img.headBnr-txt01 {
	height: 1em;
	margin-left: auto;
}
#headBnr > div a img.headBnr-txt02 {
	height: 1.75em;
}
#headBnr > div a img.headBnr-btn {
	height: 1.9em;
	margin-left: auto;
}
@media screen and ( max-width:959px ) {
	#headBnr {
		margin-top: 3.9em;
	}
	#headBnr > div a {
		gap: 0.5em;
		flex-direction: column;
		flex-wrap: wrap;
	}
	#headBnr > div a img.headBnr-txt01,
	#headBnr > div a img.headBnr-btn {
		margin-left: unset;
	}
	#headBnr > div a img.headBnr-txt02 {
		height: 1.45em;
	}
}
@media screen and ( max-width:599px) {
	#headBnr {
		margin-top: 3.3em;
	}
	#headBnr > div a {
		font-size: 12px;
	}
}


/* ---------------------------------------------------------------- header -- */
.header-nav {
	position: relative;
}
.header-nav .header-menu {
	transition-timing-function: unset!important;
	transform: initial!important;
	transition-duration: unset!important;
	padding-left: 1rem;
	padding-right: 1rem;
}
.header-nav .header-menu .header-menuIn:not(:last-of-type) {
	padding-top: 15px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
}
.header-nav .logoArea {
	max-width: 1200px;
	min-width: 960px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}
.header-nav .logoArea h1 {
	width: 333px;
}
.header-nav .logoArea h1 a {
	display: block;
}
.header-nav .logoArea ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
}
.header-nav .logoArea ul li.nav-tel {
	display: none;
}
.header-nav .logoArea ul li a {
	font-size: 12px;
	padding: 0.75em 1em;
	background-color: #578e43;
	border: 1px solid #578e43;
	color: #fff;
	border-radius: 0.5em;
	text-decoration: none;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: opacity 0.2s linear;
}
.header-nav .logoArea ul li a:hover {
	opacity: 0.7;
}
.header-nav .logoArea ul li.nav-inq a {
	color: #5a5a5a;
	background-color: #FFFFFF;
	border: 1px solid #bfbfbf;
}
.header-nav .logoArea ul li.nav-gui a {
	background-color: #28507e;
	border: 1px solid #28507e;
}
.header-nav .logoArea ul li.nav-own a {
	background-color: #7e2828;
	border: 1px solid #7e2828;
}
.header-nav .logoArea ul li.nav-tel a {
	background-color: #cc6633;
	border: 1px solid #cc6633;
}
.header-nav .logoArea ul li.nav-ham {
	display: none;
}

.header-nav .logoArea ul li a i {
	height: 2em;
	width: 2em;
	margin-right: 0.5em;
	background-position: center;
	background-repeat: no-repeat;
}
.header-nav .logoArea ul li.nav-inq a i { background-image: url("../images/common/ico-inq-c.svg"); }
.header-nav .logoArea ul li.nav-sou a i { background-image: url("../images/common/ico-sou-w.svg"); }
.header-nav .logoArea ul li.nav-gui a i { background-image: url("../images/common/ico-gui-w.svg"); }
.header-nav .logoArea ul li.nav-own a i { background-image: url("../images/common/ico-own-w.svg"); }
.header-nav .logoArea ul li.nav-tel a i { background-image: url("../images/common/ico-tel-w.svg"); }

.header-nav .logoArea ul li a i img {
	height: 100%;
	width: auto;
}

.header-nav .mainMenu {
	max-width: 1200px;
	min-width: 960px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}
.header-nav .mainMenu ul {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
}
.header-nav .mainMenu > ul li {
	position: relative;
}
.header-nav .mainMenu > ul > li > a {
	padding: 12px 22px 10px;
	position: relative;
	text-decoration: none;
	display: inline-block;
	font-size: 0.85em;
	transition: opacity 0.2s linear;
}
.header-nav .mainMenu > ul > li > a::after {
	content: "";
	background: #2f3749;
	width: 0;
	height: 2px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	opacity: 0;
	transition: opacity 0.2s linear, width 0.2s linear;
	margin: auto;
}
.header-nav .mainMenu ul > li > a:hover:after {
	opacity: 1;
	width: 3em;
}
.header-nav .mainMenu ul li.accMenu > ul {
	display: flex;
	position: absolute;
	top: calc(100% - 2px);
	width: calc(100% + 4em);
	flex-direction: column;
	z-index: 10;
	background: #FFF;
	border: 3px solid #2f3749;
	opacity: 0;
	transition: opacity 0.2s linear;
	visibility: hidden;
}
.header-nav .mainMenu ul li.accMenu > ul.last {
	right: 10px;
}
.header-nav .mainMenu ul li.accMenu:hover > ul {
	opacity: 1;
	visibility: visible;
}
.header-nav .mainMenu ul li.accMenu > ul li {
	width: 100%;
}
header .header-nav .mainMenu ul li.accMenu > ul li:first-of-type {
	display: none;
}
.header-nav .mainMenu ul li.accMenu > ul li:not(:last-of-type) {
	border-bottom: #2f3749 1px solid;
}
.header-nav .mainMenu ul li.accMenu > ul li a {
	display: block;
	font-size: 0.8em;
	padding: 1em 1em 1em 2.5em;
	text-decoration: none;
	transition: background-color 0.2s linear;
}
.header-nav .mainMenu ul li.accMenu > ul li a::before {
	content: "";
	border: 2px solid #2f3749;
	width:  0.4em;
	height: 0.4em;
	transform: rotate(45deg);
	z-index: 1;
	border-left: none;
	border-bottom: none;
	display: inline-block;
	position: absolute;
	top: 0;
	bottom: 0;
	margin: auto;
	left: 1.05em;
	transition: border 0.2s linear;
	transition: all 0.2s linear;
}
.header-nav .mainMenu ul li.accMenu > ul li a:hover {
	background-color: #2f3749;
	color: #FFFFFF;
}
.header-nav .mainMenu ul li.accMenu > ul li a:hover::before {
	border: 2px solid #FFFFFF;
	border-left: none;
	border-bottom: none;
	transform: rotate(45deg) translateX(2px) translateY(-2px);
}



/* ------------------------------------------------------------ .clone-nav -- */
.clone-nav .header-nav .header-menu .header-menuIn:first-of-type {
	display: none;
}
.clone-nav {
	position: fixed;
	top: 0;
	z-index: 1000000000;
	left: 0;
	right: 0;
	margin: auto;
	background: rgba(255, 255, 255, 0.7);
	transform: translateY(-111%);
	border-bottom: 1px solid rgba(47, 55, 73, 0.3);
	box-shadow: 0 0 20px -11px #000;
	transition: box-shadow 0.2s linear, background 0.2s linear, border-bottom 0.2s linear, transform 0.2s linear;
}
.clone-nav:hover {
	background: rgba(255, 255, 255, 1);
	border-bottom: 1px solid rgba(47, 55, 73, 1);
	box-shadow: 0 0 30px -11px #000;
}
.fixed .clone-nav {
	transform: translateY(0);
}


@media screen and ( max-width:959px ) {
/* ======================================= VIEWPORT Tablet 959px START!!!!! = */
	header {
		position: fixed;
		top: 0;
		z-index: 1000;
		left: 0;
		right: 0;
		margin: auto;
		background: rgba(255, 255, 255, 1);
		border-bottom: 1px solid rgba(47, 55, 73, 0.3);
		box-shadow: 0 0 20px -11px #000;
		transition: transform 0.2s linear;
	}
	.is-scroll header {
		transform: translateY(-100%);
	}
	.fixed header {
		transform: translateY(0%);
	}



	header .header-nav .header-menu .header-menuIn:last-of-type {
		display: none;
	}
	header .header-nav .logoArea ul li.nav-inq a ,
	header .header-nav .logoArea ul li.nav-sou a ,
	header .header-nav .logoArea ul li.nav-gui a ,
	header .header-nav .logoArea ul li.nav-own a ,
	header .header-nav .logoArea ul li.nav-tel a {
		background: transparent;
		color: #578e43;
		border: none;
		flex-direction: column;
		font-size: 10px;
		text-align: center;
		padding: 0;
		line-height: 1.2;
	}
	header .header-nav .logoArea ul li.nav-gui a { color: #2f3749; }
	header .header-nav .logoArea ul li.nav-own a { color: #7e2828; }
	.header-nav .logoArea ul li.nav-inq a i { background-image: url("../images/common/ico-inq-c.svg"); }
	.header-nav .logoArea ul li.nav-sou a i { background-image: url("../images/common/ico-sou-c.svg"); }
	.header-nav .logoArea ul li.nav-gui a i { background-image: url("../images/common/ico-gui-c.svg"); }
	.header-nav .logoArea ul li.nav-own a i { background-image: url("../images/common/ico-own-c.svg"); }
	.header-nav .logoArea ul li.nav-tel a i { background-image: url("../images/common/ico-tel-c.svg"); }

	header .header-nav .logoArea ul {
		gap: 16px;
	}
	.header-nav .logoArea ul li a i {
		height: 2em;
		width:  2em;
		margin-right: 0;
		margin-bottom: 0.5em;
	}

	.header-nav .logoArea {
		max-width: 100%;
		min-width: 100%;
	}
	.header-nav .header-menu .header-menuIn {
		padding-left:  15px;
		padding-right: 15px;
	}
	.header-nav .logoArea ul li.nav-inq {
		display: none;
	}
	.header-nav .logoArea ul li.nav-ham {
		display: flex;
	}

	.header-hamburger {
		border: none;
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		outline: none;
		background: transparent;
		padding: 0;
		font-size: 10px;
	}
	.header-hamburger .header-hamburger-icon {
		height: 2em;
		width: 2.6em;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: column;
		margin-bottom: 0.5em;
	}
	.header-hamburger .header-hamburger-icon i {
		width: 100%;
		height: 3px;
		background: #2f3749;
		border-radius: 0.25rem;
		position: relative;
		display: block;
	}
	.header-hamburger .header-hamburger-icon i::before,
	.header-hamburger .header-hamburger-icon i::after {
		content: "";
		width: 100%;
		height: 3px;
		background: #2f3749;
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		right: 0;
		transform: translateY(-0.6rem);
		border-radius: 2rem;
	}
	.header-hamburger .header-hamburger-icon i::after {
		transform: translateY(0.6rem);
	}
	.header-hamburger p {
		line-height: 1.2;
		color: #2f3749;
		font-size: 10px;
	}
	.menuOpen .clone-nav .header-hamburger .header-hamburger-icon i {
		background: transparent;
	}
	.menuOpen .clone-nav .header-hamburger .header-hamburger-icon i::before {
		transform: rotate(30deg);
	}
	.menuOpen .clone-nav .header-hamburger .header-hamburger-icon i::after {
		transform: rotate(-30deg);
	}
	
	.clone-nav {
		transform: translateY(-111%);
		bottom: 0;
		display: block;
		position: fixed;
		background-color: #FFFFFF;
		transition: transform cubic-bezier(0.6, 0, 0.4, 1) 0.4s;
		overflow: scroll;
		height: 100%;
		padding-bottom: 20px;
	}
	.fixed .clone-nav {
		transform: translateY(-111%);
	}
	.menuOpen .clone-nav,
	.menuOpen.fixed .clone-nav {
		transform: translateY(0);
	}
	/* html{
		height: -webkit-fill-available;
	} */
	.menuOpen {
		min-height: 100vh;
		min-height: -webkit-fill-available;
	}

	.clone-nav .header-nav .header-menu .header-menuIn:first-of-type {
		display: block;
	}
	.clone-nav .header-nav .header-menu .header-menuIn:not(:last-of-type) {
		padding-bottom: 30px;
	}
	.clone-nav .header-nav .logoArea {
		flex-direction: column;
		justify-content: flex-start;
		align-items: flex-start;
		gap: 20px;
	}
	.clone-nav .header-nav .logoArea h1 {
		width: auto;
		height: 50px;
		display: flex;
		align-items: center;
		max-width: 80%;
	}
	.clone-nav .header-nav .logoArea h1 a {
		display: block;
	}
	.clone-nav .header-nav .logoArea ul {
		width: 100%;
		flex-wrap: wrap;
		gap: 5px;
	}
	.clone-nav .header-nav .logoArea ul li.nav-tel {
		display: block;
	}
	.clone-nav .header-nav .logoArea ul li {
		width: 40%;
		flex-grow: 1;
	}
	.clone-nav .header-nav .logoArea ul li a i {
		height: 2.4em;
		width: 2.4em;
		margin-right: 0.5em;
		margin-bottom: 0;
	}
	.clone-nav .header-nav .logoArea ul li a .pc {
		display: inline!important;
	}
	.clone-nav .header-nav .logoArea ul li a .sp {
		display: none!important;
	}
	.clone-nav .header-nav .logoArea ul li.nav-inq a i { background-image: url("../images/common/ico-inq-w.svg"); }
	.clone-nav .header-nav .logoArea ul li.nav-sou a i { background-image: url("../images/common/ico-sou-w.svg"); }
	.clone-nav .header-nav .logoArea ul li.nav-gui a i { background-image: url("../images/common/ico-gui-w.svg"); }
	.clone-nav .header-nav .logoArea ul li.nav-own a i { background-image: url("../images/common/ico-own-w.svg"); }
	.clone-nav .header-nav .logoArea ul li.nav-tel a i { background-image: url("../images/common/ico-tel-w.svg"); }
	.clone-nav .header-nav .logoArea ul li.nav-ham {
		display: flex;
		position: absolute;
		top: 15px;
		right: 15px;
		width: auto;
	}


	.clone-nav .header-nav .mainMenu {
		max-width: 100%;
		min-width: 100%;
	}
	.clone-nav .header-nav .mainMenu ul {
		flex-direction: column;
		align-items: flex-start;
	}
	.clone-nav .header-nav .mainMenu ul li ,
	.clone-nav .header-nav .mainMenu ul li a {
		width: 100%;
	}
	.clone-nav .header-nav .mainMenu > ul > li:not(:last-of-type) {
		border-bottom: 1px solid #eee;
	}
	.clone-nav .header-nav .mainMenu > ul > li > a {
		font-size: 14px;
	}

	.clone-nav .header-nav .mainMenu > ul > li.accMenu {
		font-size: 14px;
	}
	.clone-nav .header-nav .mainMenu > ul > li.accMenu > a {
		pointer-events: none;
	}
	.clone-nav .header-nav .mainMenu > ul > li.accMenu > a::before,
	.clone-nav .header-nav .mainMenu > ul > li.accMenu > a::after {
		content: "";
		width: 1.5em;
		height: 3px;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		z-index: 1;
		background: #2f3749;
		right: 1em;
		left: auto;
		border-radius: 2px;
		transform: rotate(0);
		opacity: 1;
		transition: transform 0.2s linear, opacity 0.2s linear;
	}
	.clone-nav .header-nav .mainMenu > ul > li.accMenu > a::after {
		transform: rotate(90deg);
	}
	.clone-nav .header-nav .mainMenu > ul > li.accMenu.active > a::after {
		opacity: 0;
		transform: rotate(360deg);
	}

	.clone-nav .header-nav .mainMenu > ul > li.otherMenu ul {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 5px;
		margin-top: 25px;
	}
	.clone-nav .header-nav .mainMenu > ul > li.otherMenu ul li {
		width: 40%;
		flex-grow: 1;
	}
	.clone-nav .header-nav .mainMenu > ul > li.otherMenu ul li a {
		padding: 12px 12px 12px 42px;
		position: relative;
		text-decoration: none;
		display: inline-block;
		transition: opacity 0.2s linear;
		border: 1px solid #EEEEEE;
		border-radius: 0.25em;
	}
	.clone-nav .header-nav .mainMenu > ul > li.otherMenu ul li a::before {
		content: "";
		border: 2px solid #EEEEEE;
		width: 0.4em;
		height: 0.4em;
		transform: rotate(45deg);
		z-index: 1;
		border-left: none;
		border-bottom: none;
		display: inline-block;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		left: 2.05em;
	}

	.clone-nav .header-nav .mainMenu > ul > li.accMenu > ul {
		position: relative;
		top: 0;
		width: 100%;
		display: flex;
		flex-direction: column;
		border: none;
		opacity: 1;
		visibility: visible;
		display: none;
	}
	.clone-nav .header-nav .mainMenu > ul > li.accMenu > ul li {
		background-color: #f8f8f8;
	}
	.clone-nav .header-nav .mainMenu > ul > li.accMenu > ul li:not(:last-of-type) {
		border-bottom: 1px solid #FFFFFF;
	}

	.clone-nav .header-nav .mainMenu > ul > li.accMenu > ul li a {
		padding: 1em 1em 1em 4.5em;
	}
	.clone-nav .header-nav .mainMenu > ul > li.accMenu > ul li a::before {
		left: 2.55em;
	}
/* ========================================= VIEWPORT Tablet 959px END!!!!! = */
}

@media screen and ( max-width:599px) {
/* =================================== VIEWPORT SmartPhone 599px START!!!!! = */
	.header-nav .logoArea h1 {
		width: 180px;
		display: flex;
	}

	.header-nav .logoArea h1 a {
		display: flex;
	}
	header .header-nav .logoArea ul {
		gap: 12px;
	}
	.header-nav .header-menu .header-menuIn:not(:last-of-type) {
		padding: 10px;
	}
	header .header-nav .logoArea ul li.nav-sou {
		display: none;
	}
/* ===================================== VIEWPORT SmartPhone 599px END!!!!! = */
}


/* ---------------------------------------------------------------- footer -- */
footer ul ,
footer ul li {
	font-size: inherit;
	line-height: inherit;
}
footer a {
	text-decoration: none;
	transition: opacity 0.2s linear;
}
footer a:hover {
	opacity: 0.7;
}
.footerIn {
	max-width: 1200px;
	min-width: 960px;
	margin: auto;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: nowrap;
}

.footerRow.bnrArea {
	background: #00c402;
}
.footerRow.bnrArea a {
	display: flex;
}

.footerRow.footMenuArea {
	padding: 40px 0;
}
.footerMenu {
	width: 100%;
	display: flex;
	flex-direction: row;
	flex-wrap: nowrap;
	justify-content: space-between;
}
.footerMenu > dl {
	width: calc(30% - 10px);
}
.footerMenu > dl dt {
	margin-bottom: 0.75rem;
}
.footerMenu > dl dd.compInfo {
	margin-bottom: 0.75rem;
}
.footerMenu > dl dd.compInfo div:not(:last-of-type) {
	margin-bottom: 0.25rem;
}
.footerMenu > dl dd.compInfo div p {
	font-size: 13px;
	line-height: 1.4;
}
.footerMenu > dl dd.compInfo div p strong {
	margin-right: 0.5em;
}

.footerMenu > dl .snsArea {
	display: flex;
	flex-direction: row;
	gap: 0.15em;
	font-size: 36px;
}
.footerMenu > dl .snsArea p {
	font-size: inherit;
}
.footerMenu > dl .snsArea p a {
	font-size: inherit;
	width: 1em;
	height: 1em;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 100rem;
	transition: opacity 0.2s linear;
}
.footerMenu > dl .snsArea p.youtube a  { background-color: #ff0000; }
.footerMenu > dl .snsArea p.twitter a  { background-color: #000000; }
.footerMenu > dl .snsArea p.facebook a { background-color: #2374e1; }

.footerMenu > dl .snsArea p a img {
	width: 26px;
	height: auto;
}

.footerMenu > ul {
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
	height: 13em;
	font-size: 14px;
	line-height: 1.4;
	width: 50em;
}
.footerMenu > ul > li a {
	display: block;
	padding-left: 1em;
	text-decoration: none;
	position: relative;
	font-size: inherit;
}
.footerMenu > ul > li a::before {
	content: "";
	border: 2px solid #2f3749;
	border-left: none;
	border-bottom: none;
	width: 0.3em;
	height: 0.3em;
	transform: rotate(45deg);
	z-index: 1;
	display: inline-block;
	position: absolute;
	top: -0.25em;
	bottom: 0;
	margin: auto;
	left: 0;
	transition: left 0.2s linear;
}
.footerMenu > ul > li a:hover:before {
	left: 0.1em;
}
.footerMenu > ul > li > ul {
	padding-left: 1em;
}
.footerMenu > ul > li > ul > li > a {
	padding-left: 1em;
}
.footerMenu > ul > li.accMenu > ul {
	margin-top: 0.4em;
}
.footerMenu > ul > li.accMenu > ul > li:first-of-type {
	display: none;
}
.footerMenu > ul > li.accMenu > ul > li:not(:last-of-type),
.footerMenu > ul > li.otherMenu > ul > li:not(:last-of-type) {
	margin-bottom: 0.25em;
}
.footerMenu > ul > li > ul > li > a::before {
	border: 1px solid #7a7a7a;
	border-left: none;
	border-bottom: none;
}

.footerMenu > ul > li > ul > li {
	font-size: 12px;
}


.footerRow.footcopyArea {
	background: #2f3749;
	padding: 2em 0;
	font-size: 10px;
}
.footerRow.footcopyArea .footerIn {
	justify-content: center;
}
.footerRow.footcopyArea .footerIn p {
	font-size: inherit;
	line-height: 1.2;
	color: #f5f5f5;
}

@media screen and ( max-width:959px ) {
/* ======================================= VIEWPORT Tablet 959px START!!!!! = */
	.footerIn {
		max-width: 100%;
		min-width: 100%;
	}
	.footerRow.footMenuArea {
		padding: 0;
	}
	.footerRow .footerIn {
		padding: 0;
	}


	.footerRow .footerIn .footerMenu {
		flex-direction: column-reverse;
	}
	.footerRow .footerIn .footerMenu > ul {
		height: auto;
		width: 100%;
	}

	.footerMenu > ul > li:not(:last-of-type) {
		border-bottom: 1px solid #eee;
	}
	.footerMenu > ul > li a {
		padding: 12px 0px 12px 22px;
	}

	.footerMenu > ul > li.accMenu > a {
		pointer-events: none;
	}
	.footerMenu > ul > li.accMenu > a::before,
	.footerMenu > ul > li.accMenu > a::after {
		content: "";
		width: 1em;
		height: 3px;
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		z-index: 1;
		background: #2f3749;
		right: 1.3em;
		transform: rotate(0);
		transition: transform 0.2s linear, opacity 0.2s linear;
		border: none;
		border-radius: 30rem;
	}

	.footerMenu > ul > li.accMenu > a::after {
		transform: rotate(90deg);
	}
	.footerMenu > ul > li.accMenu.active > a::after {
		opacity: 0;
		transform: rotate(360deg);
	}


	.footerMenu > ul > li.accMenu > ul {
		display: none;
		padding-left: 0;
		margin-top: 0;
	}
	.footerMenu > ul > li.accMenu > ul li {
		background-color: #f8f8f8;
	}
	.footerMenu > ul > li.accMenu > ul> li > a {
		padding-left: 24px;
	}
	.footerMenu > ul > li.accMenu > ul li:not(:last-of-type) {
		border-bottom: 1px solid #FFFFFF;
	}

	.footerMenu > ul > li.accMenu > ul > li:not(:last-of-type),
	.footerMenu > ul > li.otherMenu > ul > li:not(:last-of-type) {
		margin-bottom: 0;
	}

	.footerMenu > ul > li a::before {
		left: auto!important;
		right: 24px;
	}


	.footerMenu > dl {
		width: 100%;
		padding: 40px 15px;
		display: flex;
		flex-direction: column;
		border-top: 1px solid #f5f5f5;
		background: #f5f5f5;
	}
	.footerMenu > dl dt {
		max-width: 20rem;
		margin: 0 auto 1.75rem;
		order: 1;
	}
	.footerMenu > dl dd.snsArea {
		order: 2;
		justify-content: center;
	}
	.footerMenu > dl dd.compInfo {
		order: 3;
		margin-bottom: 0;
		margin-top: 1.75rem;
	}
	.footerMenu > dl dd.compInfo div p {
		text-align: center;
	}

	.footerRow.footcopyArea {
		padding: 1em 0;
	}
/* ========================================= VIEWPORT Tablet 959px END!!!!! = */
}

@media screen and (max-width: 768px) {
	/*------------ common_structure --------------*/
	.tit_main {
		background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
		bottom: -78px;
		color: #fff;
		font-size: 18px;
		font-weight: bold;
		left: 0;
		padding-bottom: 0;
		position: static;
		right: 0;
		text-align: center;
		z-index: 100;
	}
	.tit_main::before {
		display: none;
	}
	.tit_sub::before {
		right: auto;
	}
	.tit_sec{
		font-size:175%;
		text-align:center;
		margin-bottom:30px;
		font-weight:bold;
	}

	.btn_black {
		background: #fff url("../images/common/ico_arrow_01.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		border: 1px solid #333;
		display: inline-block;
		font-weight: bold;
		padding: 13px 22vw;
		box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
	}
		.btn_black a {text-decoration: none;}
	.btn_black:hover {
		color: #fff;
		background: #333 url("../images/common/ico_arrow_02.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		transition: 0.3s ease-in-out;
	}
	.btn_blue{
		background: #2f3749 url("../images/common/ico_arrow_02.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		border: 1px solid #2f3749;
		display: inline-block;
		font-weight: bold;
		color:#fff;
		padding: 13px 22vw;
		box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.2);
	}
	.btn_blue:hover {
		color: #fff;
		background: #333 url("../images/common/ico_arrow_02.png") no-repeat scroll right 10px center;
		background-size:6px auto;
		transition: 0.3s ease-in-out;
	}
	section{
		margin-bottom:60px;
	}
	.case {
		margin: 0px auto;
	}
	.pc {
		display: none!important;
	}
	#wrapper{
		min-width:100%;
	}
	#cv_btn{
		display:block;
		background-color:rgba(255, 255, 255, 0.95);
		overflow:hidden;
		z-index:9999;
		position:fixed;
		bottom:0;
		left:0;
		width:100%;
	}
	#cv_btn a{
		width:33.33333%;
		box-sizing:border-box;
		display:block;
		text-align:center;
		/*padding:12px 20px;*/
		float:left;
	}
	h1, h2, h3, h4, h5, h6, body, html, p, li, dt, dd, pre, form, fieldset {
		font-weight: normal;
		margin: 0px;
		padding: 0px;
		color: #333;
		font-style: normal;
		font-size: 12px;
		line-height: 1.6;
	}
	.section {
			margin-bottom: 40px;
	}
	.container {
		width: 94%;
		margin: 0 auto;
		overflow: hidden;
	}
	img {
		width: 100%;
		max-width: 100%;
	}
	.case {
		width: 100%;
	}
	.tit_icon {
		width: 100%;
		/* background: url(../images/line_01.png) no-repeat bottom center; */
		height: 50px;
		font-size: 15px;
	}
	.tit_icon span {
		padding-left: 50px;
		background-size: 40px;
		height: 40px;
		line-height: 40px;
		font-weight: bold;
	}
	.tit_sub {
		margin-bottom: 15px;
	}
	.more img{
		width:120px;
	}

	/*------------ mobile-header --------------*/
	#h_box .case:nth-of-type(2) {
		float: none;
		font-size: 0;
		padding: 0;
		text-align: right;
		width: calc(50% - 38px);
	}
	#h_box .case:nth-of-type(2) a {
		font-size: 9px;
		margin: 0;
		padding:35px 0 7px;
		text-align: center;
		width:15vw;
		font-family: "ヒラギノUD角ゴ W5 JIS2004","游ゴシック","Yu Gothic","游ゴシック体","YuGothic",Avenir,"Helvetica Neue",Helvetica,Arial,Verdana,Roboto,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","Meiryo UI","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic",sans-serif;
	}
	#h_box .case:nth-of-type(2) a#h_btn_01 {
		background: #fff;
		border: none;
		color: #578e43;
	}
	#sp_btn_01_img {
		background: url("../images/common/ico_consultation.png") no-repeat;
		position: absolute;
		left:0;
		right:0;
		margin:auto;
		top: 12px;
		width: 25px;
		height: 23px;
		background-size:25px;
	}
	#h_box .case:nth-of-type(2) a#h_btn_02 {
		background: #fff;
		border: none;
		color: #28507e;
	}
	#sp_btn_02_img {
		background: url("../images/common/ico_document.png") no-repeat;
		position: absolute;
		left:0;
		right:0;
		margin:auto;
		top: 13px;
		width: 20px;
		height: 20px;
		background-size:20px;
	}


	/*------------ contact_box --------------*/
	.contact_box .container{
		width:100%;
	}
	.contact_box a{
		width:50%;
		float:left;
		display:block;
		text-align:center;
	}
	.contact_box a img{
		width:90%;
	}

	/*------------ Footer --------------*/
	#cpright {
		bottom: 0;
		position: fixed;
		right: 0%;
		width: 100%;
	}
	#cpright a {
		width: 50%;
		margin:0;
	}
	.accordion_icon,
	.accordion_icon span {
		display: inline-block;
		transition: all .4s;
		box-sizing: border-box;
	}
	.accordion_icon {
		position: relative;
		width: 30px;
		height: 30px;
		bottom:5px;
		float: right;
		margin-right: 10px;
	}
	.accordion_icon span {
		position: absolute;
		left: 6px;
		width: 50%;
		height: 2px;
		background-color: #ddd;
		border-radius: 4px;
		-webkit-border-radius: 4px;
		-ms-border-radius: 4px;
		-moz-border-radius: 4px;
		-o-border-radius: 4px;
	}
	.accordion_icon span:nth-of-type(1) {
		bottom: 0;
		margin: auto;
		top: 0;
		transform: rotate(0deg);
		-webkit-transform: rotate(0deg);
		-moz-transform: rotate(0deg);
		-ms-transform: rotate(0deg);
		-o-transform: rotate(0deg);
	}
	.accordion_icon span:nth-of-type(2) {
		bottom: 0;
		margin: auto;
		top: 0;
		transform: rotate(90deg);
		-webkit-transform: rotate(90deg);
		-moz-transform: rotate(90deg);
		-ms-transform: rotate(90deg);
		-o-transform: rotate(90deg);
	}

	/*＋、－切り替え*/
	.accordion_icon.active span:nth-of-type(1) {
		display:none;
	}
	.accordion_icon.active span:nth-of-type(2) {
		transform: rotate(180deg);
		-webkit-transform: rotate(180deg);
		-moz-transform: rotate(180deg);
		-ms-transform: rotate(180deg);
		-o-transform: rotate(180deg);
	}

	/*ACCORDION*/
	.accordion {
		width: 100%;
	}
	.accordion > ul > li > a {
		display: block;
		color: #fff;
		font-size: 16px;
		text-decoration: none;
		border-bottom: 1px solid #fff;
		cursor: pointer;
		padding: 10px 12px;
		position: relative;
	}
	.accordion > ul > li > a:after, .accordion > ul > li > a.active:after{
		font-size: 12px;
		position: absolute;
		right: 12px;
		top: 16px;
		color: #2f7f99;
	}
	.accordion > ul > li > ul {
		display: none;
	}
	.accordion > ul > li.col1 > ul {
		display: block;
	}
	.accordion > ul > li > ul > li > a{
		display: block;
		color: #333;
		font-size: 13px;
		padding: 6px 12px;
		position: relative;
	}
	.accordion2 {
		width: 100%;
	}
	.accordion2 > ul > li > a {
		display: block;
		color: #fff;
		font-size: 16px;
		text-decoration: none;
		border-bottom: 1px solid #fff;
		cursor: pointer;
		padding: 10px 12px;
		position: relative;
	}
	.accordion2 > ul > li > a:after, .accordion > ul > li > a.active:after{
		font-size: 12px;
		position: absolute;
		right: 12px;
		top: 16px;
		color: #2f7f99;
	}
	.accordion2 > ul > li > ul {
		display: none;
	}
	.accordion2 > ul > li.col1 > ul {
		display: block;
	}
	.accordion2 > ul > li > ul > li > a{
		display: block;
		color: #333;
		font-size: 13px;
		padding: 6px 12px;
		position: relative;
	}



	ul#housematch_box {
		margin-bottom: 40px;
		text-align: center;
	}
	ul#housematch_box li {
		display: inline-block;
		width: 90%;
		max-width:468px;
		margin:0 5px;
	}

	/*セミナー告知用フロートバナー*/
	div.floatBNR {
	position: fixed;
	bottom:0;
	right:0;
	text-align: center;
	}
	div.floatBNR img {max-height:75px; width:auto;}
}








/* ------------------------------------------------------------- new STYLE -- */
/* ------------------------------------------------------------------ size -- */
.w400 {
	width: 100%;
	max-width: 400px;
}
.mt-20px { margin-top: 20px; }

.fl-di-rev { flex-direction: row-reverse; }
.fl-ai-cen { align-items: center!important; }


.pT-1rem { padding-top: 1rem!important; }
.pB-1rem { padding-bottom: 1rem!important; }

.colWrapp strong { color: #c1380b;}


/* ----------------------------------------------------------- PARTS//.col -- */
.colWrapp {
	margin: 0;
	padding-top:    8rem;
	padding-bottom: 8rem;

	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	flex-direction: column;
	gap: 3rem;
	overflow: hidden;
}
.colWrapp:not(:last-of-type) {
	border-bottom: 1px solid #f2f2f2;
}
.colWrapp .col {
	width: 100%;
	min-width: 960px;
	max-width: 1200px;
	margin: auto;
	position: relative;
	z-index: 1;
	display: flex;
	align-items: stretch;
	justify-content: space-between;
	flex-wrap: wrap;
	padding-left: 2rem;
	padding-right: 2rem;
	gap: 1.5rem;
}
.colWrapp .col.fix {
	max-width: none;
	min-width: auto;
	padding: 0%;
}
.colWrapp .col .colIn {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	justify-content: center;
}
/* ---------------------------------------------------- PARTS//.col.single -- */
.colWrapp .col.single .colIn{
	width: 100%;
}
/* -------------------------------------------------------- PARTS//.col.Db -- */
.colWrapp .col.db .colIn {
	width: calc(100% / 2 - 0.9rem);
}
/* ------------------------------------------------------- PARTS//.col.Db2 -- */
.colWrapp .col.db2 .colIn:first-of-type{
	width: 20%;
}
.colWrapp .col.db2 .colIn:last-of-type{
	width: calc(80% - 1.5rem);
	max-width: 800px;
}
/* ------------------------------------------------------- PARTS//.col.Db2 -- */
.colWrapp .col.db3 .colIn:first-of-type{
	width: 40%;
}
.colWrapp .col.db3 .colIn:last-of-type{
	width: 50%;
	position: relative;
}


/* ------------------------------------------------------- PARTS//.col.Tri -- */
.colWrapp .col.tri .colIn {
	width: calc(100% / 3 - 1rem);
}
/* ------------------------------------------------------- PARTS//.col.Qua -- */
.colWrapp .col.qua .colIn{
	flex-grow: 0;
	width: calc(100% / 4 - 1.125rem);
}


/* --------------------------------------------------------------- fontSet -- */
.colWrapp h2 {
	font-family: var(--font-gosick-maru);
	font-size: 36px;
	color: #2f3749;
}
.colWrapp h2 .fontS {
	font-size: 0.6em;
}
.colWrapp h2:not(:last-child) {
	margin-bottom: 0.25em;
}
.colWrapp h3 {
	font-size: 24px;
	color: #2f3749;
}
.colWrapp h3:not(:last-child) {
	margin-bottom: 0.25em;
}
.colWrapp h6 {
	font-family: var(--font-Varela);
	opacity: 0.7;
}
.colWrapp p:not(:last-of-type) {
	padding-bottom: 0.5em;
}


/* ------------------------------------------------------------- Component -- */
.foVarela {
	font-family: var(--font-Varela)!important;
}

.borderLink {
	text-decoration: none;
	border: 1px solid var(--co-white);
	padding: 0.6em 3em;
	display: block;
	border-radius: 0.25em;
	transition: border 0.2s ease-in-out, background-color 0.2s ease-in-out;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5em;
}
.borderLink::after {
	content: "";
	width: 0.5em;
	height: 0.5em;
	border-right: 2px solid var(--co-white);
	border-top: 2px solid var(--co-white);
	position: relative;
	display: inline-block;
	transform: rotate(45deg);
}
a.borderLink ,
a.borderLink:link {
	color: var(--co-white);
}
.borderLink:hover {
	background-color: var(--co-main);
}

.borderLink.color {
	color: var(--co-main);
	border: 1px solid var(--co-main);
}
.borderLink.color::after {
	border-top: 2px solid var(--co-main);
	border-right: 2px solid var(--co-main);
}
a.borderLink.color:link {
	color: var(--co-main);
}
a.borderLink.color:hover {
	color: var(--co-white);
}
.borderLink.color:hover {
	background-color: var(--co-main);
}
.borderLink.color:hover::after {
	border-top: 2px solid var(--co-white);
	border-right: 2px solid var(--co-white);
}


.colWrapp .imgTxt {
	align-items: flex-start;
}

.colWrapp .col .colIn.imgTxt__txt {
	position: relative;
	z-index: 5;
	align-items: flex-start;
	justify-content: flex-start;
	background: var(--co-white);
	padding: 7% 5%;
}
.colWrapp .col .colIn.imgTxt__txt::before ,
.colWrapp .col .colIn.imgTxt__txt::after {
	content: "";
	position: absolute;
	background: var(--co-white);
}
.colWrapp .col .colIn.imgTxt__txt::before {
	height: 1px;
	width: 100%;
	right:  -40px;
	bottom: -5px;
}
.colWrapp .col .colIn.imgTxt__txt::after {
	height: 100%;
	width: 1px;
	right:  -5px;
	bottom: -40px;
}
.colWrapp .imgTxt__img figure {
	position: relative;
	z-index: 1;
	height: 0;
	padding-top: 100%;
	width: calc(140vw / 2);
	margin-left: -20vw;
}
.colWrapp .imgTxt__img figure img {
	position: absolute;
	top: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.colWrapp .imgTxt.rev {
	flex-direction: row-reverse;
}
.colWrapp .imgTxt.rev .colIn.imgTxt__txt::before {
	right: auto;
	left: -40px;
}
.colWrapp .imgTxt.rev .colIn.imgTxt__txt::after {
	right: auto;
	left: -5px;
}

.card {
	height: 100%;
}
.card a {
	display: flex;
	text-decoration: none;
	transition: box-shadow 0.2s ease-in-out;
	box-shadow: 0px 13px 20px -20px rgba(0, 0, 0, 0), 0px 12px 20px 0px rgba(0, 0, 0, 0.1);
	height: 100%;
	flex-direction: column;
	align-items: stretch;
	justify-content: stretch;
}
.card a:hover {
	box-shadow: 0px 13px 20px -20px #000, 0px 12px 20px 0px rgba(0, 0, 0, 0.1);
}
.card a .cardImg {
	overflow: hidden;
}
.card a .cardImg img {
	transition: transform 0.2s ease-in-out;
}
.card a:hover .cardImg img {
	transform: rotate(3deg) scale(1.1);
}
.card a .cardTxt {
	padding: 1.5rem 1rem;
	text-align: center;
	flex-grow: 1;
	height: 10%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
.card a .cardTxt h2 {
	font-size: 1.4em;
}

@keyframes typing{
	0% {
		width: 0%;
		opacity: 0;
	}
	30% {
		opacity: 1;
	}
	to {
		width: 100%;
		opacity: 1;
	}
}


.bgTxtAnim {
	position: relative;
	display: inline-block;
}
.bgTxtAnim span {
	color: transparent;
	position: relative;
	z-index: 1;
	background-image: linear-gradient(transparent 50%,#2f3749 50%);
	font-weight: 700;
	font-size: inherit;
	background-repeat: no-repeat;
	background-size: 0% 200%;
	background-position: 0% 100%;
}
.bgTxtAnim.is-anim span {
	animation: bgTxtAnim 2s ease-in-out forwards;
}
@keyframes bgTxtAnim {
	0% {
		color: transparent;
		background-size: 0% 200%;
		background-position: 0% 100%;
	}
	45% {
		color: transparent;
		background-size: 100% 200%;
		background-position: 0% 100%;
	}
	50% {
		color: #2f3749;
		background-size: 100% 200%;
		background-position: 100% 100%;
	}
	90% {
		color: #2f3749;
		background-size: 0% 200%;
		background-position: 200% 100%;
	}
	100% {
		color: #FFFFFF;
		background-size: 0% 200%;
		background-position: 200% 100%;
	}
}


.flexUL {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 0.5rem;
	width: 100%;
}
.flexUL.col2 li {
	width: 40%;
	flex-grow: 1;
}


.bgBack .colIn:first-of-type::before ,
.bgBack .colIn:last-of-type::before {
	z-index: -1;
	background: var(--co-glay-light) none repeat scroll 0 0;
	content: "";
	display: block;
	position: absolute;
	left: -10%;
}
.bgBack .colIn:first-of-type::before {
	height: 60%;
	bottom: -15%;
	width: 30%;
}
.bgBack .colIn:last-of-type::before {
	height: 80%;
	top: -10%;
	width: 120%;
}


.bgBack.fl-di-rev .colIn:first-of-type::before ,
.bgBack.fl-di-rev .colIn:last-of-type::before {
	right: -10%;
	left: auto;
}
.bgBack.fl-di-rev .colIn:first-of-type::before {
	top: -15%;
	width: 30%;
	bottom: auto;
}
.bgBack.fl-di-rev .colIn:last-of-type::before {
	bottom: -10%;
	top: auto;
}


/* ----------------------------------------------------------- #topMainImg -- */
.pageTop header {
	position: absolute;
	z-index: 9;
	width: 100%;
}
.pageTop header .header-nav .header-menu .header-menuIn:not(:last-of-type) {
	border-bottom: none;
}
.pageTop header .header-nav .mainMenu ul {
	justify-content: space-between;
}
.pageTop header .header-nav .mainMenu > ul > li > a {
	padding: 12px 0px 10px;
	color: #FFFFFF;
}

#topMainImg {
	border: 0;
	height: 95vh;
	position: relative;
	padding: 0;
	margin: 0;
	background-color: rgb(179,232,227);
	background-color: -moz-linear-gradient(-45deg,  rgba(179,232,227,1) 0%, rgba(129,216,208,1) 100%);
	background-color: -webkit-linear-gradient(-45deg,  rgba(179,232,227,1) 0%,rgba(129,216,208,1) 100%);
	background-color: linear-gradient(135deg,  rgba(179,232,227,1) 0%,rgba(129,216,208,1) 100%);
	background-image: url('../images/index/bg_logo.svg');
	background-repeat: no-repeat;
	background-size: 12rem;
	background-position: center;
}

#topMainImg .swiper-container {
	overflow: hidden;
	display: none;
}
#topMainImg .swiper-container {
	height: 100%;
}
#topMainImg .swiper-container .swiper-slide .swiper-slide-in{
	height: 100%;
	position: relative;
	overflow: hidden;
}

#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt{
	position: relative;
	height: 100%;
	margin: auto;
	z-index: 4;
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-flow: column;
	max-width: 1200px;
	min-width: 960px;
	width: 100%;
	padding: 20px 0;
}
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt > div{
	display: flex;
	align-items: flex-start;
	justify-content: center;
	flex-flow: column;
	gap: 15px;
	width: 55%;
}
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt h3 ,
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt h2 ,
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt p{
	color: #FFFFFF;
	text-align: left;
	line-height: 1.4;
}
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt h2 {
	margin-bottom: 0;
	font-size: 50px;
	letter-spacing: 0.15rem;
}
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt h3 {
	font-size: 1.5em;
}
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt p {
	font-size: 1.125rem;
}

#topMainImg .swiper-container .swiper-slide.swiper-slide-active .swiper-slide-in .mainTxt .bgTxtAnim span ,
#topMainImg .swiper-container .swiper-slide.swiper-slide-prev .swiper-slide-in .mainTxt .bgTxtAnim span {
	animation: bgTxtAnim 2s ease-in-out forwards;
	animation-delay: 1s;
}

#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainBg {
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0;
	left:  0;
	margin: auto;
	text-align: center;
	z-index: 1;
}
#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainBg::after {
	content: "";
	background-image: url(../images/common/bg_dotted.svg);
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	height: 100%;
	width: 100%;
	z-index: 1;
	opacity: 0.8;
	background-size: 8px;
	background-repeat: repeat;
	opacity: 0;
	transition: opacity 2s ease-in-out;
	transition-delay: 1s;
}
#topMainImg .swiper-container .swiper-slide.swiper-slide-active .swiper-slide-in .mainBg::after {
	opacity: 0.3;
}

#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainBg .fullBG {
	width: 100%;
	height: 100%;
	transform: scale(1.1);
	transition-delay: 0.5s;
	transition: transform 5.5s ease-in-out;
	position: absolute;
	top: 0;
	bottom: 0;
	left: -100%;
	right: -100%;
	margin: auto;
	object-fit: cover;
}
#topMainImg .swiper-container .swiper-slide.swiper-slide-active .swiper-slide-in .mainBg img.fullBG {
	transform: scale(1);
}

#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainBg .main-05 {
	z-index: 9;
	position: absolute;
	bottom: 0;
	height: 90%;
	width: auto;
}
@media screen and ( max-width:959px ) {
	#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainTxt h2 {
		font-size: 33px;
	}
	#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainBg .main-05 {
		right: 3%;
	}
}
@media screen and ( max-width:599px) {
	#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainTxt {
		justify-content: flex-start;
	}
	#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainTxt > div {
		width: 100%;
		align-items: center;
	}
	#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainTxt {
		padding: 2rem 2rem 0;
	}
	#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainTxt h2 {
		text-align: center;
		font-size: 24px;
	}
	#topMainImg .swiper-container .swiper-slide.main-05 .swiper-slide-in .mainBg .main-05 {
		height: 83%;
		left: -1%;
		right: 0;
		bottom: -8.9%;
	}
}

.mainImgScroll {
	max-width: 300px;
	margin: 0 auto;
	position: absolute;
	bottom: 0;
	color: #FFFFFF;
	left: 0;
	right: 0;
	height: 30%;
	transform: translateY(50%) translateX(-150%);
	z-index: 10;
}
.mainImgScroll p {
	font-size: 12px;
	position: absolute;
	top: 1em;
	left: 0;
	transform: rotate(90deg);
	line-height: 1;
	color: #FFFFFF;
}
.mainImgScroll i {
	position: absolute;
	left: 0;
	top: 0;
	width: 1px;
	height: 100%;
	background-color: rgba(47, 55, 73, 0.4);
}
.mainImgScroll i:after {
	content: "";
	position: absolute;
	top: 0;
	width: 1px;
	height: 0%;
	background: #FFFFFF;
	animation: scrollAnim 2s ease-in-out infinite;
}
@keyframes scrollAnim {
	0% {
		top: 0;
		height: 0;
		background: #FFFFFF;
	}
	50% {
		top: 0;
		height: 100%;
		background: #2f3749;
	}
	to {
		top: 100%;
		height: 0;
		background: #2f3749;
	}
}

.mainImgCopy {
	transform: rotate(90deg);
	position: absolute;
	left: -5em;
	top: 0;
	bottom: 0;
	margin: auto;
	right: auto;
	height: 1em;
	width: 15em;
	font-size: 14px;
	text-align: center;
	color: #FFFFFF;
	line-height: 1;
	opacity: 0.7;
}

.swiper-pagination-bullets.swiper-pagination-horizontal {
	width: 1200px;
	margin: 0 auto;
	position: absolute;
	left: 0;
	right: 0;
	bottom: 5%;
	transform: inherit;
	display: flex;
	flex-direction: row;
	justify-content: flex-end;
	gap: 10px;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
	margin: 0;
	width: 6rem;
	height: 3px;
	border-radius: 0;
	display: inline-flex;
	background: rgba(255, 255, 255, 0.7);
	position: relative;
	opacity: 1;
	overflow: hidden;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet:after {
	content: "";
	width: 0%;
	height: 100%;
	position: absolute;
	background: #2f3749;
}
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet.swiper-pagination-bullet-active:after {
	animation: bulletsAnim 6s ease-in-out forwards;
}
@keyframes bulletsAnim {
	0% {
		width: 0%;
	}
	to {
		width: 100%;
	}
}


.main-02.swiper-slide .swiper-slide-in .mainBg {
	--co-main: #57A0B5;
	--co-sub: #A380DB;
	position: relative;
	background: var(--co-main);
	background: -moz-linear-gradient(-45deg, var(--co-main) 0%, var(--co-sub) 100%);
	background: -webkit-linear-gradient(-45deg, var(--co-main) 0%, var(--co-sub) 100%);
	background: linear-gradient(135deg, var(--co-main) 0%, var(--co-sub) 100%);
}

.main-02.swiper-slide .swiper-slide-in .mainBg figure {
	width: 30%;
	height: 83%;
	max-width: 550px;
	position: absolute;
	bottom: 0;
	right: 15vw;
	z-index: 10;
}
.main-02.swiper-slide .swiper-slide-in .mainBg figure .img {
	width: 92%;
	height: auto;
	position: absolute;
	top: 2%;
	right: 4%;
	left: 4%;
	z-index: -1;
	margin: auto;
	border-radius: 7% / 4%;
}


/* ----------------------------------------------------------------- style -- */
.newsList li {
	border-top: 1px solid var(--co-main);
}
.newsList li:last-of-type {
	border-bottom: 1px solid var(--co-main);
}
.newsList li > * {
	display: flex;
	flex-direction: column;
	padding: 1.5rem 1rem;
	text-decoration: none;
	align-items: flex-start;
	position: relative;
}
.newsList li > a::after {
	content: "";
	position: absolute;
	border: 4px solid var(--co-main);
	border-left: none;
	border-bottom: none;
	width: 0.75rem;
	height: 0.75rem;
	top: 0;
	bottom: 0;
	right: 0;
	margin: auto;
	transform: rotate(45deg) translate(-10px, 10px);
}
.newsList li > a::before {
	content: "";
	position: absolute;
	top: 2px;
	bottom: 2px;
	left: 0;
	z-index: -1;
	background: var(--co-main-light);
	width: 0;
	transition: width 0.2s ease-in-out;
}
.newsList li > a:hover:before {
	width: 100%;
}

.newsList li h5 {
	background-color: var(--co-glay-light);
	font-size: 12px;
	border-radius: 0.25em;
	padding: 0.25em 1em;
	margin-bottom: 0.75em;
}

.newsSec.colWrapp {
	padding-top: 1rem;
	padding-bottom: 1rem;
}
.newsSec.colWrapp .col {
	max-width: 960px;
}
.newsSec.colWrapp .secTitle {
	position: relative;
}
.newsSec.colWrapp .secTitle h6 {
	color: #f2f2f2;
	text-align: center;
	opacity: 1;
}
.newsSec.colWrapp .secTitle::after {
	content: "";
	position: absolute;
	background: var(--co-sub02);
	top: -100%;
	bottom: -100%;
	height: 300%;
	width: 1000%;
	z-index: -1;
	transform: skewX(20deg);
	right: 0;
}



/* ------------------------------------------------------------ secInquiry -- */
.secInquiry {
	background-color: var(--co-glay-light);
	padding: 0!important;
}
.colWrapp.secInquiry .col {
	gap: 0;
}
.colWrapp.secInquiry .col .colIn {
	align-items: center;
	text-align: center;
	padding: 3rem 2rem;
	position: relative;
	width: calc(100% / 2);
}
.colWrapp.secInquiry .col .colIn::before,
.colWrapp.secInquiry .col .colIn::after {
	content: "";
	height: 3px;
	position: absolute;
	width: 100vw;
}
.colWrapp.secInquiry .col .colIn::before {
	top: 0;
}
.colWrapp.secInquiry .col .colIn::after {
	bottom: 0;
}
.colWrapp.secInquiry .col .colIn.inqItem::before,
.colWrapp.secInquiry .col .colIn.inqItem::after {
	background: var(--co-sub01);
	right: 0;
}
.colWrapp.secInquiry .col .colIn.inqCustomer::before,
.colWrapp.secInquiry .col .colIn.inqCustomer::after {
	background: var(--co-sub02);
	left: 0;
}

.colWrapp.secInquiry .col .colIn:last-of-type {
	border-left: 1px solid #FFF;
}
.colWrapp.secInquiry .col .colIn .telNum a {
	font-family: var(--font-Varela);
	font-size: 40px;
	font-weight: bold;
	line-height: 1.2;
}
.colWrapp.secInquiry .col .colIn.inqItem .telNum a {
	color: var(--co-sub01);
}
.colWrapp.secInquiry .col .colIn.inqCustomer .telNum a {
	color: var(--co-sub02);
}
.colWrapp.secInquiry .col .colIn a {
	text-decoration: none;
}


.inqItem h3 {
	color: var(--co-sub01);
}
.inqItem .borderLink.color {
	background: var(--co-sub01);
	color: var(--co-white);
	border: 1px solid var(--co-sub01);
}
.inqItem .borderLink.color::after {
	border-top: 2px solid var(--co-white);
	border-right: 2px solid var(--co-white);
}
.inqItem a.borderLink.color {
	color: var(--co-white);
}
.inqItem .borderLink.color:hover {
	color: var(--co-sub01);
	background-color: transparent;
}
.inqItem .borderLink.color:hover::after {
	border-top: 2px solid var(--co-sub01);
	border-right: 2px solid var(--co-sub01);
}


.inqCustomer h3 {
	color: var(--co-sub02);
}
.inqCustomer .borderLink.color {
	background: var(--co-sub02);
	color: var(--co-white);
	border: 1px solid var(--co-sub02);
}
.inqCustomer .borderLink.color::after {
	border-top: 2px solid var(--co-white);
	border-right: 2px solid var(--co-white);
}
.inqCustomer a.borderLink.color {
	color: var(--co-white);
}
.inqCustomer .borderLink.color:hover {
	color: var(--co-sub02);
	background-color: transparent;
}
.inqCustomer .borderLink.color:hover::after {
	border-top: 2px solid var(--co-sub02);
	border-right: 2px solid var(--co-sub02);
}


/* ------------------------------------------------------------- .itemList -- */
.colWrapp .col.itemList {
	align-items: stretch;
	justify-content: stretch;
}
.colWrapp .itemList .colIn > div {
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: 100%;
}
.colWrapp .itemList .colIn a {
	text-decoration: none;
	transition: box-shadow 0.2s ease-in-out;
	box-shadow: 0px 13px 20px -20px rgba(0, 0, 0, 0), 0px 12px 20px 0px rgba(0, 0, 0, 0.1);
	display: block;
	background: #FFFFFF;
	height: 100%;
	display: flex;
	flex-direction: column;
}
.colWrapp .itemList .colIn a:hover {
	box-shadow: 0px 13px 20px -20px #000, 0px 12px 20px 0px rgba(0, 0, 0, 0.1);
}
.colWrapp .itemList .colIn a figure {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 60%;
	overflow: hidden;
}
.colWrapp .itemList .colIn a figure img {
	position: absolute;
	top: -50%;
	bottom: -50%;
	left: 0;
	right: 0;
	margin: auto;
	transition: transform 0.2s ease-in-out, opacity 0.2s ease-in-out;
}
.colWrapp .itemList .colIn a:hover figure img {
	opacity: 0.7;
	transform: rotate(-5deg) scale(1.25);
}

.colWrapp .itemList .colIn > div.stat-2 figure::before {
	content: "販売終了";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 5;
	height: 2em;
	background: #535353;
	width: 5em;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: bold;
	color: #FFF;
	margin: auto;
}
.colWrapp .itemList .colIn > div.stat-2 figure::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	z-index: 1;
	background: #000;
	margin: auto;
	opacity: 0.4;
}

.colWrapp .itemList .colIn a div {
	padding: 1rem 1.5rem;
	height: 10%;
	flex-grow: 1;
	width: 100%;
	display: flex;
	align-items: center;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}
.colWrapp .itemList .colIn a h3 {
	font-size: 16px;
}
.colWrapp .itemList .colIn a ul {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	flex-wrap: wrap;
}
.colWrapp .itemList .colIn a ul li {
	font-size: 12px;
	opacity: 0.7;
	position: relative;
}
.colWrapp .itemList .colIn a ul li:not(:last-of-type) {
	padding-right: 1em;
}
.colWrapp .itemList .colIn a ul li span {
	font-size: 10px;
}
.colWrapp .itemList .colIn a ul li:not(:last-of-type):after {
	content: "/";
	position: absolute;
	right: 0.25em;
}
.colWrapp .itemList .colIn a p {
	font-size: 12px;
	opacity: 0.7;
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.colWrapp .itemList .colIn a p br {
	display: none;
}

.sentenceTitle {
	font-size: 1.8rem;
	display: flex;
	flex-direction: column;
	gap: 0.5em;
	line-height: 1.25;
	margin-bottom: 1.25em;
}
.sentenceTitle span.sentence1 {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
}
.sentenceTitle span.sentence2 {
	display: flex;
	align-items: baseline;
	justify-content: flex-start;
	font-size: 1.5em;
}

strong.mr {
	padding: 0 0.25em;
	margin: 0 0.15em;
	font-size: 1.25em;
}
strong.mrPk {
	background-color: #f08cad;
}
strong.mrGr {
	background-color: #91dc97;
}

.fontL {
	font-size: 1.4em;
}
.txtDot {
	position: relative;
	display: inline-block;
	padding-top: 0.05em;
}
.txtDot::before {
	content: "";
	position: absolute;
	width: 0.2em;
	height: 0.2em;
	top: 0;
	right: 0;
	left: 0;
	margin: auto;
	background-color: #393939;
	border-radius: 1em;
}

.listCircle {
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	gap: 1em;
	font-size: 1rem;
}
.listCircle li {
	width: 10em;
	height: 10em;
	position: relative;
	font-size: inherit;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 90em;
	background: #fff1b9;
	text-align: center;
	font-weight: bold;
}

.titleBalloon {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	font-size: 2rem;
	line-height: 1.4;
}
.titleBalloon .balloon {
	background: #f3f6fa;
	padding: 0.25em 1.35em;
	border-radius: 4em;
	font-size: 0.875em;
	position: relative;
}
.titleBalloon .balloon::after {
	display: block;
	position: absolute;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 24.2px 14px 0 14px;
	border-color: #f3f6fa transparent transparent transparent;
	bottom: -12px;
	left: 0;
	right: 0;
	margin: auto;
	z-index: 1;
}
.titleBalloon .title {
	font-size: 1.75em;
}
.titleBalloon .title strong {
	color: #28507e;
}



@media screen and ( max-width:959px ) {
/* ======================================= VIEWPORT Tablet 768px START!!!!! = */
	#wrapper,
	.right_box3 .container {
		min-width: 100%;
		width: 100%!important;
	}
	.left_box3 .container .case.fl_l {
		width: 34%!important;
	}
	.colWrapp {
		padding-top: 3rem;
		padding-bottom: 3rem;
	}
	.colWrapp .col {
		width: 100%;
		min-width: 100%;
		max-width: 100%;
	}

	#topMainImg {
		height: 55vh;
	}
	.pageTop header {
		position: fixed;
	}
	#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainBg .fullBG {
		height: 100%;
		width: auto;
	}
	#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt {
		padding: 5rem 3rem 0;
		max-width: 100%;
		min-width: 100%;
	}
	#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt h2 {
		font-size: 40px;
	}
	#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt > div {
		width: 60%;
	}
	.main-02.swiper-slide .swiper-slide-in .mainBg figure {
		width: 42%;
		right: -2vw;
	}
	.swiper-pagination-bullets.swiper-pagination-horizontal {
		width: 100%;
		padding: 0 3rem;
	}
	.mainImgScroll {
		max-width: inherit;
		left: 3rem;
		right: auto;
	}
	.newsSec.colWrapp .col {
		min-width: 100%;
	}
	.colWrapp .imgTxt__img figure {
		padding-top: 120%;
	}
	.mainImgCopy {
		left: -6em;
		top: 5rem;
	}
/* ========================================= VIEWPORT Tablet 768px END!!!!! = */
}

@media screen and ( max-width:599px) {
/* =================================== VIEWPORT SmartPhone 599px START!!!!! = */
	.colWrapp h2 {
		font-size: 22px;
		font-weight: bold;
	}
	.colWrapp h3 {
		font-size: 20px;
		font-weight: bold;
	}
	.colWrapp .col.db2,
	.colWrapp .col.db3,
	.colWrapp .col.tri,
	.colWrapp .col.qua {
		flex-direction: column;
	}
	.colWrapp .col.db2 .colIn,
	.colWrapp .col.db3 .colIn,
	.colWrapp .col.tri .colIn ,
	.colWrapp .col.qua .colIn {
		width: 100%!important;
		text-align: center;
		align-items: center;
	}
	#topMainImg {
		height: 65vh;
	}
	#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt > div {
		width: 70%;
	}
	#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt h2 {
		font-size: 19px;
	}
	#topMainImg .swiper-container .swiper-slide .swiper-slide-in .mainTxt p {
		font-size: 12px;
	}
	.main-02.swiper-slide .swiper-slide-in .mainBg figure {
		width: 42%;
		right: -5vw;
		height: 64%;
	}
	.mainImgCopy {
		font-size: 10px;
	}
	.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
		width: 3rem;
	}
	.mainImgScroll {
		left: 1rem;
	}

	.colWrapp .col.db2 .colIn:first-of-type {
		width: 30%;
	}
	.colWrapp .col.db2 .colIn:last-of-type {
		width: calc(65% - 1.5rem);
	}

	.colWrapp .imgTxt {
		align-items: flex-start;
		flex-direction: column-reverse;
	}
	.colWrapp .col .colIn.imgTxt__txt {
		width: 100%;
		margin-top: -20%;
	}
	.colWrapp .col .colIn.imgTxt__txt::before {
		bottom: auto;
		top: -5px;
	}
	.colWrapp .col .colIn.imgTxt__txt::after {
		bottom: auto;
		top: -40px;
	}
	.colWrapp .col.db .colIn.imgTxt__img {
		width: 100%;
		margin-top: -3rem;
	}
	.colWrapp .imgTxt__img figure {
		margin-left: -3rem;
		margin-right: -3rem;
		width: calc(100% + 6rem);
		padding-top: 80%;
	}
	.colWrapp .imgTxt.rev {
		flex-direction: column-reverse;
	}

	.colWrapp .col.itemList {
		flex-direction: column;
	}

	.newsList li > * {
		padding: 1.5rem 3rem 1.5rem 1rem;
		text-align: left;
	}
	.colWrapp.secInquiry .col {
		flex-direction: column;
		padding: 0;
	}
	.colWrapp.secInquiry .col .colIn {
		width: 100%;
	}

	.bgBack .colIn:last-of-type::before {
		width: 90%;
	}
	.bgBack .colIn:last-of-type::before {
		width: 80%;
		right: -10%;
		left: auto;
	}
	.bgBack.fl-di-rev .colIn:first-of-type::before {
		top: -5%;
		width: 30%;
		bottom: auto;
		left: 3%;
		right: auto;
	}

	.footerRow.footcopyArea {
		padding: 2em 0 10em;
	}









	/* ===================================== VIEWPORT SmartPhone 599px END!!!!! = */
}
