@charset "UTF-8";
/*==========================================================================*/
/*//////////////////////////////////////////////////////////////////////////*/
/*//////                                                              //////*/
/*//////                  © Branding Technology inc.                  //////*/
/*//////                                                              //////*/
/*//////////////////////////////////////////////////////////////////////////*/
/*                                                                          */
/*    base.css  --> スタイルの初期設定を行うため、変更しないで下さい。      */
/*    fonts.css --> フォントの初期設定を行うため、変更しないで下さい。      */
/*                                                                          */
/*==========================================================================*/
/*==========================================================================*/
/*                           Common-Setting                                 */
/*==========================================================================*/
/* 基本タグのフォントサイズを指定（12px -> 120% or 1.2em ） */
@media only screen and (min-width: 1921px) {
	#header {
		left: 50%;
		transform: translateX(-50%);
		max-width: 1920px;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1880px) {
	.imvs-img {
		margin-left: auto;
	}

	.imvs-slide {
		width: 90%;
	}

	.imvs-btn {
		left: calc(10% + 40px);
	}

	.iConcept-wrap {
		max-width: 1200px;
	}

	.iPoint {
		padding: 180px 0 0px;
	}

	.iPoint-img {
		width: 46%;
	}

	.iPoint-content {
		width: 54%;
	}

	.iPoint-h3 {
		font-size: max(32px, 2.8vw);
		padding: 1em 0.5em 1em 0.8em;
		max-width: calc(100% - 40px);
	}

	.iPoint-list .iPoint-h3 {
		padding: 41px 24px 42px 12vw;
	}

	.ft-navi {
		justify-content: center;
	}

	.iService-desc-wrap {
		padding: 60px 260px 50px 0px;
	}

	.iService-desc.noPosi .iService-desc-wrap {
		padding: 189px 180px 50px 80px;
	}

	.hlogo {
		width: 230px;
	}

	h1 {
		left: 240px;
		top: 0;
		width: 20vw;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1560px) {
	.iService-list {
		padding: 24px 24px 24px 24px;
	}

	.iService-list a {
		padding: 18px 20px 16px 20px;
	}

	.iService-list a .max {
		font-size: 30px;
	}

	.iService-list a .min {
		font-size: 16px;
	}

	.iService-desc-wrap {
		padding: 60px 300px 50px 0px;
	}

	.iService-desc.noPosi {
		width: 650px;
	}

	.iService-desc.noPosi .iService-desc-wrap {
		padding: 150px 50px 60px 30px;
	}

	.imvs-ballon {
		top: 56px;
		right: 6%;
	}

	.imvs-txt {
		font-size: 30px;
	}

	.imvs-logo {
		margin: 40px 0 40px;
	}

	h1 {
		width: 15vw;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1440px) {
	.hcontact-phone {
		margin-right: 20px;
	}

	.hcontact-phone .num {
		font-size: 28px;
		padding-left: 30px;
		background-size: 22px;
		background-position: left top 4px;
	}

	.hcontact-phone .loca {
		font-size: 13px;
		margin-right: 3px;
		margin-top: 5px;
		text-align: right;
	}

	.hcontact-info {
		padding: 10px 13px 10px 13px;
		background-color: #e1ecf1;
		font-size: 13px;
		color: #333333;
		line-height: 1.6em;
		letter-spacing: 0.053em;
	}

	.hcontact-info .clr {
		color: #003d7e;
		font-weight: 600;
	}

	.hcontact-web {
		padding: 13px 22px 11px 22px;
	}

	.hcontact-web .icon {
		font-size: 20px;
		/* padding-bottom: 36px;
    background-size: 20px; */
	}
	.hcontact-web .hc-tt {
		font-size: 13px;
	}

	.imvs-ballon {
		top: 50px;
		right: 4%;
	}

	.imvs-ballon .num {
		font-size: 26px;
	}

	.imvs-ballon .txt {
		font-size: 22px;
	}

	.imvs-content {
		bottom: -12px;
	}

	.imvs-title > span {
		font-size: 28px;
		margin-bottom: 10px;
	}

	.imvs-logo {
		margin: 30px 0 30px;
	}

	.imvs-logo a img {
		max-width: 260px;
	}

	.imvs-txt {
		font-size: 24px;
	}

	.iPoint-row {
		padding-bottom: 180px;
	}

	.iPoint-row.sen {
		padding-bottom: 180px;
	}

	.iPoint-row.sen .iPoint-h3 {
		padding: 0.3em 0.5em 0.3em 2em;
	}

	.iPoint-row.sen .iPoint-desc-wrap {
		padding: 20px 48px 60px 114px;
	}

	.iPoint-content {
		margin-top: 20px;
	}

	.iPoint-h3 {
		padding: 0.3em 0.5em 0.3em 1em;
	}

	.iPoint-desc-wrap {
		padding: 20px 20px 60px 34px;
	}

	.iPoint-btn {
		margin-top: 30px;
	}

	.iPoint-center {
		max-width: 1200px;
	}

	.iPoint-center::before {
		width: 1920px;
		left: 50%;
		transform: translateX(-50%);
	}

	.iPoint-list {
		margin-top: 100px;
	}

	.iPoint-list::before {
		width: 1920px;
	}

	.iPoint-list .iPoint-item:last-child .iPoint-h3 {
		padding: 0.3em 20px 0.4em 1em;
	}

	.iPoint-list .iPoint-item:last-child .iPoint-desc-wrap {
		padding: 30px 40px 60px 60px;
	}

	.iPoint-list .iPoint-img {
		width: calc(100% - 40px);
	}

	.iPoint-list .iPoint-h3 {
		max-width: calc(100% - 20px);
		padding: 0.3em 20px 0.4em 2em;
		min-height: auto;
	}

	.iPoint-list .iPoint-h3 .min {
		font-size: 15px;
	}

	.iPoint-list .iPoint-desc-wrap {
		padding: 30px 60px 60px 40px;
	}

	.iPoint-list .iPoint-btn {
		margin-top: 30px;
	}

	.iGreeting-wrap {
		max-width: 1200px;
	}

	.iGreeting-img {
		width: calc(50% - 30px);
		margin-left: 30px;
	}

	.iGreeting-btn {
		margin-top: 50px;
	}

	.iGreeting-btn a {
		width: 236px;
		min-width: auto;
	}

	.iGreeting-btn a:first-child {
		margin-right: 20px;
	}

	.iGreeting-content {
		padding-right: 50px;
		padding-left: 50px;
	}

	.iGreeting-img .img {
		margin-top: 0;
		display: flex;
		justify-content: center;
		align-items: flex-end;
		height: 100%;
	}

	h1 {
		width: 15vw;
	}
}
@media only screen and (min-width: 751px) and (max-width: 1200px) {
	.iService-desc.noPosi {
		width: 580px;
	}

	.navi {
		max-width: 1050px;
	}

	.iPoint-desc::before {
		width: 1000px;
	}

	.imvs-btn {
		left: calc(10% + 10px);
		width: 220px;
		height: 80px;
	}

	.imvs-btn .icon {
		font-size: 18px;
		background-position: left top 11px;
	}

	.imvs-btn .icon .min {
		font-size: 14px;
	}

	h1 {
		width: 150px;
	}
}
@media only screen and (min-width: 751px) {
	h1 {
		white-space: nowrap;
	}
	.navi-lv2.flwx {
		display: flex;
	}

	.navi-lv2.flwx .navi-item {
		margin-right: 10px;
	}

	.navi-lv2.flwx .navi-item:last-child {
		margin-right: 0;
	}

	.sp {
		display: none !important;
	}

	a:not([target="_blank"]):hover,
	a:active {
		color: #006baf;
		text-decoration: none;
	}

	a:hover img {
		opacity: 0.7;
	}

	a[target="_blank"]:hover img,
	a.noHover:hover img {
		opacity: 1;
	}

	[class*="logo"] a:hover img {
		opacity: 1;
	}

	#totop a:hover img {
		opacity: 1;
	}

	.hicon {
		display: none;
	}

	#totop a:hover {
		background-color: #333;
	}

	.ft-navi a:hover {
		transform: translateX(5px);
		color: #fff;
	}

	.iBtn[href]:hover {
		color: #fff !important;
		background-color: #333;
		box-shadow: 0px 10px 13px rgba(51, 51, 51, 0.377);
		transform: translateY(-5px);
	}

	.iBtn[href]:hover::before {
		border-color: #fff #fff transparent transparent;
	}

	.iCase-list li:hover {
		background-color: #333;
		box-shadow: 0px 10px 13px rgba(51, 51, 51, 0.377);
		transform: translateY(-5px);
	}

	.iCase-list li:hover .iCase-date,
	.iCase-list li:hover .iCase-link {
		color: #fff;
	}

	.iCase-list li:hover .iBtn {
		background-color: #003d7e;
		box-shadow: none;
		transform: none;
	}

	.navi-lv2 .navi-item:first-child li:nth-child(3) a:hover {
		background-color: #003d7e;
	}

	.iCase-list li:hover .iBtn::before {
		border-color: #fff #fff transparent transparent;
	}

	.navi-lv2 li a:hover {
		background-color: #333333;
		color: #fff;
	}

	.navi > li.has:hover label {
		transform: translateY(-5px);
	}

	.navi > li.has:hover .navi-lv2 {
		opacity: 1;
		visibility: visible;
	}

	.navi > li > a:hover,
	.navi > li > label:hover {
		transform: translateY(-5px);
	}

	.iMenu-btn {
		cursor: pointer;
	}

	#header.scroll .hlogo {
		animation: fadeInDown 0.3s ease-in-out;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 101px;
		padding: 14px;
	}

	#header.scroll .hlogo a {
		margin-bottom: 0;
	}

	#header.scroll .hlogo h1 {
		display: none;
	}

	#header.scroll .hlogo img.show-sp {
		display: block !important;
	}

	#header.scroll .hlogo img.show-pc {
		display: none;
	}

	.fixed-list {
		display: none;
	}

	.hmenu.fixed {
		height: 207px;
	}

	.hmenu.fixed .hmenu-wrap {
		position: fixed;
		top: 100px;
		left: 0;
		width: 100%;
		z-index: 100;
		background-color: #003d7e;
		max-width: 100%;
		border-radius: 0;
		padding: 5px 0 5px;
	}

	.hmenu.fixed .navi-lv2 {
		top: 66px;
	}

	.under .navi-lv2 {
		top: 66px;
	}

	.imvs-btn:hover {
		transform: translateY(-5px);
	}

	.iNews-list li a:hover {
		color: #006baf;
	}

	.iBnr-list li a:hover {
		transform: translateY(-5px);
	}

	.iMenu-list li:hover {
		transform: translateY(-5px);
	}

	.iMenu-list li:hover .iMenu-h4 > span {
		color: #003d7e;
	}

	.iMenu-list li:hover .iMenu-btn::before {
		background-color: #fff;
	}

	.iMenu-list li:hover::before {
		background-color: #fff;
	}

	.iMenu-bnr a:hover {
		transform: translateY(-5px);
	}

	.ft-contact-wrap.fnavi {
		display: none;
	}
}
@media only screen and (max-width: 750px) {
	h1,
	h2,
	h3,
	h4,
	h5,
	h6,
	input,
	button,
	textarea,
	select,
	p,
	blockquote,
	th,
	td,
	pre,
	address,
	li,
	dt,
	dd {
		font-size: 150%;
	}

	#wrapper {
		min-width: 100%;
	}

	.container {
		width: 100%;
		padding-left: 10px;
		padding-right: 10px;
	}

	.pc {
		display: none !important;
	}

	.hcontact {
		display: none;
	}
	.hlogo {
		flex-direction: column;
	}

	.hlogo h1 {
		display: block !important;
		position: static;
		width: 100%;
		margin: 0;
		color: #fff;
		font-size: 10px;
		white-space: nowrap;
	}

	.hlogo {
		animation: fadeInDown 0.3s ease-in-out;
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 80px;
		padding: 10px;
		margin-left: 20px;
	}

	.hlogo img.show-sp {
		display: block !important;
	}

	.hlogo img.show-pc {
		display: none !important;
	}

	.hlogo a {
		display: flex;
		align-items: center;
		justify-content: center;
		height: 100%;
		margin-bottom: 0;
	}
	.wp-admin .notice {
		display: none !important;
	}
	#header {
		height: 80px;
		justify-content: space-between;
		background-color: #003d7e;
	}

	.open-nav .hmenu {
		left: 0;
	}

	.open-nav #header {
		background-color: #003d7e;
	}

	.open-nav .hlogo {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
		height: 80px;
		margin-right: auto;
	}

	.open-nav .hlogo .show-pc {
		display: none !important;
	}

	.open-nav .hlogo .show-sp {
		display: block !important;
	}

	.hmenu {
		position: fixed;
		width: 100%;
		height: 100%;
		z-index: 100;
		top: 80px;
		left: -110%;
		padding: 20px 0 0;
		transition: all 0.3s linear;
		padding-bottom: 200px;
		overflow-y: auto;
	}

	.navi {
		display: block;
		padding: 0 20px;
	}

	.navi > li {
		width: 100%;
		text-align: left;
	}

	.navi > li.active label::before {
		transform: translateY(-50%) rotate(180deg);
	}

	.navi > li::before {
		transform: none;
		top: 0;
		width: 100%;
		height: 1px;
	}

	.navi > li:last-child::after {
		transform: none;
		top: auto;
		bottom: 0;
		width: 100%;
		height: 1px;
	}

	.navi > li > a,
	.navi > li > label {
		padding: 20px 0 20px 10px;
		margin: 0 0;
		display: block;
		text-align: left;
		height: auto;
	}

	.navi > li > a .ens,
	.navi > li > label .ens {
		font-size: 10px;
	}

	.navi > li > a .jps,
	.navi > li > label .jps {
		font-size: 16px;
	}

	.navi > li label::before {
		position: absolute;
		content: "";
		border-right: 8px solid transparent;
		border-left: 8px solid transparent;
		border-top: 14px solid #fff;
		top: 50%;
		transform: translateY(-50%);
		right: 10px;
		transition: all 0.3s linear;
	}

	.navi-lv2 {
		position: relative;
		visibility: visible;
		opacity: 1;
		top: auto;
		padding-bottom: 6px;
		transform: none;
		left: auto;
		transition: none;
		display: none;
	}

	.imvs {
		margin-top: 80px;
		margin-bottom: 100px;
		min-height: 290px;
	}

	.imvs::before {
		bottom: -100px;
	}

	.imvs-img {
		order: 1;
		width: 100%;
		overflow: hidden;
	}

	.imvs-slide {
		width: 94%;
		/* max-height: 62vh; */
		overflow-y: hidden;
		height: 460px;
		max-height: 310px;
	}
	.imvs .slick-track{
		overflow: hidden;
	}
	.index .effect img{
		animation: infinite;
	  }
	.imvs-ballon {
		top: 14px;
		right: 8px;
		width: 100px;
		height: 100px;
	}

	.imvs-ballon::after {
		width: 20px;
		top: 52%;
	}

	.imvs-ballon .num {
		font-size: 18px;
		margin-bottom: 14px;
	}

	.imvs-ballon .txt {
		font-size: 14px;
	}

	.imvs-content {
		bottom: -90px;
	}

	.imvs-title > span {
		font-size: 18px;
		padding: 10px 16px 10px;
		margin-bottom: 10px;
	}

	.imvs-logo {
		margin: 18px 0;
	}

	.imvs-logo a img {
		height: 80px;
		width: auto;
	}

	.imvs-txt {
		font-size: 22px;
		letter-spacing: 0.14em;
	}

	.imvs-btn {
		position: relative;
	}

	.iList-wrap {
		padding: 0 10px;
		flex-wrap: wrap;
		justify-content: center;
		flex-direction: column;
	}

	.iNews {
		width: 100%;
		max-width: 540px;
		height: auto;
		margin: 0 auto 0;
		padding: 12px 12px 12px 12px;
		bottom: auto;
	}

	.iNews::before {
		position: absolute;
		content: "";
		width: 100vw;
		height: 100%;
		background-color: #e1ecf1;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
		pointer-events: none;
	}

	.iBnr {
		padding: 40px 10px 40px;
		max-width: 640px;
		margin: 0 auto;
	}

	.iBnr-list li:nth-child(2) {
		margin-top: 10px;
		margin-bottom: 10px;
	}

	.iConcept {
		padding: 0 0 60px;
	}

	.iConcept::before {
		position: absolute;
		background-color: #f3f8fc;
		width: 100%;
		left: 0;
		bottom: 0;
		height: calc(100% - 94px);
		content: "";
	}

	.iConcept-wrap {
		flex-wrap: wrap;
	}

	.iConcept-title {
		font-size: max(4px, 1.2vw);
		padding: 20px 20px 20px 20px;
		text-align: center;
	}

	.iConcept-title .engs {
		padding-bottom: 14px;
		margin-bottom: 4px;
	}

	.iConcept-title .engs::before {
		left: 50%;
		transform: translateX(-50%);
	}

	.iConcept-desc {
		padding: 20px 20px 20px 20px;
	}

	.iConcept-img {
		width: 372px;
		margin: 0 auto;
	}

	.iConcept-img .img::before {
		width: calc(100% - 20px);
		left: 50%;
		transform: translateX(-50%);
	}

	.iConcept-img .img img {
		max-height: 300px;
		width: auto;
		margin-left: 0px;
	}

	.iConcept-name {
		bottom: 20px;
		right: 30px;
	}

	.iConcept-name .ens {
		font-size: 35px;
	}

	.iConcept-name .jps {
		font-size: 20px;
	}

	.iConcept-content {
		width: 100%;
	}

	.iConcept-btn {
		position: relative;
		text-align: center;
		width: 100%;
		margin-bottom: 0;
		margin-top: 30px;
	}

	.iPoint {
		padding: 100px 0 0px;
	}

	.iPoint-row {
		padding-bottom: 30px;
		margin-bottom: 80px;
		flex-wrap: wrap;
	}

	.iPoint-row::before {
		width: 100%;
		height: 80%;
	}

	.iPoint-row.sen {
		padding-bottom: 30px;
	}

	.iPoint-row.sen::before {
		content: "";
	}

	.iPoint-row.sen .iPoint-num {
		right: unset;
		left: unset;
	}

	.iPoint-row.sen .iPoint-img {
		margin-left: auto;
		padding-right: 0px;
		margin: 0 auto;
		padding-left: 0px;
	}

	.iPoint-row.sen .iPoint-h3 {
		margin-left: unset;
		padding: 0.3em 20px 0.3em 20px;
	}

	.iPoint-row.sen .iPoint-desc::before {
		left: unset;
		right: unset;
	}

	.iPoint-row.sen .iPoint-desc-wrap {
		max-width: unset;
		margin-left: unset;
		padding: 20px 20px 20px 20px;
	}

	.iPoint-img {
		width: fit-content;
		order: 1;
		margin: 0 auto;
		padding-right: 0px;
		padding: 0 10px !important;
	}

	.iPoint-img img {
		max-height: 300px;
		width: auto;
	}

	.iPoint-num {
		font-size: 32px;
		top: auto;
		bottom: calc(100% - 20px);
		right: 18px;
	}

	.iPoint-num > span {
		font-size: 2em;
		font-weight: bold;
		margin-left: 0px;
	}

	.iPoint-content {
		width: 100%;
		order: 2;
		margin-top: 0;
	}

	.iPoint-h3 {
		font-size: max(4vw, 22px);
		padding: 0.3em 20px 0.3em 20px;
		text-align: center;
	}

	.iPoint-desc-wrap {
		padding: 20px 20px 20px 20px;
	}

	.iPoint-desc p {
		max-width: 100%;
	}

	.iPoint-desc::before {
		content: none;
	}

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

	.iPoint-center::before {
		height: calc(100% - 200px);
		bottom: 118px;
		width: 1920px;
		left: 50%;
		transform: translateX(-50%);
	}

	.iPoint-center .iPoint-img {
		padding-right: 0;
	}

	.iPoint-center .iPoint-h3 {
		padding: 0.3em 10px 0.35em 10px;
	}

	.iPoint-center .iPoint-content {
		max-width: calc(100% - 20px);
		margin: -20px auto 0;
	}

	.iPoint-center .iPoint-btn {
		margin-top: 20px;
	}

	.iPoint-center .iPoint-btn a {
		margin-right: 0;
	}

	.iPoint-center .iPoint-desc p {
		max-width: 100%;
	}

	.iPoint-list {
		flex-wrap: wrap;
		margin-top: 80px;
	}

	.iPoint-list::before {
		content: none;
	}

	.iPoint-list .iPoint-item {
		margin-bottom: 80px;
		width: 100%;
	}

	.iPoint-list .iPoint-item::before {
		position: absolute;
		content: "";
		width: 100%;
		height: 80%;
		background-color: #c6d3dc;
		pointer-events: none;
		right: 0;
		bottom: 0;
	}

	.iPoint-list .iPoint-item:first-child .iPoint-img {
		padding-right: 20px;
		margin-left: 0;
	}

	.iPoint-list .iPoint-item:first-child .iPoint-num {
		left: 50%;
		transform: translateX(-50%);
	}

	.iPoint-list .iPoint-item:first-child .iPoint-btn a {
		margin-left: 0;
	}

	.iPoint-list .iPoint-item:last-child {
		margin-bottom: 0;
	}

	.iPoint-list .iPoint-item:last-child .iPoint-h3 {
		padding: 0.3em 20px 0.4em 20px;
	}

	.iPoint-list .iPoint-item:last-child .iPoint-desc-wrap {
		padding: 20px 20px 40px 20px;
	}

	.iPoint-list .iPoint-item:last-child .iPoint-btn a {
		margin-left: 0;
	}

	.iPoint-list .iPoint-img {
		width: 100%;
		text-align: center;
	}

	.iPoint-list .iPoint-img img {
		max-height: 350px;
	}

	.iPoint-list .iPoint-h3 {
		margin-top: -20px;
		max-width: 100%;
		padding: 0.3em 20px 0.35em 20px;
		min-height: auto;
	}

	.iPoint-list .iPoint-h3 .min {
		font-size: 14px;
	}

	.iPoint-list .iPoint-num {
		left: 50%;
		transform: translateX(-50%);
		top: auto;
		bottom: calc(100% - 20px);
	}

	.iPoint-list .iPoint-content {
		width: 100%;
		z-index: 2;
	}

	.iPoint-list .iPoint-desc-wrap {
		max-width: 100%;
		padding: 20px 20px 40px 20px;
	}

	.iPoint-list .iPoint-btn {
		margin-top: 30px;
	}

	.iMenu {
		padding: 60px 0 90px;
			background-image: url(../images/img-top-new06-sp.jpg);
	}

	.iMenu-wrap {
		padding: 0 10px;
	}

	.iMenu h3 {
		margin-bottom: 30px;
	}

	.iMenu-list {
		flex-wrap: wrap;
		margin: 30px 0 100px;
	}

	.iMenu-list li {
		width: 570px;
		margin: 0 auto 80px;
	}

	.iMenu-list li:last-child {
		margin-bottom: 0;
	}

	.iMenu-btn {
		bottom: -30px;
		max-width: 308px;
		padding: 18px 0px 0px 28px;
	}

	.iMenu-btn .iBtn {
		width: 250px;
	}

	.iMenu-h4 {
		font-size: 10px;
		margin-bottom: 20px;
	}

	.iMenu-bnr {
		max-width: 640px;
		margin: 0 auto;
		position: relative;
	}

	.ih3 {
		font-size: 8px;
		text-align: center;
	}

	.ih3 .ens {
		padding-bottom: 10px;
		margin-bottom: 10px;
	}

	.ih3 .ens::before {
		left: 50% !important;
		transform: translateX(-50%) !important;
	}

	.iService {
		margin-top: 0;
	}

	.iService-wrap {
		flex-wrap: wrap;
		padding: 0 10px;
	}

	.iService-content {
		order: 2;
		width: 100%;
	}

	.iService-desc.noPosi {
		position: relative;
		order: 3;
		width: 100%;
	}

	.iService-desc.noPosi .iService-desc-wrap {
		padding: 20px 20px 20px 20px;
		margin-top: -20px;
	}

	.iService-desc-wrap {
		padding: 20px 20px 20px 20px;
	}

	.iService-list {
		order: 1;
		margin-left: 0;
		margin-top: 0;
		padding: 0 0;
		margin-bottom: 40px;
		width: 100%;
	}

	.iService-list::before {
		content: none;
	}

	.iService-list li:first-child a {
		padding: 11px 20px 10px 20px;
	}

	.iService-list a {
		padding: 10px 20px 13px 20px;
	}

	.iService-list a .max {
		font-size: 22px;
	}

	.iService-list a .min {
		font-size: 14px;
	}

	.iService-list a::before {
		padding: 8px;
	}

	.iBtn {
		padding: 12px 14px 12px;
		font-size: 14px;
	}

	.iFaci {
		margin-top: 80px;
		background-image: url(../images/iFaci-bg-sp.jpg);
		background-size: cover;
	}

	.iFaci-wrap {
		padding: 0 10px;
		flex-wrap: wrap;
	}

	.iFaci h3 {
		margin-bottom: 22px;
		text-align: center;
	}

	.iFaci-title {
		font-size: 28px;
		margin-bottom: 20px;
		text-align: center;
	}

	.iFaci-content {
		width: 100%;
		padding: 40px 0 40px;
	}

	.iFaci-img {
		margin-top: 0;
		width: 100%;
		padding-bottom: 60px;
		margin-left: 0;
		max-width: 420px;
		margin: 0 auto;
		display: flex;
		align-items: stretch;
		flex-direction: column;
	}

	.iFaci-img .img1 {
		padding-right: 50px;
	}

	.iFaci-img .img1 img {
		width: auto;
		max-height: 200px;
	}

	.iFaci-img .img2 {
		margin-top: -50px;
		margin-left: 0px;
		margin-right: 0;
		padding-left: 50px;
	}

	.iFaci-img .img2 img {
		max-height: 250px;
		width: auto;
	}

	.iFaci-btn {
		margin-top: 30px;
		display: flex;
		justify-content: center;
	}

	.iGreeting {
		padding: 60px 0 60px;
	}

	.iGreeting-wrap {
		flex-wrap: wrap;
		padding: 0 10px;
	}

	.iGreeting-img {
		width: 100%;
		order: 2;
	}

	.iGreeting-img::after {
		background-size: 94% auto;
		background-position: top right;
		right: 20px;
	}

	.iGreeting-img .img {
		max-width: 100%;
		margin-top: 40px;
	}

	.iGreeting-img .img img {
		max-height: 400px;
		width: auto;
	}

	.iGreeting-btn {
		flex-wrap: wrap;
		justify-content: center;
		max-width: 400px;
		margin: 0 auto;
		margin-top: 30px;
	}

	.iGreeting-btn a:first-child {
		margin-right: 0;
		margin-bottom: 20px;
	}

	.iGreeting-content {
		order: 1;
		width: 100%;
		padding-right: 0px;
		padding-left: 0px;
		margin-top: 0px;
		margin-bottom: 40px;
	}

	.iGreeting h3 {
		text-align: center;
		margin-bottom: 30px;
	}

	.iCase {
		padding: 60px 0 60px;
	}

	.iCase-wrap {
		padding: 0 10px;
	}

	.iCase-desc {
		margin: 0 auto 40px;
	}

	.iCase h3 {
		margin-bottom: 30px;
	}

	.iCase-list {
		flex-wrap: wrap;
		max-width: 520px;
		margin: 0 auto;
	}

	.iCase-list li {
		width: 250px;
		margin-right: 20px;
		margin-bottom: 20px;
	}

	.iCase-list li:nth-child(2n) {
		margin-right: 0;
	}

	.iCase-btn {
		margin-top: 20px;
	}

	.iCase-btn .iBtn {
		min-width: auto;
		width: 250px;
	}

	footer {
		margin-top: 0;
	}

	.ft-contact {
		padding: 40px 10px 40px;
	}

	.ft-contact-wrap {
		flex-wrap: wrap;
		height: auto;
	}

	.ft-contact-wrap.fnavi {
		margin-top: 40px;
	}

	.ft-contact-wrap.fnavi li {
		margin-bottom: 20px;
	}

	.ft-contact-wrap.fnavi li:last-child {
		margin-bottom: 0;
	}

	.ft-contact-wrap.fnavi .hcontact-phone {
		margin-right: 0 !important;
	}

	.ft-contact-wrap.fnavi .hcontact-phone .num {
		color: #fff !important;
		background-image: url(../images/icon-phone-w.png) !important;
		font-size: 30px;
		padding-left: 29px;
		background-size: 20px;
	}

	.ft-contact-wrap.fnavi .hcontact-phone .loca {
		color: #fff !important;
		font-size: 15px;
	}

	.ft-contact-wrap.fnavi .hcontact-web .icon {
		font-size: 22px;
	}

	.ft-contact-wrap.fnavi .flogo {
		padding: 0 30px;
	}
	.ft-contact-wrap.fnavi .flogo img {
		filter: brightness(0) invert(1);
	}

	.ft-contact-wrap li {
		width: 100%;
		display: flex;
		justify-content: center;
	}

	.ft-contact .flogo {
		width: 100%;
		margin-bottom: 20px;
	}

	.ft-contact .hcontact-phone {
		margin-right: 0;
		margin-bottom: 20px;
		align-items: center;
	}

	.ft-contact .hcontact-web {
		font-size: 20px;
		padding: 20px 40px;
		width: 300px;
	}

	/* .ft-contact .hcontact-web .icon {
    padding-bottom: 30px;
  } */

	.ft-map {
		height: 320px;
	}

	.ft-menu {
		display: none;
	}

	.copyright {
		font-size: 12px !important;
	}

	#totop {
		bottom: 112px;
	}

	footer {
		margin-bottom: 60px;
	}

	span.txt-img {
		transform: translate(0%, -15px);
		display: block;
	}

	.main-under .box-image-new .img-r, .main-under .box-image-new .img-l{
		margin-top: 50px;
	}

	.iLink{
		padding: 80px 10px 10px;
	}

}
@media only screen and (max-width: 640px) {
	.iCase-desc {
		margin: 0 auto 20px;
	}

	.iCase-post-content {
		position: relative;
		padding: 24px 10px 10px;
	}

	.iCase-link {
		margin-bottom: 10px;
	}

	.iCase-list li {
		width: calc((100% - 10px) / 2);
		margin-right: 10px;
		margin-bottom: 10px;
	}

	.iCase-list li:nth-child(2n) {
		margin-right: 0;
	}

	.box-three-img{
		flex-direction: column;
	}

	.slide-tour .slick-prev, .slide-tour .slick-next {
		height: 35px;
		width: 35px;
		background-color: #00244f;
	}

	.slide-tour .slick-next:before {
		position: absolute;
		content: "";
		border-right: 7px solid transparent;
		border-left: 7px solid transparent;
		border-bottom: 13px solid #fff;
		transform: translate(-50%, -50%) rotate(90deg);
		top: 50%;
		left: 50%;
	}

	.slide-tour .slick-prev:before {
		position: absolute;
		content: "";
		border-right: 7px solid transparent;
		border-left: 7px solid transparent;
		border-bottom: 13px solid #fff;
		transform: translate(-50%, -50%) rotate(-90deg);
		top: 50%;
		left: 50%;
	}

	
}
@media only screen and (max-width: 530px) {
	.imvs-btn {
		width: 150px;
		height: 54px;
	}

	.imvs-btn .icon {
		padding: 5px 0 5px 28px;
		background-position: left top 17px;
		background-size: 20px;
		font-size: 16px;
	}

	.imvs-btn .icon .min {
		font-size: 14px;
	}

	.imvs::before {
		height: calc(60% + 2px);
	}

	.imvs-img .img {
		width: 94%;
	}

	.imvs-ballon {
		top: 8px;
		right: 8px;
		width: 80px;
		height: 80px;
	}

	.imvs-ballon .num {
		font-size: 13px;
	}

	.imvs-ballon .txt {
		font-size: 11px;
	}

	.imvs-title > span {
		font-size: 24px;
		padding: 10px 16px 10px;
		margin-bottom: 10px;
	}

	.imvs-logo {
		margin: 13px 0;
	}

	.imvs-logo a img {
		height: 64px;
	}

	.imvs-txt {
		font-size: 18px;
	}

	.imvs-btn .icon {
		padding: 5px 0 5px 28px;
		background-position: left top 17px;
		background-size: 20px;
		font-size: 16px;
	}

	.imvs-btn .icon .min {
		font-size: 14px;
	}
}
@media only screen and (min-width: 476px) {
	.sp4 {
		display: none !important;
	}
}
@media only screen and (max-width: 475px) {
	.hlogo h1 {
		font-size: 2.4vw;
		white-space: nowrap;
	}
	.iGreeting-img .img img {
		max-height: 300px;
	}

	.hlogo {
		width: 210px;
		margin-left: 0;
	}

	#header .hicon {
		width: 60px;
	}

	.imvs-img .img {
		width: 96%;
	}

	.imvs-title > span {
		padding: 6px 16px 8px;
		margin-bottom: 6px;
		font-size: 20px;
	}

	.imvs-logo {
		margin: 13px 0;
	}

	.imvs-logo a img {
		height: 40px;
	}

	.iConcept-desc {
		padding: 10px;
	}

	.iPoint-row.sen .iPoint-h3 {
		padding: 0.3em 10px 0.3em 10px;
	}

	.iPoint-row.sen .iPoint-desc-wrap {
		padding: 10px;
	}

	.iPoint-num {
		font-size: 28px;
		bottom: calc(100% - 15px);
	}

	.iPoint-h3 {
		padding: 0.3em 10px 0.3em 10px;
	}

	.iPoint-desc-wrap {
		padding: 10px;
	}

	.iPoint-center .iPoint-h3 {
		padding: 0.3em 10px 0.35em 10px;
		font-size: max(4vw, 20px);
	}

	.iPoint-list .iPoint-item:last-child {
		margin-bottom: 0;
	}

	.iPoint-list .iPoint-item:last-child .iPoint-h3 {
		padding: 0.3em 10px 0.4em 10px;
	}

	.iPoint-list .iPoint-item:last-child .iPoint-desc-wrap {
		padding: 10px 10px 40px 10px;
	}

	.iPoint-list .iPoint-h3 {
		padding: 0.3em 10px 0.35em 10px;
	}

	.iPoint-list .iPoint-desc-wrap {
		padding: 10px 10px 40px 10px;
	}

	.iPoint-list .iPoint-btn {
		margin-top: 20px;
	}

	.iMenu-wrap {
		padding: 0 10px;
	}

	.iMenu h3 {
		margin-bottom: 30px;
	}

	.iMenu-list {
		flex-wrap: wrap;
		margin: 30px 0 100px;
	}

	.iMenu-list li {
		width: 570px;
		margin: 0 auto 80px;
	}

	.iMenu-list li:last-child {
		margin-bottom: 0;
	}

	.iMenu-btn {
		bottom: -30px;
		max-width: 220px;
		padding: 10px 0px 0px 10px;
	}

	.iMenu-btn .iBtn {
		width: 180px;
		padding: 10px 16px;
		font-size: 14px;
	}

	.iMenu-h4 {
		font-size: 8px;
		margin-bottom: 20px;
	}

	.iMenu-h4 .max {
		font-size: 2.4em;
	}

	.iService-desc-wrap {
		padding: 10px;
	}

	.iService-desc.noPosi .iService-desc-wrap {
		padding: 20px 10px;
	}

	.iCase-list {
		justify-content: center;
	}

	.iCase-list li {
		width: 270px;
		margin-right: 0px;
		margin-bottom: 10px;
	}


}
@media only screen and (min-width: 376px) {
	.sp3 {
		display: none !important;
	}
}
@media only screen and (max-width: 375px) {
	.hlogo h1 {
		font-size: 2.2vw;
		white-space: nowrap;
	}
	.imvs-img .img {
		width: 96%;
	}

	.imvs-ballon {
		top: 5px;
		right: 5px;
		width: 64px;
		height: 64px;
	}

	.imvs-ballon .num {
		font-size: 10px;
	}

	.imvs-ballon .txt {
		font-size: 9px;
	}

	.imvs-title > span {
		font-size: 16px;
		padding: 6px 8px 8px;
		margin-bottom: 6px;
	}

	.imvs-logo {
		margin: 10px 0;
	}

	.imvs-logo a img {
		height: 40px;
	}

	.imvs-txt {
		font-size: 16px;
	}

	.iMenu-list {
		margin: 30px 0 40px;
	}

	.iMenu-list li {
		margin-bottom: 46px;
	}

	.iMenu-btn {
		position: relative;
		bottom: auto;
		margin-top: -80px;
	}

	.iMenu-btn .iBtn {
		width: 180px;
		padding: 10px 16px;
		font-size: 14px;
	}

	.iService-list li:first-child a {
		padding: 9px 10px 10px 10px;
	}

	.iService-list a {
		padding: 10px 10px 13px 10px;
	}

	.iService-list a .max {
		font-size: 20px;
	}

	.iService-list a .min {
		font-size: 14px;
	}

	.iService-list a::before {
		padding: 8px;
	}

	.ft-contact .flogo {
		max-width: 240px;
		margin: 0 auto 20px;
	}

	.ft-contact .hcontact-phone .loca {
		font-size: 14px;
	}

	.ft-contact .hcontact-phone .num {
		font-size: 28px;
		background-size: 20px;
		padding-left: 28px;
		background-position: left top 6px;
	}
}
@media only screen and (max-width: 320px) {
	.imvs-img .img {
		width: 96%;
	}

	.imvs-title > span {
		font-size: 16px;
		padding: 6px 8px 8px;
		margin-bottom: 6px;
	}

	.imvs-logo {
		margin: 8px 0;
	}

	.imvs-logo a img {
		height: 40px;
	}

	.imvs-txt {
		font-size: 14px;
	}
}
/*Safari*/
/*# sourceMappingURL=responsive.css.map */

/*# sourceMappingURL=responsive.css.map */
