@charset "UTF-8";

/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　　　全ページ共通

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/
.clearfix::after {
	content: "";
	display: block;
	clear: both;
}

a:hover {
	opacity: 0.6;
	filter: alpha(opacity=80);
	-moz-opacity: 0.6;
	-webkit-transition: 0.3s ease-in-out;
	-moz-transition: 0.3s ease-in-out;
	-o-transition: 0.3s ease-in-out;
	transition: 0.3s ease-in-out;
}

.mw1200 {
	max-width: 1200px !important;
}

nav ul:first-of-type li a:hover {
	opacity: 1;
}

.tab_content a:hover {
	opacity: 1;
}

::selection {
    background: #41bbbc;
    color: #000;
}

::-webkit-selection {
    background: #41bbbc;
    color: #000;
}

::-moz-selection {
    background: #41bbbc;
    color: #000;
}

h2 {
	font-size: 48px !important;
	font-weight: bold !important;
	text-align: center;
	line-height: 0.7 !important;
	padding: 60px 0 !important;
	letter-spacing: 2px;
	font-family: 'Josefin Sans', sans-serif !important;
}

	@media (max-width: 600px) {
		h2 {
			padding: 60px 0 40px !important;
		}
	}

	@media (max-width: 680px) {
		h2 {
			font-size: 36px !important;
		}
	}

h2 p:nth-of-type(2) {
	font-size: 18px;
	font-weight: normal;
	margin-top: 19px;
}

	@media (max-width: 680px) {
		h2 p:nth-of-type(2) {
			font-size: 18px;
			margin-top: 13px;
		}
	}

.all-more-box {
	width: 187px;
	margin: 0 auto;
}

.all-more {
	text-align: center;
	position: relative;
	display: inline-block;
	padding: 17px 0;
	background: #41bbbc;
	width: 187px;
	color: #fff;
	font-weight: bold;
	-moz-border-radius: 10px;
	-webkit-border-radius: 10px;
	-o-border-radius: 10px;
	-ms-border-radius: 10px;
	letter-spacing: 2px;
}

.all-more div {
	z-index: 1;
	content: '';
	width: 5px;
	height: 5px;
	border: 0px;
	border-top-color: currentcolor;
	border-top-style: none;
	border-top-width: 0px;
	border-right-color: currentcolor;
	border-right-style: none;
	border-right-width: 0px;
	border-top-color: currentcolor;
	border-top-style: none;
	border-top-width: 0px;
	border-right-color: currentcolor;
	border-right-style: none;
	border-right-width: 0px;
	border-top-color: currentcolor;
	border-top-style: none;
	border-top-width: 0px;
	border-right-color: currentcolor;
	border-right-style: none;
	border-right-width: 0px;
	border-top: solid 1px #fff;
	border-right: solid 1px #fff;
	-ms-transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	top: 43%;
	right: 6%;
	position: absolute;
}

.all-more-white {
	background: #fff;
	color: #000;
}

.all-more-white div {
	border-top: solid 1px #000;
	border-right: solid 1px #000;
}

.band-title {
	background: #41bbbc;
	color: #fff;
	font-size: 24px;
	padding: 16px 0;
}

	@media (max-width: 1140px) {
		.band-title {
			padding: 14px 0 14px 10px;
		}
	}

	@media (max-width: 600px) {
		.band-title {
			font-size: 22px;
			padding: 14px 0 14px 10px;
		}
	}

.band-title h3 {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
}

.holdings {
	color: #d7a200;
}

.creation {
	color: #d85600;
}

.sancity {
	color: #e600d3;
}

.five {
	color: #429a01;
}


/* --------------------------------------------

              タブ切り替えスタイル

--------------------------------------------*/

.tabs {
	margin-top: 10px;
	overflow: hidden;
}

	@media (max-width: 680px) {
		.tabs {
			margin: 0 10px;
		}
	}

.bb {
	border-bottom: 3px solid #41bbbc;
}

.tab_item {
	width: calc(100%/3);
	height: 50px;
	border-bottom: 3px solid #41bbbc;
	background-color: #3e3e3e;
	line-height: 50px;
	font-size: 16px;
	text-align: center;
	color: #fff;
	display: block;
	float: left;
	transition: all 0.2s ease;
}

	@media (max-width: 780px) {
		.tab_item {
			width: calc(100%/2);
			margin-bottom: 5px;
		}
	}

	@media (max-width: 1000px) {
		.tab_item {
			font-size: 13px;
		}
	}

#service-in .tab_item {
	width: calc(100%/3);
}

*::-ms-backdrop, .tab_item {
  width: 20%; /* IE11 */
}

.tab_item:hover {
	opacity: 0.75;
}

input[name="tab_item"] {
	display: none;
}

.tab_content {
	display: none;
	padding: 60px 0;
	clear: both;
	overflow: hidden;
}

	@media (max-width: 950px) {
		.tab_content {
			padding: 30px 0;
		}
	}

#service-in .tab_content {
	padding: 0 0 60px;
}

	@media (max-width: 600px) {
		#service-in .tab_content {
			padding: 0 0 30px;
		}
	}

#creative:checked ~ #creative_content,
#system:checked ~ #system_content,
#beauty:checked ~ #beauty_content,
#foodanddrink:checked ~ #foodanddrink_content,
#bridal:checked ~ #bridal_content {
	display: block;
}

.tabs input:checked + .tab_item {
	background-color: #41bbbc;
	color: #fff;
	font-weight: bold;
}


/* --------------------------------------------

              会社概要 & 募集要項

--------------------------------------------*/

#profile .box,#thought .box {
	font-size: 16px;
	line-height: 1.6;
	padding: 40px 0;
}

	@media (max-width: 1140px) {
		#profile .box,#thought .box {
			padding: 20px 0 40px;
			margin: 0 10px;
		}
	}

#profile .box .wrap,#thought .box .wrap {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
}

#profile .box .wrap dl {
	overflow: hidden;
	background: #41bbbc;
	margin-bottom: 5px;
}

	@media (max-width: 1140px) {
		#profile .box .wrap dl {
			margin-bottom: 10px;
		}
	}

#profile .box .wrap dl dt {
	float: left;
	padding: 25px 20px 25px 20px;
	max-width: 241px;
	width: 100%;
	color: #fff;
}

	@media (max-width: 1140px) {
		#profile .box .wrap dl dt {
			float: none;
			padding: 10px 20px;
			max-width: 100%;
			width: auto;
		}
	}

#profile .box .wrap dl dd {
	float: left;
	padding: 25px 40px;
	background: #fff;
	max-width: 779px;
	width: 100%;
	font-size: 0.9em;
	min-height: 26px;
}

	@media (max-width: 1140px) {
		#profile .box .wrap dl dd {
			float: none;
			padding: 10px 20px;
			max-width: 100%;
			width: auto;
			min-height: unset;
		}
	}

#profile a {
	color: #f39800;
	text-decoration: underline;
}

section.typeA {
	display: flex;
	flex-wrap: wrap;
	margin: 20px auto 0;
	width: 98%;
}
section.typeA::after {
	content: '';
	width: 100%;
	height: 3px;
	order: -1;
	display: block;
	background: #41bbbc;
}
section.typeA .tabLabel {
	margin-right: 3px;
	padding: 12px;
	/* flex: 1; */
	order: -1;
	border-radius: 3px 3px 0 0;
	color: #444;
	background: rgba(172, 172, 172, 0.3);
	transition: .5s;
	cursor: pointer;
	text-align: center;
	font-weight: bold;
	font-size: 1.1em;
	width: calc(calc(100% / 4) - 27px);
	margin-bottom: 7px;
}
section.typeA .tabLabel:nth-last-of-type(1){ margin-right: 0; }
section.typeA input {		/* ラジオボタン非表示 */
	display: none;
}
section.typeA .content {	/* 本文 */
	width: 100%;
	height: 0;
	overflow: hidden;
	opacity: 0;
}
/*アクティブ設定*/
section.typeA input:checked + .tabLabel {
	color: #fff;
	background: #41bbbc;
}
section.typeA input:checked + .tabLabel + .content {
	/* padding: 15px; */
	height: auto;
	overflow: auto;
	/* box-shadow: 0 0 5px rgba(0,0,0,.2); */
	transition: .5s opacity;
	opacity: 1;
}
section.typeA .content .box .wrap dl dd span{
	font-weight: bold;
}

.form-btn {
	display: block;
	margin: 0 auto 20px;
	padding: 20px 0;
	text-align: center;
	background-color: #ff8300;
	color: #fff;
	width: 270px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 6px;
}
/* --------------------------------------------

                  page top

--------------------------------------------*/

#page-top {
    position: fixed;
    bottom: 30px;
	right: 30px;
	font-size: 120%;
	z-index: 999;
}

	@media (max-width: 981px) {
		#page-top {
			bottom: 30px;
			right: 10px;
		}
	}

#page-top a {
	background-color: #41bbbc;
	text-decoration: none;
	color: #fff;
	border-radius: 50%;
	padding: 15px;
	text-align: center;
	display: block;
	border: solid 2px #fff;
}

#page-top a:hover {
	opacity: 1;
}

div #page-top {
    bottom: 85px;
}


/* --------------------------------------------

                    f-btn

--------------------------------------------*/

@media (min-width: 981px) {
	#f-btn {
		display: none;
	}
}

#f-btn {
    position: fixed;
	bottom: 0;
	width: 100%;
	z-index: 10;
}

#f-btn li {
	/* float: left; */
	width: 100%;
	text-align: center;
	font-weight: bold;
	height: 56px;
	position: relative;
}

#f-btn a:first-of-type li {
	background: #41bbbc;
	padding: 20px 0 0;
	height: 40px;
	color: #fff;
}

#f-btn a:last-of-type li {
	background: #41bbbc;
	padding: 8px 0 0;
	height: 47px;
	font-size: 18px;
	line-height: 0.9;
}

#f-btn a:last-of-type li span:first-of-type {
	font-size: 23px;
	/* margin: 3px -20px 0 0px; */
	/* float: left; */
	font-weight: bold;
}

	@media (max-width: 320px) {
		#f-btn a:last-of-type li span:first-of-type {
			margin: 3px -12px 0 12px;
		}
	}

#f-btn a:last-of-type li span:last-of-type {
	font-weight: normal;
	font-size: 14px;
	margin-top: 4px;
	display: block;
}


/* --------------------------------------------

                     nav

--------------------------------------------*/

#nav-back {
	height: 88px;
}

	@media (max-width: 980px) {
		#nav-back {
			height: 69px;
		}
	}

.nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	color: #fff;
	background: rgb(255, 255, 255);
	z-index: 1000;
}

.nav .box {
	max-width: 1400px;
	width: 100%;
	margin: 0 auto;
}

.nav .box h1 .logo {
	float: left;
	margin-top: 8px;
}

	@media (max-width: 1200px) {
		.nav .box h1 .logo {
			margin-left: 10px;
		}
	}

.nav .box h1 .logo img {
	width: 310px;
}

	@media (max-width: 980px) {
		.nav .box h1 .logo img {
			margin: 0;
			width: 230px;
		}
	}

@media (max-width: 980px) {
	.nav .box .pc {
		display: none;
	}
}

.nav .menu-list {
	position: relative;
	overflow: hidden;
	-webkit-transition: color 0.3s ease-out;
	transition: color 0.3s ease-out;
	display: inline-block;
	margin-left: 40px;
	font-size: 15px;
	line-height: 5.79;
	color: #41bbbc;
}

	@media (max-width: 1135px) {
		.nav .menu-list {
			margin-left: 15px;
		}
	}

.nav .menu-list a {
	display: block;
}

.nav .menu-list a::after {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 100%;
	top: 0;
	background-color: transparent;
	cursor: pointer;
}

.is-top .menu-list.menu-top {
	color: #41bbbc;
	pointer-events: none;
}

.is-news .menu-list.menu-news,
.is-philosophy .menu-list.menu-philosophy,
.is-services .menu-list.menu-services,
.is-service .menu-list.menu-service,
.is-company .menu-list.menu-company,
.is-recruit .menu-list.menu-recruit {
	color: #41bbbc;
}

.nav .menu-list::before {
	position: absolute;
	display: block;
	content: "";
	width: 100%;
	height: 40px;
	bottom: 0;
	-webkit-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	transform: translateY(-50%);
	background-color: #41bbbc;
	opacity: 0;
	-webkit-transition: opacity 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), height 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
	transition: opacity 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), height 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
	transition: opacity 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), height 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
	transition: opacity 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), height 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1), -webkit-transform 0.6s cubic-bezier(0.52, 0.08, 0.18, 1);
}

.no-touchevents .menu-list:hover {
	color: #41bbbc;
}

.no-touchevents .menu-list:hover::before {
	height: 5px;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}

.is-top .menu-list.menu-top::before {
	height: 5px;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}

.is-news .menu-list.menu-news::before,
.is-philosophy .menu-list.menu-philosophy::before,
.is-service .menu-list.menu-service::before,
.is-company .menu-list.menu-company::before,
.is-recruit .menu-list.menu-recruit::before,
.is-contact .menu-list.menu-contact::before,
.is-privacypolicy .menu-list.menu-privacypolicy::before {
	height: 5px;
	-webkit-transform: translateY(0);
	-ms-transform: translateY(0);
	transform: translateY(0);
	opacity: 1;
}

.nav .box ul {
	float: left;
	margin-left: 30px;
}

	@media (max-width: 980px) {
		.nav .box ul {
			float: none;
			margin-left: 0;
		}
	}

	@media (max-width: 1150px) {
		.nav .box ul {
			margin-left: 15px;
		}
	}

.nav .box a.contact ul {
	float: right;
	margin-left: 0;
} 

.nav .box a.contact ul li {
	font-size: 15px;
	background: #41bbbc;
	color: #fff;
	font-weight: bold;
	margin: 0;
	height: 59px;
	width: 160px;
	text-align: center;
	padding: 35px 0 0;
	border-right: none;
}


/* --------------------------------------------

                  ハンバーガー

--------------------------------------------*/

.nav .sp {
	background: #41bbbc;
	height: 72px;
	width: 72px;
	float: right;
}

	@media (min-width: 981px) {
		.nav .sp {
			display: none;
		}
	}

#GlobalNavi {
	height:100%;
	position:fixed;
	top:0px;
	right:0px;
	-webkit-transform:translate3d(0,0,0);
	z-index:10000;
	-webkit-transition:all 170ms cubic-bezier(0.250, 0.250, 0.750, 0.750); 
	        transition:all 170ms cubic-bezier(0.250, 0.250, 0.750, 0.750); /* linear */
}

#GlobalNavi .none {
	opacity:0.15;
}

/* btn
---------------------*/
#GlobalNavi .btn {
	overflow:hidden;
	position:absolute;
	top: 23px;
	right: 22px;
	z-index:1000;
}

#GlobalNavi .btn.top {
	display:none;
}

#GlobalNavi .btn p {
	width:26px;
	height:26px;
	overflow:hidden;
	position:relative;
	text-indent:-9999px;
	cursor:pointer;
	-webkit-transition:all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
	        transition:all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
}

#GlobalNavi .btn p::before,
#GlobalNavi .btn p::after {
	display:block;
	content:'';
	position:absolute;
	background:#fff;
	-webkit-transition:all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000);
	        transition:all 300ms cubic-bezier(0.215, 0.610, 0.355, 1.000); /* easeOutCubic */
}

#GlobalNavi .btn.top p::before,
#GlobalNavi .btn.top p::after {
	background:#FFFFFF;
}

#GlobalNavi .btn p::before {
	width:100%;
	height:2px;
	top:4px;
	
	-webkit-box-shadow:#fff 0 7px 0;
	box-shadow:#fff 0 7px 0;
	-webkit-transform-origin:left top;
	transform-origin:left top;
}

#GlobalNavi .btn.top p::before {
	-webkit-box-shadow:#FFFFFF 0 7px 0;
	box-shadow:#FFFFFF 0 7px 0;
}

#GlobalNavi .btn p::after {
	width:100%;
	height:2px;
	bottom:6px;
	
	-webkit-transform-origin:left bottom;
	transform-origin:left bottom;
}

/* hover */
#GlobalNavi.on .btn p {
	transform:rotate(90deg);
}

#GlobalNavi.on .btn p::before {
	background:#fff;
	-webkit-box-shadow:transparent 0 0 0;
	        box-shadow:transparent 0 0 0;
	-webkit-transform:rotate(45deg) translate3d(3px, -4px, 0);
		    transform:rotate(45deg) translate3d(3px, -4px, 0);		
}

#GlobalNavi.on .btn p::after {
	background:#fff;
	-webkit-transform:rotate(-45deg) translate3d(2px, 5px, 0);
			transform:rotate(-45deg) translate3d(2px, 5px, 0);
}

@media screen and (max-width:640px) { /* == device-width < 640 == */

	#GlobalNavi.on .btn.top p::before {
		-webkit-box-shadow:transparent 0 0 0;
	          box-shadow:transparent 0 0 0;
	}

}

/* menu
---------------------*/
#GlobalNavi div.menu {
	width:640px;
	height:100%;
	display:table;
	position:absolute;
	top:0;
	right:0;
	visibility:hidden;
	opacity:0;
	z-index:110;
	-webkit-transition:opacity 200ms cubic-bezier(0.250, 0.250, 0.750, 0.750);
	        transition:opacity 200ms cubic-bezier(0.250, 0.250, 0.750, 0.750); /* linear */
}

#GlobalNavi.on div.menu {
	visibility:visible;
	opacity:1;
}

#GlobalNavi div.menu div {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #41bbbc;
}

#GlobalNavi div.menu ul {
	display:table-cell;
	vertical-align:middle;
}

#GlobalNavi div.menu ul li {
	padding:0 0;
	line-height: 1.4;
	text-align: right;
	letter-spacing:2px;
	font-size:21px;
	-webkit-transition:-webkit-transform 350ms cubic-bezier(0.190, 1.000, 0.220, 1.000);
					transition:transform 350ms cubic-bezier(0.190, 1.000, 0.220, 1.000); /* easeOutExpo */
}

#GlobalNavi div.menu ul li a {
	display:inline-block;
	padding:10px 25px;
	color:#FFFFFF;
	text-decoration:none;
}

#GlobalNavi div.menu ul li a:hover {
	opacity:0.5 !important;
}


/* --------------------------------------------

         下層ページメイン画像 & パンくず

--------------------------------------------*/

#main-img {
	box-sizing: border-box;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	height: 340px;
	position: relative;
	border-bottom: 15px solid #41bbbc;
}

	@media (max-width: 680px) {
		#main-img {
			height: 230px;
		}
	}

.breadcrumb-news {
	background-image: url("../images/main_img/news.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-news {
			background-image: url("../images/main_img/news_small.jpg");
		}
	}

.breadcrumb-philosophy {
	background-image: url("../images/main_img/philosophy.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-philosophy {
			background-image: url("../images/main_img/philosophy_small.jpg");
		}
	}

.breadcrumb-company {
	background-image: url("../images/main_img/company.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-company {
			background-image: url("../images/main_img/company_small.jpg");
		}
	}

.breadcrumb-service {
	background-image: url("../images/main_img/service.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-service {
			background-image: url("../images/main_img/service_small.jpg");
		}
	}

.breadcrumb-company {
	background-image: url("../images/main_img/company.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-company {
			background-image: url("../images/main_img/company_small.jpg");
		}
	}

.breadcrumb-recruit {
	background-image: url("../images/main_img/recruit.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-recruit {
			background-image: url("../images/main_img/recruit_small.jpg");
		}
	}

.breadcrumb-contact {
	background-image: url("../images/main_img/contact.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-contact {
			background-image: url("../images/main_img/contact_small.jpg");
		}
	}

.breadcrumb-privacypolicy {
	background-image: url("../images/main_img/privacypolicy.jpg");
}

	@media (max-width: 600px) {
		.breadcrumb-privacypolicy {
			background-image: url("../images/main_img/privacypolicy_small.jpg");
		}
	}

#main-img div {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

#main-img div ul {
	position: absolute;
	bottom: -50px;
	padding: 12px 20px;
	font-size: 12px;
	color: #000;
}

	@media (max-width: 1200px) {
		#main-img div ul {
			margin-left: 10px;
		}
	}

#main-img div ul li {
	float: left;
}

#main-img div ul a:first-of-type {
	/* color: #fff; */
	text-decoration: underline;
}

#main-no-img {
	border-top: 15px solid #41bbbc;
	position: relative;
    z-index: 10;
}

#main-no-img div {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
	position: relative;
}

#main-no-img div ul {
	padding: 9.5px 0 9.5px 5px;
	font-size: 12px;
	position: absolute;
	line-height: 1.4;
}

	@media (max-width: 1200px) {
		#main-no-img div ul {
			margin: 0;
		}
	}

#main-no-img div ul li a {
	text-decoration: underline;
}

@media (min-width: 415px) {
	#main-no-img div ul br {
		display: none;
	}
}

#main-no-img div ul li {
	float: left;
}


/* --------------------------------------------

                   footer

--------------------------------------------*/

#footer {
	background: #fff;
	overflow: hidden;
	padding: 30px 0 80px;
}

	@media (max-width: 981px) {
		#footer {
			padding: 30px 0 150px;
		}
	}

#footer div {
	max-width: 1200px;
	width: 100%;
	margin: 0px auto;
}

#footer div .logo {
	float: left;
	margin-right: 100px;
	margin-top: -16px;
}

	@media (max-width: 1200px) {
		#footer div .logo {
			margin-left: 20px;
		}
	}

	@media (max-width: 680px) {
		#footer div .logo {
			float: none;
			margin-right: 0;
		}
	}

#footer div .logo img {
	width: 210px; 
}

	@media (max-width: 680px) {
		#footer div .logo img {
			width: 120px; 
		}
	}

#footer div ul:first-of-type {
	color: #41bbbc;
	padding-top: 10px;
	font-size: 15px;
}

	@media (max-width: 1200px) {
		#footer div ul:first-of-type {
			line-height: 1.8;
		}
	}

	@media (max-width: 840px) {
		#footer div ul:first-of-type {
			font-size: 12px;
			margin: 10px 0 10px 0;
			line-height: 1.8;
			overflow: hidden;
		}
	}

	@media (max-width: 680px) {
		#footer div ul:first-of-type {
			margin-left: 20px;
		}
	}

#footer div ul:first-of-type li {
	float: left;
	border-right: 1px solid #41bbbc;
	padding-right: 20px;
	padding-left: 20px;
	margin-right: 20px;
}

#footer div ul:first-of-type li:last-of-type {
	border-right: none;
	padding-right: 0;
	margin-right: 0;
}

#footer div ul:last-of-type {
	overflow: hidden;
	color: #41bbbc;
	font-size: 12px;
}

	@media (max-width: 1200px) {
		#footer div ul:last-of-type {
			margin-left: 20px;
		}
	}

	@media (max-width: 600px) {
		#footer div ul:last-of-type {
			margin: 0;
		}
	}

#footer div ul:last-of-type li {
	float: left;
	margin-right: 5px;
	line-height: 1.4;
}

	@media (max-width: 600px) {
		#footer div ul:last-of-type li {
			float: left;
			margin: 0 0 10px 0;
		}
	}

#footer div ul:last-of-type li:last-of-type {
	margin-right: 0;
}

#footer div ul:last-of-type li:nth-of-type(1) img {
	width: 178px;
}

#footer div ul:last-of-type li:nth-of-type(2) img {
	width: 60px;
}

#footer div ul:last-of-type li:nth-of-type(3) img {
	width: 123px;
}

#footer div address {
	color: #000;
	margin-top: 45px;
	font-size: 12px;
	text-align: center;
}

	@media (max-width: 680px) {
		#footer div address {
			margin-top: 10px;
			text-align: center;
		}
	}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　　　index.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

/* --------------------------------------------

                   loading

--------------------------------------------*/

#loader-bg {
    position: fixed;
    width: 100%;
    height: 100%;
    top: 0px;
    left: 0px;
    background: #fff;
    z-index: 10000;
}

#loading {
    position: absolute;
    left: 0;
	right: 0;
    top: 39%;
	width: 64px;
	margin: 0 auto;
}

	@media (max-width: 600px) {
		#loading {
			top: 30%;
			width: 32px;
		}
	}

.loader,
.loader:before,
.loader:after {
  border-radius: 50%;
  width: 2.5em;
  height: 2.5em;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
  -webkit-animation: load7 1.8s infinite ease-in-out;
  animation: load7 1.8s infinite ease-in-out;
}
.loader {
  color: #644f3c;
  font-size: 10px;
  margin: 80px auto;
  position: relative;
  text-indent: -9999em;
  -webkit-transform: translateZ(0);
  -ms-transform: translateZ(0);
  transform: translateZ(0);
  -webkit-animation-delay: -0.16s;
  animation-delay: -0.16s;
}
.loader:before,
.loader:after {
  content: '';
  position: absolute;
  top: 0;
}
.loader:before {
  left: -3.5em;
  -webkit-animation-delay: -0.32s;
  animation-delay: -0.32s;
}
.loader:after {
  left: 3.5em;
}
@-webkit-keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}
@keyframes load7 {
  0%,
  80%,
  100% {
    box-shadow: 0 2.5em 0 -1.3em;
  }
  40% {
    box-shadow: 0 2.5em 0 0;
  }
}

	@media (max-width: 600px) {
		.load-box .loader {
			font-size: 10px;
		}
	}

/* --------------------------------------------

                     h3

--------------------------------------------*/

.is-top h3 {
	font-size: 48px !important;
	font-weight: bold !important;
	text-align: center;
	line-height: 0.7 !important;
	padding: 60px 0 !important;
	letter-spacing: 2px;
	font-family: 'Josefin Sans', sans-serif;
}

	@media (max-width: 600px) {
		.is-top h3 {
			padding: 40px 0 !important;
		}
	}

	@media (max-width: 680px) {
		.is-top h3 {
			font-size: 36px !important;
		}
	}

.is-top h3 p:nth-of-type(2) {
	font-size: 18px;
	font-weight: normal;
	margin-top: 19px;
}

	@media (max-width: 680px) {
		.is-top h3 p:nth-of-type(2) {
			font-size: 14px;
			margin-top: 13px;
		}
	}

.is-top #services h3 {
	padding: 90px 0 60px !important;
}

	@media (max-width: 680px) {
		.is-top #services h3 {
			padding: 60px 0 30px !important;
		}
	}

.is-top #services #bna-box {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto 47px;
	overflow: hidden;
}

	@media (max-width: 1200px) {
		.is-top #services #bna-box {
			max-width: 594px;
		}
	}

	@media (max-width: 594px) {
		.is-top #services #bna-box {
			max-width: 292px;
		}
	}

.is-top #services #bna-box li {
	float: left;
	margin-right: 10px;
}

.is-top #services #bna-box li:last-of-type {
	margin-right: 0;
}

	@media (max-width: 1200px) {
		.is-top #services #bna-box li:last-of-type,
		.is-top #services #bna-box li:nth-of-type(2) {
			margin-right: 0;
		}
	}

@media (max-width: 1200px) {
	.is-top #services #bna-box li:first-of-type,
	.is-top #services #bna-box li:nth-of-type(2) {
		margin-bottom: 10px;
	}
}

@media (max-width: 594px) {
	.is-top #services #bna-box li:nth-of-type(3) {
		margin-bottom: 10px;
	}
}

.is-top #services #bna-box li img {
	width: 292px;
}

.is-top .home-news h3 {
	padding: 60px 0 50px !important;
	text-align: left;
}

	@media (max-width: 600px) {
		.is-top .home-news h3 {
			text-align: center;
		}
	}

.is-top .home-recruit h3 {
	padding: 90px 0 10px !important;
}

	@media (max-width: 680px) {
		.is-top .home-recruit h3 {
			padding: 40px 0 10px !important;
		}
	}

.is-top .home-company h3 {
	padding: 50px 0 10px !important;
}

	@media (max-width: 680px) {
		.is-top .home-company h3 {
			padding: 30px 0 10px !important;
		}
	}

.is-top .home-news h3 span {
	font-size: 24px;
	font-weight: normal;
	margin-left: 10px;
}
	@media (max-width: 680px) {
		.is-top .home-news h3 span {
			font-size: 14px;
		}
	}

.is-top .home-content h3 div,
.is-top .home-company h3 div,
h3 div,
h2 div {
	height: 6px;
	width: 120px;
	background: #41bbbc;
	margin: 20px auto 0;
}

.is-top .home-company h3 div {
	background: #fff;
}


/* --------------------------------------------

                  services

--------------------------------------------*/

#services {
	background: #f4f4f4;
	padding-bottom: 100px;
}

#services .title-group{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-size: 18px;
	margin:0 auto 30px;
	gap: 20px;
	font-weight: bold;
	width: 100%;
	max-width: 1260px;
}
	
#services .title-group::before,
#services .title-group::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background-color: #000;
	margin: 0 10px;
	display: inline-block;
}

#services .service-group {
	display: flex;
	justify-content: start;
	width: 100%;
	max-width: 1260px;
	margin: 0 auto;
	flex-wrap: wrap;
}

#services .service-group li {
	max-width: 400px;
	width: calc(calc(100%/3) - 20px);
	margin: 0 10px 20px;
}

#services .service-group li img{
	width: 100%;
}

#services .service-group li p {
	text-align: justify;
	line-height: 1.6em;
	margin-top: 1em;
}

#services .service-group li p em{
	font-weight: bold;
}

#services .all-width {
	max-width: 1200px;
	width: 100%;
	margin: 0 auto;
}

@media (max-width: 1200px) {
	.tab_content .wrap {
		width: 940px;
		margin: 0 auto;
	}
}

@media (max-width: 950px) {
	#services {
		padding-bottom: 50px;
	}
	
	.tab_content .wrap {
		width: 780px;
		margin: 0 auto;
	}
	
	#services .service-group {
		flex-direction: column;
	}

	#services .service-group li {
		width: 80%;
		margin: 0 auto 30px;
	}
}

.tab_content .wrap {
	position: relative;
	overflow: hidden;
	height: 350px;
}

	@media (max-width: 950px) {
		.tab_content .wrap {
			height: 270px;
		}
	}

	@media (max-width: 1200px) {
		.tab_content .wrap {
			height: 305px;
		}
	}

@media (max-width: 780px) {
	.tab_content .pc {
		display: none;
	}
}

.tab_content .wrap .box {
	position: absolute;
	left: 0px;
	top: 0px;
}

.tab_content .wrap .box:nth-of-type(1) {
	transform: translate3d(0px, 0px, 0px);
}

.tab_content .wrap .box:nth-of-type(2) {
	transform: translate3d(302px, 0px, 0px);
}

	@media (max-width: 1200px) {
		.tab_content .wrap .box:nth-of-type(2) {
			transform: translate3d(236px, 0px, 0px);
			width: 230px !important;
		}
	}

	@media (max-width: 950px) {
		.tab_content .wrap .box:nth-of-type(2) {
			transform: translate3d(196px, 0px, 0px);
			width: 190px !important;
		}
	}

.tab_content .wrap .box:nth-of-type(3) {
	transform: translate3d(604px, 0px, 0px);
}

	@media (max-width: 1200px) {
		.tab_content .wrap .box:nth-of-type(3) {
			transform: translate3d(473px, 0px, 0px);
			width: 230px !important;
		}
	}

	@media (max-width: 950px) {
		.tab_content .wrap .box:nth-of-type(3) {
			transform: translate3d(393px, 0px, 0px);
			width: 190px !important;
		}
	}

.tab_content .wrap .box:nth-of-type(4) {
	transform: translate3d(906px, 0px, 0px);
}

	@media (max-width: 1200px) {
		.tab_content .wrap .box:nth-of-type(4) {
			transform: translate3d(709px, 0px, 0px);
			width: 230px !important;
		}
	}

	@media (max-width: 950px) {
		.tab_content .wrap .box:nth-of-type(4) {
			transform: translate3d(589px, 0px, 0px);
			width: 190px !important;
		}
	}

.photoBox1 {
	border-width:0;
	border-color: rgba(0,0,0,0.3);
	border-style: solid;
	border-radius: 50%;
}

	@media (max-width: 1200px) {
		.photoBox1 {
			background-size: 230px auto;
			width: 230px !important;
			height: 230px !important;
		}
	}

	@media (max-width: 950px) {
		.photoBox1 {
			background-size: 190px auto !important;
			width: 190px !important;
			height: 190px !important;
		}
	}

.photoBox2 {
	display:block;

	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	
	background-position:50% 50% !important;
	background-repeat:no-repeat !important;
	background-size:227px;
	
	border-color: rgba(0,0,0,0.5);
	border-style: solid;
	border-radius: 50%;
	
	-webkit-transition: 0.2s ease;
	-moz-transition: 0.2s ease;
	-ms-transition: 0.2s ease;
	-o-transition: 0.2s ease;
	transition: 0.2s ease;
	
	border-width: 145px;
	background-size: 290px auto;
	width: 290px;
	height: 290px;
}

	@media (max-width: 1200px) {
		.photoBox2 {
			border-width: 115px;
			background-size: 230px auto !important;
			width: 230px !important;
			height: 230px !important;
		}
	}

	@media (max-width: 950px) {
		.photoBox2 {
			border-width: 95px;
			background-size: 190px auto !important;
			width: 190px !important;
			height: 190px !important;
		}
	}

.photoBox2:hover {
	background:url(../images/bg_works_mover.png) !important;
	background-position:50% 50% !important;
	background-repeat:no-repeat !important;
	background-size:227px;
	
	/* Some defaults for borders */
	border-color: rgba(0,0,0,0.4);
	/* The transition from normal > :hover */
	-webkit-transition-duration: 0.5s;
	-moz-transition-duration: 0.5s;
	-ms-transition-duration: 0.5s;
	-o-transition-duration: 0.5s;
	transition-duration: 0.5s;
	border-width: 1px !important;
}

.tab_content .wrap .txt {
	margin-top: 22px;
	text-align: center;
}

.tab_content .wrap .txt p {
	font-size: 15px;
	font-weight: bold;
	text-transform: uppercase;
	margin: 0px 20px 0 20px;
	-webkit-transition: all 0.1s linear;
	-moz-transition: all 0.1s linear;
	-ms-transition: all 0.1s linear;
	-o-transition: all 0.1s linear;
	transition: all 0.1s linear;
	line-height: 1.4;
}

	@media (max-width: 1200px) {
		.tab_content .wrap .txt p {
			font-size: 13px;
		}
	}


/* -- sp -- */

@media (min-width: 781px) {
	
	.tab_content .sp {
		display: none;
	}

}

@media (max-width: 780px) {
	
	.tab_content .sp {
		max-width: 615px;
		width: 100%;
		margin: 0 auto;
	}
	
	#service-in .tab_content .sp {
		max-width: 600px;
	}
	
	.tab_content .sp a {
		display: block;
		width: 287px;
		float: left;
		margin: 0 10px 10px;
	}
	
	.tab_content .sp a {
		display: block;
		width: 287px;
		float: left;
		margin: 0 10px 10px;
	}
	
	.tab_content .sp a .img {
		border-radius: 50%;
		background-size: 287px !important;
	}
	
	.tab_content .sp a .txt1 {
		height: 172px;
		padding-top: 115px;
	}
	
	.tab_content .sp a .txt2 {
		height: 182px;
		padding-top: 105px;
	}
	
	.creative a:nth-of-type(1) .img {
		background: url(../images/service/service_01.jpg) no-repeat;
	}
	
	.creative a:nth-of-type(2) .img {
		background: url(../images/service/service_02.jpg) no-repeat;
	}
	
	.creative a:nth-of-type(3) .img {
		background: url(../images/service/service_03.jpg) no-repeat;
	}
	
	.creative a:nth-of-type(4) .img {
		background: url(../images/service/service_04.jpg) no-repeat;
	}
	
	.system a:nth-of-type(1) .img {
		background: url(../images/service/service_02.jpg) no-repeat;
	}
	
	.system a:nth-of-type(2) .img {
		background: url(../images/service/service_06.jpg) no-repeat;
	}
	
	.system a:nth-of-type(3) .img {
		background: url(../images/service/service_07.jpg) no-repeat;
	}
	
	.beauty a:nth-of-type(1) .img {
		background: url(../images/service/service_08.jpg) no-repeat;
	}
	
	.beauty a:nth-of-type(2) .img {
		background: url(../images/service/service_09.jpg) no-repeat;
	}
	
	.foodanddrink a:nth-of-type(1) .img {
		background: url(../images/service/service_10.jpg) no-repeat;
	}
	
	.foodanddrink a:nth-of-type(2) .img {
		background: url(../images/service/service_11.jpg) no-repeat;
	}
	
	.bridal a:nth-of-type(1) .img {
		background: url(../images/service/service_12.jpg) no-repeat;
	}
		
	.tab_content .sp a .img p {
		text-align: center;
		padding: 17px 0;
		background: #eee;
		line-height: 1.4;
		font-size: 15px;
		padding-left: 15px;
	}
	
	.tab_content .sp a .img p span {
		background: url(../images/arrow.png) no-repeat;
		background-size: 10px;
		width: 10px;
		height: 13px;
		float: right;
		margin: 5px 5px 0 0;
	}
	
	.tab_content .sp a .txt1 p span {
		margin: 5px 5px 0 0;
	}
	
	.tab_content .sp a .txt2 p span {
		margin: -5px 5px 0 0;
	}

}

@media (max-width: 650px) {
	.tab_content .sp {
		max-width: 307px;
	}
}


/* --------------------------------------------

                    news

--------------------------------------------*/

.home-news {
	position: relative;
}

.home-news-body {
	background-color: #ffffff;
}

.home-news-body-content {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 0%;
	padding-bottom: 8%;
}

	@media (min-width: 480px) {
		
		.home-news-body-content {
			padding-left: 8.33333%;
			padding-right: 8.33333%;
		}
		
	}

	@media (min-width: 980px) {
		
		.home-news-body-content {
			padding-left: 16.66667%;
			padding-right: 16.66667%;
		}
		
		.home-news-body-content a {
			display: inline-block;
		}
		
	}

.home-news-body-content .news-list {
	margin-bottom: 2.3rem;
}

.home-news-title {
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	line-height: 1.15;
	font-weight: 100;
	color: #000000;
	text-align: center;
}

	@media (min-width: 680px) {
		.home-news-title {
			font-size: 2.1rem;
		}
	}

	@media (min-width: 980px) {
		.home-news-title {
			font-size: 2.5rem;
			margin-left: -10%;
			text-align: left;
		}
	}

.home-news-visual {
	background-color: #f8f8f8;
}

	@media (min-width: 980px) {
		.home-news-visual {
			position: absolute;
			left: 50%;
			top: 0;
			bottom: 0;
		}
	}

.home-news-visual-inner {
	padding-top: 41.66667%;
	box-sizing: border-box;
	background-image: url("../images/img_news_small.jpg");
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
}

	@media (min-width: 680px) {
		.home-news-visual-inner {
			padding-top: 31.25%;
		}
	}

	@media (min-width: 980px) {
		.home-news-visual-inner {
			padding-top: 0;
			background-image: url("../images/img_news.jpg");
		}
	}

	@media (min-width: 1960px) {
		.home-news-visual-inner {
			background-image: url("../images/img_news.jpg");
			background-position: right center;
		}
	}

.news-list-date {
	margin-right: 0.5rem;
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 0.05em;
	color: #000000;
}

.news-list-tag {
	font-size: 15px;
	font-weight: 300;
	letter-spacing: 0.05em;
	/*text-transform: uppercase;*/
}

.news-list-text {
	margin-top: 0.7rem;
	font-size: 16px;
	line-height: 1.5;
	font-weight: 400;
}

.NewsDetail {
	background-color: #f8f8f8;
}

.NewsDetail:before, .NewsDetail:after {
	content: " ";
	display: table;
}

.NewsDetail:after {
	clear: both;
}

.NewsDetail-inner {
	margin-top: 40px;
}

.NewsDetail-body {
	border-bottom: 1px #999999 dashed;
}

.NewsDetail-footer {
	margin-top: 30px;
	margin-bottom: 40px;
}

.NewsDetail-bottom {
	margin-top: 40px;
	margin-bottom: 40px;
	text-align: center;
}

.news-list-item {
	padding-top: 1.2rem;
	padding-bottom: 0.8rem;
	border-bottom: 1px #ddd solid;
}

.news-list-item:first-of-type {
	padding-top: 0;
}

.news-list-item a {
	display: block;
}

.no-touchevents .news-list-item:hover .news-list-text {
	text-decoration: underline;
}


/* --------------------------------------------

                 philosophy

--------------------------------------------*/

.home-recruit {
	position: relative;
	background-color: #eee;
	color: #000;
}

.home-recruit-body {
	background-color: #fff;
}

.home-recruit-body-content {
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 10%;
	padding-bottom: 5%;
}

	@media (min-width: 480px) {
		.home-recruit-body-content {
			padding-left: 8.33333%;
			padding-right: 8.33333%;
		}
	}

	@media (min-width: 980px) {
		.home-recruit-body-content {
			padding-left: 16.66667%;
			padding-right: 16.66667%;
		}
	}

.home-recruit-title {
	margin-bottom: 0.75rem;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	line-height: 1.15;
	font-weight: 100;
	text-align: center;
}

	@media (min-width: 980px) {
		.home-recruit-title {
			font-size: 2.5rem;
			margin-bottom: 1.25rem;
		}
	}

.home-recruit-title br {
	display: none;
}

	@media (min-width: 980px) {
		.home-recruit-title br {
			display: inline;
		}
	}

.home-recruit-summary {
	margin-bottom: 1rem;
	line-height: 1.6;
	font-weight: 400;
	text-align: center;
}

	@media (max-width: 680px) {
		.home-recruit-summary {
			font-size: 15px;
		}
	}

	@media (min-width: 980px) {
		.home-recruit-summary {
			margin-bottom: 1.8rem;
		}
	}

	@media (min-width: 1600px) {
		.home-recruit-summary {
			font-size: 18px;
			line-height: 1.6;
		}
	}

.home-recruit-summary-inner {
	display: inline-block;
}

.home-recruit-visual-inner {
	background-image: url("../images/img_philosophy.jpg");
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	padding-top: 41.66667%;
	box-sizing: border-box;
}

	@media (max-width: 600px) {
		.home-recruit-visual-inner {
			background-image: url("../images/img_philosophy_small.jpg");
		}
	}

	@media (min-width: 980px) {
		.home-recruit-visual-inner {
			padding-top: 0;
		}
	}

.home-recruit-visual-inner img {
	display: none;
}


/* --------------------------------------------

                   company

--------------------------------------------*/

.home-company {
	position: relative;
	background-color: #ffffff;
	color: #ffffff;
}
		@media (max-width: 600px) {
			.home-company {
				margin-top: 20px;
			}
		}

.home-company-body {
	max-width: 1960px;
	margin-left: auto;
	margin-right: auto;
}

	.home-company-body {
		background-image: url("../images/img_company.jpg");
		background-position: center;
		background-repeat: no-repeat;
		background-size: cover;
	}

		@media (max-width: 600px) {
			.home-company-body {
				background-image: url("../images/img_company_small.jpg");
			}
		}

.home-company-body-overlay {
	position: absolute;
	width: 100%;
	height: 100%;
	left: 0;
	top: 0;
}

.home-company-body-content {
	position: relative;
	padding-left: 20px;
	padding-right: 20px;
	padding-top: 8.33333%;
	padding-bottom: 10%;
}

	@media (min-width: 480px) {
		.home-company-body-content {
			padding-left: 8.33333%;
			padding-right: 8.33333%;
		}
	}

	@media (min-width: 680px) {
		.home-company-body-content {
			color: #ffffff;
		}
	}

	@media (min-width: 980px) {
		.home-company-body-content {
			padding-left: 33.33333%;
			padding-right: 33.33333%;
		}
	}

.home-company-body-content .symbol_mark {
	width: 275px;
	margin: 0 auto;
}

	@media (max-width: 680px) {
		.home-company-body-content .symbol_mark {
			width: 127px;
		}
	}

@media (max-width: 680px) {
	.home-company-body-content .symbol_mark img {
		width: 127px;
	}
}

.home-company-title {
	margin-bottom: 0.75rem;
	font-size: 1.7rem;
	letter-spacing: 0.05em;
	line-height: 1.15;
	font-weight: 100;
	text-align: center;
	text-shadow: 0 0 15px #000;
}

	@media (min-width: 680px) {
		.home-company-title {
			font-size: 2.1rem;
			text-shadow: 0 0 15px #000;
		}
	}

	@media (min-width: 980px) {
		.home-company-title {
			font-size: 2.5rem;
			margin-bottom: 1.25rem;
		}
	}
	
.home-company-summary {
	margin-bottom: 1rem;
	line-height: 1.6 !important;
	font-weight: 400;
	text-align: center;
}

	@media (min-width: 680px) {
		.home-company-summary {
			font-size: 15px;
			text-shadow: 0 0 15px #000;
		}
	}

	@media (min-width: 980px) {
		.home-company-summary {
			margin-bottom: 2.2rem;
		}
	}

	@media (min-width: 1600px) {
		.home-company-summary {
			font-size: 18px;
			line-height: 1.6;
		}
	}

.home-company .home-company-summary-inner {
	display: inline-block;
}

.home-company-more {
	text-align: center;
}

.home-company-visual-inner img {
	display: none;
}

@media (min-width: 980px) {
	
	.home-recruit-more {
		text-align: left;
	}
	
	.home-recruit-visual {
		position: absolute;
		left: 0;
		top: 0;
		bottom: 0;
	}
	
	.home-content {
		display: -webkit-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display: flex;
	}
	
	.home-content.home-recruit {
		-webkit-box-orient: horizontal;
		-webkit-box-direction: reverse;
		-webkit-flex-direction: row-reverse;
		-ms-flex-direction: row-reverse;
		flex-direction: row-reverse;
	}
	
	.home-content-block.block-left {
		width: 50%;
	}
	
	.home-content-block.block-right {
		width: 50%;
	}
	
	.home-content-block-inner {
		height: 100%;
		max-width: 980px;
		min-height: 510px;
	}
	
}

@media (min-width: 680px) {
	.home-company-visual {
		display: none;
	}
}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　　　 news.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#wrapper {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
}

#wrapper .news-list {
	margin-bottom: 90px
}

	@media (max-width: 1140px) {
		#wrapper .news-list {
			margin: 0 10px 30px;
		}
	}

.pager {
    overflow: hidden;
	margin-bottom: 90px;
	font-weight: bold;
}

	@media (max-width: 1140px) {
		.pager {
			margin-bottom: 60px;
		}
	}
 
.pager ul {
    list-style: none;
    position: relative;
    left: 50%;
    float: left;
}
 
.pager ul li {
    margin: 0 1px;
    position: relative;
    left: -50%;
    float: left;
}

.pager ul li.current {
	color: #41bbbc;
}
 
.pager ul li span,
.pager ul li a {
    display: block;
    font-size: 16px;
    padding: 0.6em 1em;
    border-radius: 10px;
}

	@media (max-width: 600px) {
		.pager ul li span,
		.pager ul li a {
			font-size: 14px;
    		padding: 0.6em;
		}
	}

.pager ul li:first-of-type a {
	font-weight: normal;
    border: 1px solid #000;
	margin-right: 10px;
}

.pager ul li:last-of-type a {
	font-weight: normal;
    border: 1px solid #000;
	margin-left: 10px;
}
 
.pager ul li a:hover {
    background: #41bbbc;
	opacity: 1;
}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　  news_detail.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#news_detail-list {
	max-width: 1140px;
	width: 100%;
	margin: 96px auto 60px;
}

	@media (max-width: 1140px) {
		#news_detail-list {
			width: auto;
			margin: 96px 20px 60px;
		}
	}

	@media (max-width: 600px) {
		#news_detail-list {
			width: auto;
			margin: 66px 20px 30px;
		}
	}

#news_detail-contents {
	background: #f9f9f9;
}

#news_detail-contents p {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	padding: 60px 0;
	line-height: 2;
}

	@media (max-width: 1140px) {
		#news_detail-contents p {
			width: auto;
			margin: 0 20px;
		}
	}

	@media (max-width: 600px) {
		#news_detail-contents p {
			width: auto;
			margin: 0 20px;
			padding: 30px 0;
		}
	}

#news_detail-btn {
	max-width: 187px;
	width: 100%;
	margin: 60px auto 90px;
}

	@media (max-width: 600px) {
		#news_detail-btn {
			margin: 40px auto 60px;
		}
	}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　    company.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#origin .txt {
	background: #eee;
	font-size: 16px;
	line-height: 1.6;
	padding: 40px 0 60px;
}

	@media (max-width: 1140px) {
		#origin .txt {
			padding: 20px 20px 40px;
		}
	}

#origin .txt p {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
}

#origin .txt p strong {
	font-size: 23px;
	font-weight: bold;
}

	@media (max-width: 600px) {
		#origin .txt p strong {
			font-size: 20px;
		}
	}

.loop_img {
	background: url(../images/company/img.jpg) repeat-x 0 0;
	background-size: contain;
	width: 100%;
	height: 222px;
	overflow: hidden;
	-moz-animation: loop 26s linear infinite;
	animation: loop 26s linear infinite;
	margin: 45px 0 90px;
}

	@media (max-width: 680px) {
		.loop_img {
			background: url(../images/company/img_sp.jpg) repeat-x 0 0;
			background-size: contain;
			width: 100%;
			height: 145px;
			overflow: hidden;
			-moz-animation: loop 26s linear infinite;
			animation: loop 26s linear infinite;
			margin: 0 0 60px;
		}
	}

@keyframes loop {
	0% {
		background-position: 0 0;
	}

	100% {
		background-position: -1258px 0;
	}
}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　philosophy.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#wrapper {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
}

#wrapper #philosophy h3 {
	background: #41bbbc;
	padding: 16px 0;
	font-size: 20px;
	text-align: center;
	color: #fff;
}

	@media (max-width: 600px) {
		#wrapper #philosophy h3 {
			padding: 14px 0;
			font-size: 22px;
		}
	}

#wrapper #philosophy .box {
	overflow: hidden;
}

#wrapper #philosophy .box .vertical {
	max-width: 540px;
	width: 100%;
	float: left;
}

	@media (max-width: 1140px) {
		#wrapper #philosophy .box .vertical {
			max-width: none;
			width: auto;
			float: none;
			margin: 0 10px;
		}
	}

#wrapper #philosophy .box .vertical:last-of-type {
	float: right;
}

@media (max-width: 1140px) {
	#wrapper #philosophy .box .vertical figure {
		max-width: 540px;
		width: 100%;
		margin: 0 auto;
	}
}

#wrapper #philosophy .box .vertical figure img {
	max-width: 540px;
	width: 100%;
}

	@media (max-width: 1140px) {
		#wrapper #philosophy .box .vertical figure img {
			margin-bottom: 40px;
		}
	}

#wrapper #philosophy .box .vertical p {
	padding: 20px 10px;
	line-height: 2;
	height: 320px;
}

	@media (max-width: 1140px) {
		#wrapper #philosophy .box .vertical p {
			height: auto;
		}
	}

#wrapper #philosophy .side {
	overflow: hidden;
	margin-top: 60px;
}

	@media (max-width: 1140px) {
		#wrapper #philosophy .side {
			margin: 0 10px;
		}
	}

#wrapper #philosophy .side figure {
	float: left;
	margin: 30px 30px 120px 0;
}

	@media (max-width: 1140px) {
		#wrapper #philosophy .side figure {
			float: none;
			margin: 20px auto;
			max-width: 540px;
		}
	}

#wrapper #philosophy .side p {
	line-height: 2;
	margin: 115px 10px 0 0;
}

	@media (max-width: 1140px) {
		#wrapper #philosophy .side p {
			margin: 0 0 40px;
		}
	}

#wrapper #philosophy .side figure img {
	max-width: 525px;
	width: 100%;
}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　 privacypolicy.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#privacypolicy h2 {
	padding: 81px 0 60px !important;
}

	@media (max-width: 600px) {
		#privacypolicy h2 {
			padding: 81px 0 40px !important;
			font-size: 30px !important;
		}
	}

#privacypolicy .contents {
	background: #f3f3f3;
}

#privacypolicy .contents p {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
	line-height: 2;
	font-size: 16px;
}

	@media (max-width: 1140px) {
		#privacypolicy .contents p {
			margin: 0 10px;
		}
	}

	@media (max-width: 600px) {
		#privacypolicy .contents p {
			width: auto;
			margin: 0 20px;
			padding: 30px 0;
			font-size: 16px;
		}
	}

#privacypolicy .txt {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
	padding: 60px 0 120px;
	line-height: 2;
}

	@media (max-width: 1140px) {
		#privacypolicy .txt {
			margin: 0 10px;
		}
	}

	@media (max-width: 600px) {
		#privacypolicy .txt {
			width: auto;
			margin: 0 20px;
			padding: 30px 0 60px;
		}
	}

#privacypolicy .txt strong {
	font-size: 22px;
	font-weight: bold;
}

	@media (max-width: 600px) {
		#privacypolicy .txt strong {
			font-size: 19px;
		}
	}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　    recruit.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

.recruit {
	margin-bottom: 45px;
	padding-top: 100px;
	margin-top: -100px;
}

	@media (max-width: 1140px) {
		.recruit {
			margin-bottom: 25px;
		}
	}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　　service.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#service #wrapper {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
}

	@media (max-width: 1080px) {
		#service #wrapper {
			max-width: 540px;
		}
	}

	@media (max-width: 540px) {
		#service #wrapper {
			width: 100%;
		}
	}

#service #wrapper .title-group{
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	font-size: 18px;
	margin-bottom: 30px;
	gap: 20px;
	font-weight: bold;
}
	
#service #wrapper .title-group::before,
#service #wrapper .title-group::after {
	content: "";
	flex-grow: 1;
	height: 1px;
	background-color: #000;
	margin: 0 10px;
	display: inline-block;
}

#service {
	overflow: hidden;
}

#service .box {
	float: left;
	line-height: 0;
}

#service .box:last-of-type {
	margin-bottom: 60px;
}

#service .box div {
	position: relative;
	text-align: center;
	width: 270px;
	height: 270px;
	float: left;
	transition: all 1s cubic-bezier(0.19,1,.22,1);
	background: #41bbbc;
	color: #fff;
}

#service .box div.puratanasu {
	background: #83ae23;
}

	@media (max-width: 600px) {
		
		#service .box div {
			color: #fff;
			width: 100%;
			height: 200px;
		}
		
	}

#service .box div.fr {
	float: right;
}

#service .box div h3 {
	line-height: 1.4;
}

#service .txt1 div h3 {
	margin-top: 90px;
}

#service .txt2 div h3 {
	margin-top: 80px;
}


#service .txt3 div h3 {
	margin-top: 60px;
}

#service .box div p {
	font-size: 25px;
	color: #fff;
	margin-top: 30px;
	font-weight: bold;
}

#service .box div a {
	display: block;
	position: absolute;
	bottom: 30px;
	left: 0;
	right: 0;
}

#service .box div a ul {
	display: inline-block;
}

#service .box div a ul li {
	font-size: 13px;
	border: 1px solid #fff;
	padding: 17px 18px 11px;
}

	@media (max-width: 600px) {
		#service .box div a ul li {
			padding: 17px 18px;
			border: 1px solid #fff;
		}
		#service .txt2 div h3 {
			margin-top: 40px;
		}
}

#service .box div:hover a ul li {
	border: 1px solid #fff;
}

#service .box img {
	width: 270px;
	height: 270px;
}
	@media (max-width: 600px) {
		#service .box img {
			width: 80%;
			height: auto;
			margin: 0px auto 30px;
			display: block;
			padding: 10px;
		}
	}
#service .img img {
	/* float: left; */
}

#service .btn {
	display: block;
	width: 204px;
	margin: 0 auto 120px;
}

	@media (max-width: 600px) {
		#service .btn {
			margin: 0 auto 90px;
		}
	}

#service .btn ul {
	display: inline-block;
}

#service .btn ul li {
	background: #41bbbc;
	padding: 30px 60px;
	font-weight: bold;
	color: #fff;
}

	@media (max-width: 600px) {
		#service .btn ul li {
			padding: 20px 80px;
		}
	}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　service-in.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#service-in h2 {
	padding: 120px 0 60px !important;
	line-height: 1.2 !important;
}

	@media (max-width: 600px) {
		#service-in h2 {
			padding: 100px 0 40px !important;
			line-height: none !important;
		}
	}

#service-in h2 p {
	font-size: 35px;
	margin: 0 20px;
}

	@media (max-width: 600px) {
		#service-in h2 p {
			font-size: 19px;
			margin: 0 10px;
			line-height: 1.4;
		}
	}

@media (min-width: 415px) {
	#service-in h2 p br {
		display: none;
	}
}

#service-in h2 div {
	margin: 28px auto 0 !important;
}

	@media (max-width: 600px) {
		#service-in h2 div {
			margin: 19px auto 0 !important;
		}
	}

#service-in img {
	width: 100%;
	line-height: 0;
}

#service-in .c-txtsp img {
	margin-top: 57px;
}

	@media (max-width: 600px) {
		#service-in .c-txtsp img {
			margin-top: 27px;
		}
	}

#service-in .c-txtsp .txt {
	width: 100%;
	margin: 60px auto 0 !important;
}

	@media (max-width: 600px) {
		#service-in .c-txtsp .txt {
			margin: 30px auto 0 !important;
		}
	}

#service-in .c-txtsp .txt div {
	font-size: 25px;
	line-height: 2;
	border: 18px solid #eee;
	padding: 20px 30px;
}

	@media (max-width: 600px) {
		#service-in .c-txtsp .txt div {
			font-size: 16px;
			line-height: 1.6;
			border: 12px solid #eee;
			padding: 10px 15px;
		}
	}

#service-in .c-txtsp .txt div p {
	font-size: 34px;
	font-weight: bold;
	text-align: center;
	margin-bottom: 10px;
}

	@media (max-width: 600px) {
		#service-in .c-txtsp .txt div p {
			font-size: 25px;
		}
	}

#service-in .c-txtsp .txt span {
	font-size: 22px;
}

	@media (max-width: 600px) {
		#service-in .c-txtsp .txt span {
			font-size: 13px;
		}
	}

#service-in .img04 {
	max-width: 1089px;
	width: 100%;
	margin: 60px auto 40px;
}

#service-in .img04_small {
	margin: 60px 0;
}

#service-in .img04_small p:first-of-type {
	text-align: center;
	margin-bottom: 30px;
}

#service-in .img04_small p:last-of-type {
	max-width: 253px;
	width: 100%;
	margin: 0 auto;
}

#service-in .img04_small p:last-of-type img {
	margin-bottom: 20px;
}

#service-in .img04_small p:last-of-type img:last-of-type {
	margin-bottom: 0;
}

#service-in .txt {
	width: 100%;
	line-height: 2;
	background-color: #f5f5f5;
	overflow: hidden;
}

#service-in .content-wrapper {
	margin-top: 80px;
}

#service-in .biora-title {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
}

#service-in .biora-title span {
	display: block;
	font-size: 0.6em;
	margin-top: 0.4em;
	color: #ff8f00;
}

#service-in .sutera-title {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
}

#service-in .sutera-title span {
	display: block;
	font-size: 0.6em;
	margin-top: 0.4em;
	color: #ff8f00;
}

#service-in .airi-title {
	font-size: 26px;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
}

#service-in .airi-title span {
	display: block;
	font-size: 0.6em;
	margin-top: 0.4em;
	color: #ff8f00;
}

#service-in .flow {
	max-width: 1100px;
	margin: -50px auto 90px;
	display: block;
}

#service-in .txt p {
	margin: 30px auto;
	width: 80%;
}

#service-in .service-cap {
	text-align: center;
	font-size: 1.2em;
	line-height: 1.4em;
	margin: 70px auto 0;
}

#service-in .service-cap em {
	font-size: 1.4em;
	margin: 10px 0;
	display: inline-block;
	font-weight: bold;
}

#service-in .txt h3 {
	margin-top: -30px;
	padding-top: 80px;
}

#service-in .txt h4{
	font-size: 1.2em;
	border-left: solid 4px #000;
	line-height: 1.2em;
	padding-left: 4px;
}

	@media (max-width: 600px) {
		#service-in .txt h4{
			margin-top: 20px;
		}
		
		#service-in .txt p {
			margin: 10px auto;
			width: 90%;
		}
		
		#service-in .service-cap {
			font-size: 3vw;
			margin: 30px auto 0;
		}
		
		#service-in .service-cap em {
			font-size: 3.8vw;
		}
}

#service-in .txt strong {
	font-size: 22px;
	font-weight: bold;
	border-left: solid 4px #41bbbc;
	padding-left: 6px;
}

	@media (max-width: 600px) {
		#service-in .txt strong {
			font-size: 19px;
		}
	}

#service-in-list {
	max-width: 1140px;
	width: 100%;
	margin: 96px auto 60px;
}

	@media (max-width: 1140px) {
		#service-in-list {
			width: auto;
			margin: 96px 20px 60px;
		}
	}

	@media (max-width: 600px) {
		#service-in-list {
			width: auto;
			margin: 66px 20px 30px;
		}
	}

#service-in .txt .system-table {
	display: flex;
	align-items: center;
	align-content: stretch;
	margin-bottom: 10px;
	border-top: solid 1px #d9d9d9;
	border-bottom: solid 1px #d9d9d9;
}

#service-in .txt .system-table dt{
	width: 20%;
	display: flex;
}

#service-in .txt .system-table dd{
	width: 80%;
	padding: 10px;
	background-color: #f9f9f9;
}

#service-in .txt .system-table dd ul {
	display: flex;
	flex-wrap: wrap;
}

#service-in .txt .system-table dd ul li {
	width: calc(100%/3);
	max-width: 200px;
	margin: 4px;
	text-align: center;
}

#service-in .txt .system-table dd ul li img {
	width: 100%;
	vertical-align: top;
}
	@media (max-width: 1140px) {
		#service-in .txt .system-table dd ul li {
			width: calc(calc(100%/3) - 8px);
		}
	}

	@media (max-width: 600px) {
		#service-in .txt .system-table {
			flex-direction: column;
		}

		#service-in .txt .system-table dt{
			width: 100%;
			padding: 10px;
		}
		
		#service-in .txt .system-table dd {
			width: 92%;
			padding: 4%;
		}

		#service-in .txt .system-table dd ul {
		}

		#service-in .txt .system-table dd ul li {
			width: calc(calc(100%/3) - 8px);
		}

	}

.service-link {
	display: flex;
	justify-content: center;
	z-index: 10;
	position: relative;
}

.service-link a {
	display: inline-block;
	background-color: #000;
	margin: 10px;
	color: #fff;
	padding: 20px 10px;
}
	@media (max-width: 600px) {
		.service-link a {
			padding: 20px 4px;
			font-size: 12px;
		}
	}

.service-in-contents {
	background: #eee;
	/* overflow: hidden; */
}

#service-in .contents-box02 {
	background-color: #d3f0e7;
	padding: 30px 0;
	margin-top: 40px;
}

#service-in .contents-box02 .box02-point {
	display: flex;
	width: 90%;
	max-width: 1100px;
	margin: 40px auto 0;
}

#service-in .contents-box02 .box02-point li {
	width: 50%;
}

#service-in .contents-box02 .box02-point li dl {
	margin-left: 10px;
}

#service-in .contents-box02 .box02-point li dl dt {
	background-color: #fff;
	padding: 10px;
	font-size: 18px;
	font-weight: bold;
	border-radius: 30px;
}

#service-in .contents-box02 .box02-point li dl dd {
	margin: 1em;
	line-height: 1.4em;
}

#service-in .contents-box02 .box02-type {
	display: flex;
	width: 90%;
	max-width: 1100px;
	margin: 40px auto 0;
	justify-content: center;
}

#service-in .contents-box02 .box02-type li {
	width: 40%;
	margin: 0 10px;
}

#service-in .contents-box02 .box02-type li img{

}

#service-in .contents-box03 {
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

#service-in .contents-box03 p {
	margin-top: 10px;
	width: 94%;
	margin: 0 auto;
	line-height: 1.6em;
}

#service-in .contents-box04 {
	background-color: #d3f0e7;
	padding: 30px 0;
	margin-top: 40px;
}

#service-in .contents-box04 .cost {
	display: flex;
	width: 90%;
	max-width: 1100px;
	margin: 20px auto 0;
}

#service-in .contents-box04 .cost li {
	width: 50%;
	margin: 10px;
}

#service-in .contents-box04 .cost li p {
	padding: 1em;
	line-height: 1.4em;
}

.sutera-bg{
	background-color: #ffe0ea !important;
}

.airi-bg {
	background-color: #99d7f5 !important;
}

.service-in-contents .essential-point {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}

.service-in-contents .essential-point::after {
	content: "";
	background-image: url("../images/service/in/biora_illustration.png");
	display: block;
	width: 365px;
	height: 362px;
	position: absolute;
	bottom: 0;
	right: 30px;
	background-repeat: no-repeat;
}

.service-in-contents .essential-point li {
	background-color: #d3f0e7;
	padding: 1em;
	margin-top: 20px;
	line-height: 1.4em;
}

.service-in-contents .essential-point-sutera {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}

.service-in-contents .essential-point-sutera::after {
	content: "";
	background-image: url("../images/service/in/sutera_illustration.png");
	display: block;
	width: 365px;
	height: 362px;
	position: absolute;
	bottom: 0;
	right: 30px;
	background-repeat: no-repeat;
}

.service-in-contents .essential-point-sutera li {
	background-color: #f2bacb;
	padding: 1em;
	margin-top: 20px;
	line-height: 1.4em;
}

.service-in-contents .essential-point-airi {
	width: 90%;
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
}

.service-in-contents .essential-point-airi::after {
	content: "";
	background-image: url("../images/service/in/airi_illustration.png");
	display: block;
	width: 365px;
	height: 362px;
	position: absolute;
	bottom: 0;
	right: 30px;
	background-repeat: no-repeat;
}

.service-in-contents .essential-point-airi li {
	background-color: #99d7f5;
	padding: 1em;
	margin-top: 20px;
	line-height: 1.4em;
}

.service-in-contents .cap02 {
	font-size: 20px;
	font-weight: bold;
	text-align: center;
	margin-top: 20px;
	display: block;
}


.service-in-contents .rupina-service {
	display: flex;
	width: 100%;
	max-width: 1200px;
	margin: 80px auto;
}

.service-in-contents .rupina-service:nth-of-type(2) li:first-child {
	order: 2;
	margin-left: 20px;
}

.service-in-contents .rupina-service li {
	width: 50%;
}

.service-in-contents .rupina-service li h3 {
	background: #41bbbc;
	color: #fff;
	padding: 20px;
	font-size: 18px;
	margin-top: 73px;
	width: 90%;
	border-radius: 50px;
	font-weight: bold;
}

.service-in-contents .rupina-service li h4 {
	background-color: #efefef;
	padding: 10px;
	margin-top: 30px;
	width: 90%;
	font-size: 1.2em;
}

.service-in-contents .rupina-service li p {
	margin-top: 10px;
	line-height: 1.6em;
	margin-left: 1em;
}

.service-in-contents .service-subtitle{
	margin: 20px 0 0;
	text-align: center;
	font-size: 1.2em;
}

.service-in-contents > p {
	max-width: 1000px;
	width: 100%;
	margin: 0 auto;
	padding: 30px 0;
	font-size: 19px;
	line-height: 1.6;
}

.shutokukasan{
	width: 100%;
	max-width: 1200px;
	margin: 80px auto;
}

.shutokukasan dt{
	background-color: #efefef;
	padding: 10px;
	margin-top: 30px;
	font-size: 1.2em;
}

.shutokukasan dd {
	margin: 1em;
}

@media (max-width: 1140px) {
		.service-in-contents p {
			width: auto;
			margin: 0 20px;
		}
	}

	@media (max-width: 600px) {
		.service-in-contents p {
			width: auto;
			margin: 0 20px;
			padding: 30px 0 25px;
			font-size: 16px;
		}
		
		.service-in-contents .rupina-service {
			flex-direction: column;
			margin: 40px auto;
		}
		
		.service-in-contents .rupina-service li {
			width: 100%;
		}
		.service-in-contents .rupina-service li:first-child {
			order: 2;
		}
		
		.service-in-contents .rupina-service li h3 {
			font-size: 18px;
			margin: -30px auto 10px;
			width: 88%;
			line-height: 1.2em;
		}
		
		.service-in-contents .rupina-service li h4 {
			width: auto;
			margin-top: 10px;
		}
		
		.service-in-contents .rupina-service li p {
			font-size: 3.4vw;
			margin-top: 0;
			padding: 10px 0;
		}
		.service-in-contents .rupina-service:nth-of-type(2) li:first-child {
			order: 2;
			margin-left: 0;
		}
		
	.service-in-contents .essential-point::after {
		width: 100px;
		background-size: contain;
		bottom: unset;
		top: -90px;
		right: 0;
		z-index: 100;
	}

	.service-in-contents .essential-point-sutera::after {
		width: 100px;
		background-size: contain;
		bottom: unset;
		top: -90px;
		right: 0;
		z-index: 100;
	}

	.service-in-contents .essential-point-airi::after {
		width: 100px;
		background-size: contain;
		bottom: unset;
		top: -90px;
		right: 0;
		z-index: 100;
	}

	#service-in .contents-box02 .box02-point {
		flex-direction: column;
	}
		
	#service-in .contents-box02 .box02-point li {
		width: 100%;
	}
		
	#service-in .contents-box02 .box02-point li dl {
		margin-left: 0;
		margin-top: 10px;
	}
		
	#service-in .contents-box02 .box02-point li dl dd {
		margin: 0.6em 1em 1.4em;
		line-height: 1.4em;
	}
		
	#service-in .contents-box02 .box02-type {
		flex-direction: column;
		margin: 10px auto 0;
	}
		
	#service-in .contents-box02 .box02-type li {
		width: 90%;
		margin: 0 auto 10px;
	}
		
	#service-in .contents-box04 .cost {
		flex-direction: column;
	}
		
	#service-in .contents-box04 .cost li {
		width: 96%;
		margin: 0 auto;
	}
		
	#service-in .contents-box04 .cost li p {
		padding: 0.4em;
	}
	.service-in-contents .essential-point li:first-child {
		margin-top: 20px;
	}
	.service-in-contents .essential-point li {
		margin-top: 10px;
	}
}

@media (max-width: 600px) {
	.service-in-contents p.pc {
		display: none;
	}
}

@media (min-width: 415px) {
	.service-in-contents p.sp {
		display: none;
	}
}

@media (max-width: 600px) {
	.txt .pc {
		display: none;
	}
}

@media (min-width: 415px) {
	.txt .sp {
		display: none;
	}
}

.service-in-contents p .img_hp {
	max-width: 555px;
	width: 100%;
	margin-top: 55px;
	margin-right: 15px;
}

.service-in-contents p .img_hp:last-of-type {
	margin-right: 0;
}

	@media (max-width: 600px) {
		.service-in-contents p .img_hp {
			margin-top: 25px;
			margin-right: 0;
		}
	}

.service-in-btn {
	max-width: 187px;
	width: 100%;
	margin: 60px auto;
}

	@media (max-width: 600px) {
		#service-in-btn {
			margin: 30px auto 60px;
		}
	}

.service-in .all-width {
	max-width: 1200px;
	width: 100%;
	margin: 50px auto 0;
}

.service-in .all-width .img {
	max-width: 1140px;
	width: 100%;
	margin: 0 auto;
}

.white-bg{
	background-color: #fff;
}
/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　　contact.html

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

#contact h2 {
	padding: 70px 0 !important;
}

	@media (max-width: 600px) {
		#contact h2 {
			padding: 70px 0 40px !important;
		}
	}


/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　　   form

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

.contact-box {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
}

.contact-box .check {
	margin: 40px 0;
}

.contact-box .check p {
	margin: 20px 0;
	color: #f00;
}

.contact-box dt {
	background: #fff;
	color: #000;
	font-size: 16px;
	padding: 40px 0 10px;
}

	@media (max-width: 1140px) {
		.contact-box dt, .contact-box dd {
			margin: 0 10px;
		}
	}

.contact-box dt:first-of-type {
	padding: 60px 0 10px;
}

.contact-box dt span {
	color: #f00;
}

.contact-box dd select {
	display: block;
	width: 100%;
	padding: 15px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border: solid 1px #6a6a6a;
	cursor: pointer;
}

	@media (max-width: 1140px) {
		.contact-box dd select {
			width: 95%;
			margin: 0 10px;
		}
	}

.contact-box dd input {
	display: block;
	width: 97%;
	padding: 15px;
}

	@media (max-width: 1140px) {
		.contact-box dd input {
			width: 85%;
			margin: 0 10px;
		}
	}

.contact-box dd textarea.input-usually {
	width: 99%;
	height: 300px;
}

	@media (max-width: 1140px) {
		.contact-box dd textarea.input-usually {
			width: 91%;
			margin: 0 10px;
		}
	}

.contact-box .btn {
	width: 280px;
	margin: 50px auto 120px;
}

form .submit {
	width: 100%;
	padding: 20px;
	background-color: #41bbbc;
	border: 1px solid #41bbbc; 
	color: #fff;
	font-weight: bold;
	letter-spacing: 4px;
	transition: all 1s cubic-bezier(0.19,1,.22,1);
	font-family: Helvetica, Arial, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	font-size: 16px;
	cursor: pointer;
}

form .submit:hover {
	background-color: #000;
	border: 1px solid #000;
	color: #fff;
}

.top-ban {
	max-width: 1081px;
	margin: 30px auto;
	display: block;
	width: 98%;
}

.top-ban img{
	width: 100%;
}

	@media (max-width: 800px) {
		.top-ban {
			margin: 10px auto;
			width: 96%;
		}
	}

.corona-btn {
	display: block;
	margin: 0 auto 20px;
	padding: 20px 0;
	text-align: center;
	background-color: #ff8300;
	color: #fff;
	width: 270px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 6px;
}

.top-ban01 {
	display: flex;
	width: 94%;
	margin: 20px auto;
	max-width: 1090px;
}

.top-ban01 li img{
	width: 100%;
}

@media (max-width: 800px) {
	.top-ban01 {
		flex-direction: column;
	}
	.top-ban01 li:first-child{
		margin-bottom: 6px;
	}
	.top-ban01 li:last-child{
		position: relative;
	}
	.top-ban01 li:last-child::after {
		content: "";
		position: absolute;
		top: 96%;
		left: 50%;
		margin-left: -15px;
		border: 15px solid transparent;
		border-top: 15px solid #1bd6bb;
	}

}

.top-ban02 {
	display: flex;
	width: 90%;
	margin: 20px auto;
	max-width: 1080px;
	border: solid 1px #ccc;
	border-radius: 10px;
	padding: 5px;
}


.top-ban02 li img{
	width: 100%;
}

@media (max-width: 800px) {
	.top-ban02 {
		flex-wrap: wrap;
	}

	.top-ban02 li {
		width: 50%;
	}
}

.sutera-img-btn {
	display: block;
	margin: 0 auto 20px;
	padding: 20px 0;
	text-align: center;
	background-color: #ff8300;
	color: #fff;
	width: 270px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 6px;
}

.airi-img-btn {
	display: block;
	margin: 0 auto 20px;
	padding: 20px 0;
	text-align: center;
	background-color: #ff8300;
	color: #fff;
	width: 270px;
	font-size: 16px;
	font-weight: bold;
	border-radius: 6px;
}

.lb-nav a.lb-next,.lb-nav a.lb-prev {
	opacity: 1 !important;
}

/*--top movie--*/

.movie-box {
	max-width: 800px;
	margin: 0 auto 50px;
	width: 88%;
}

	@media (max-width: 800px) {
		.movie-box {
			margin: 0 auto 20px;
		}
	}

.movie-inner {
	position: relative;
	width: 100%;
	border-radius: 25px;
	overflow: hidden;
	border: solid 12px #41bbbc;
	box-sizing: border-box;
}

	@media (max-width: 800px) {
		.movie-inner {
			border-radius: 16px;
			border: solid 6px #41bbbc;
		}
	}

.movie-inner video {
	width: 100%;
	vertical-align: top;
}

.balloon2 {
	position: relative;
	display: block;
	margin: 1.5em auto 15px;
	padding: 1em 0.4em;
	min-width: 120px;
	max-width: 500px;
	color: #000;
	background: #FFF;
	border: solid 3px #41bbbc;
	box-sizing: border-box;
	width: 84%;
	text-align: center;
	border-radius: 10px;
	font-size: 18px;
	font-weight: bold;
}

	@media (max-width: 800px) {
		.balloon2 {
			font-size: 16px;
		}
	}

.balloon2:before {
	content: "";
	position: absolute;
	bottom: -24px;
	left: 50%;
	margin-left: -15px;
	border: 12px solid transparent;
	border-top: 12px solid #FFF;
	z-index: 2;
}

.balloon2::after {
	content: "";
	position: absolute;
	bottom: -30px;
	left: 50%;
	margin-left: -17px;
	border: 14px solid transparent;
	border-top: 14px solid #41bbbc;
	z-index: 1;
}



/* -------------------------------------------------------------------------------------------
----------------------------------------------------------------------------------------------

              		　　　　　　　　　　airi2.html 202509

----------------------------------------------------------------------------------------------
--------------------------------------------------------------------------------------------*/

.pc-none{
	display:block;

	@media screen and (max-width: 1000px) {
		display:block
	}

}

#main-cover {

	.cont-bg {
		background: url(../images/cover-img01.jpg) no-repeat center top;
		background-size: cover;
		width: 100%;
		max-width: 2000px;
		height: 70vh;
		max-height: 720px;
		position: relative;

		@media screen and (max-width: 1000px) {
			height: 60vh;
		}

	}

	h2 {
		background: #26A5E2;
		background: linear-gradient(90deg,rgba(38, 165, 226, 1) 0%, rgba(38, 164, 225, 1) 0%, rgba(102, 193, 237, 1) 100%);
		position: absolute;
		bottom: -100px;
		left: 0;
		color: #fff;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		text-align: left;
		padding-left: 18vw !important;
        box-sizing: border-box;
		width: 90%;
		max-width: 1300px;
		border-radius: 0 30px 0 0;

		@media screen and (max-width: 1000px) {
			font-size: 1.5em !important;
			padding: 20px 10px !important;
			bottom: -60px;

			em{
				display: block;
				font-size: 1.2em;
				margin-left: -0.5em;
				margin-top: -0.2em;
			}
		}

		span {
			display: block;
			font-size: 0.6em !important;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #ffffff;
			margin: 0 0 0 200px;

			@media screen and (max-width: 1000px) {
				margin: 0;
			}
		}

	}

	.content {
		width: 100%;
		max-width: 1200px;
		margin: 100px auto 80px;

			@media screen and (max-width: 1000px) {
				margin: 60px auto 40px;
			}

		em {
			text-align: center;
			font-size: 1.3em;
			font-weight: bold;
			display: block;
			padding: 50px 0;
			width: 90%;
			line-height: 1.4;
			margin: 0 auto;

			@media screen and (max-width: 1000px) {
				font-size: 1.2em;
				padding: 50px 0 30px;
				width: 96%;
			}
		}

		ul.list {
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: center;

			li {
				width: calc(92% / 4);
                border: 2px solid #1ca0e0;
                font-size: 1.4em;
                font-weight: bold;
                color: #1ca0e0;
                border-radius: 10px;
                box-sizing: border-box;
                padding: 15px 5px;
                text-align: center;
                margin: 1% 1%;
				list-style: none;

				@media screen and (max-width: 1000px) {
					width: calc(calc(92% / 2) + 7px);
					font-size: 1.1em;
					line-height: 1.4;
				}
			}
		}
	}
}
			
#guidelines {

	.cont-bg {
		background: #f4f4f4;
		padding: 80px 0;
	
		@media screen and (max-width: 1000px) {
			padding: 40px 0;
		}
	}

	h3 {
		text-align: center;
		color: #000;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		@media screen and (max-width: 1000px) {
			font-size: 2.0em !important;
		}

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #000;
			margin: 15px auto 0;

			@media screen and (max-width: 1000px) {
				height: 4px;
				width: 90px;
				margin: 5px auto 0;
			}
		}
	}

	.guidelines-inner {
		width: 90%;
		max-width: 1200px;
		margin: 80px auto 130px;
		position: relative;

		@media screen and (max-width: 1000px) {
			margin: 80px auto;
		}

		.image {
			position: absolute;
			top: 0;
			right: 0;

			@media screen and (max-width: 1000px) {
				top: -100px;
				width: 120px;
			}

			img {
				width: 100%;
				max-width: 1200px;
			}
		}

		ul.list {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;

			li {
				width: 100%;
                font-size: 1.2em;
				color: #fff;
                background: #1ca0e0;
                border-radius: 50px;
                box-sizing: border-box;
                padding: 25px 35px;
                text-align: left;
				list-style: none;
				margin-bottom: 1.5%;

				@media screen and (max-width: 1000px) {
					font-size: 1.1em;
					padding: 15px;
					line-height: 1.4;
					margin-bottom: 10px;
				}
			}
		}

	}
}

/* #guidelines image animation */

.imgup {
	animation: floating-y 1.5s ease-in-out infinite alternate-reverse;
}

@keyframes floating-y {
	0% {transform: translateY(-5%);}
	100% {transform: translateY(5%);}
}

#amenities {

	.cont-bg {
		background: #fff;
		padding: 0 0 80px;

		@media screen and (max-width: 1000px) {
			padding: 0 0 40px;
		}
	}

	.titlebox {
		position: relative;
		top: -15vh;

		@media screen and (max-width: 1000px) {
			top: -80px;
		}
	}

	h3 {
        padding: 73px 0;
		text-align: center;
		color: #fff;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;
		position: relative;
		z-index: 10;

		@media screen and (max-width: 1000px) {
			padding: 20px 10px;
			font-size: 2em !important;
			line-height: 1.4 !important;
		}
		
		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #fff;
			margin: 15px auto 0;

			@media screen and (max-width: 1000px) {
				height: 4px;
				width: 90px;
				margin: 5px auto 0;
			}
		}
	}

	.ttl-bg {
		position: absolute;
		width: 90%;
		top: 0;
		right: 0;
		height: 33vh;
		z-index: 1;
		background: #26A5E2;
		background: linear-gradient(90deg, rgba(38, 165, 226, 1) 0%, rgba(38, 164, 225, 1) 0%, rgba(102, 193, 237, 1) 100%);
		border-radius: 50px 0 0 0;

		@media screen and (max-width: 1000px) {
			width: 96%;
			height: 110px;
		}
	}

	.amenities-inner {
		width: 90%;
		max-width: 1200px;
		margin: -8vh auto 0;
		position: relative;

		.fbox {
			display: flex;
			flex-wrap: wrap;
			justify-content: space-evenly;			

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

			dl.list {
				width: calc(97% / 2);
				max-width: 465px;

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

				dt {
					color: #000;
                    border: 2px solid #1ca0e0;
                    border-radius: 20px 0 0 0;
                    font-weight: bold;
                    font-size: 2em;
                    text-align: center;
                    margin-top: 14px;
                    padding: 2% 0 1%;
                    line-height: 2;
                    box-sizing: border-box;

					@media screen and (max-width: 1000px) {
						font-size: 1.3em;
						padding: 4px;
					}
				}
				
				dd {
					box-sizing: border-box;
					margin: 1% 0.6% 4%;
					list-style: none;

					@media screen and (max-width: 1000px) {
						margin: 0 0 20px;
					}

					figure {
						width: 100%;
						max-width: 465px;
						border-radius: 14px;
						overflow: hidden;

						img {
							width: 100%;
						}
					}

					p { 
						color: #000;
                        font-size: 1.3em;
                        text-align: left;
                        margin: 3% auto;
                        line-height: 1.5;

						@media screen and (max-width: 1000px) {
							font-size: 1.1em;
						}
					}
				}
			}
		}
	}
}

#rooms {

	.cont-bg {
		background: #f4f4f4;
		padding: 0 0 80px;

		@media screen and (max-width: 1000px) {
			padding: 0 0 40px;
		}

	}

	h3 {
		background: #26A5E2;
		background: linear-gradient(90deg,rgba(38, 165, 226, 1) 0%, rgba(38, 164, 225, 1) 0%, rgba(102, 193, 237, 1) 100%);
        padding: 5% 0;
		text-align: center;
		color: #fff;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		@media screen and (max-width: 1000px) {
			font-size: 2em !important;
			line-height: 1.4 !important;
		}

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #fff;
			margin: 15px auto 0;

			@media screen and (max-width: 1000px) {
				height: 5px;
				width: 90px;
				margin: 5px auto 0;
			}

		}
	}

	h4 {
        padding: 0;
		text-align: center;
		color: #000;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		@media screen and (max-width: 1000px) {
			font-size: 2em !important;
			margin-top: 40px;
		}

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}
	}

	.rooms-inner {
		width: 90%;
		max-width: 1200px;
		margin: 80px auto 0;
		position: relative;

		@media screen and (max-width: 1000px) {
			margin: 40px auto 0;
		}

		ul.list {
			display: flex;
			flex-wrap: wrap;
			justify-content: flex-start;
			align-items: center;

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

			li {
				width: calc(96% / 3);
                box-sizing: border-box;
                margin: 1% 0.6% 4%;
                list-style: none;

				@media screen and (max-width: 1000px) {
					width: 100%;
					margin: 0 0 20px;
				}

				figure {
					width: 100%;
					max-width: 389px;
					border-radius: 14px;
					overflow: hidden;

					img {
						width: 100%;
					}
				}

				p { 
					color: #000;
					font-weight: bold;
					font-size: 1.4em;
					text-align: center;
					margin-top: 14px;

					@media screen and (max-width: 1000px) {
						font-size: 1.3em;
						margin-top: 5px;
					}
				}
			}

			li.madori {
				width: calc(100% / 2);
                box-sizing: border-box;
                margin: 1% 0.6% 4%;
                list-style: none;

				@media screen and (max-width: 1000px) {
					width: 100%;
	                margin: 0;
				}

				figure {
					width: 100%;
					max-width: 597px;

					img {width: 100%;}
				}
			}
		}
	}
}

#howto {

	.cont-bg {
		background: #26A5E2;
		background: linear-gradient(90deg,rgba(38, 165, 226, 1) 0%, rgba(38, 164, 225, 1) 0%, rgba(102, 193, 237, 1) 100%);
		padding: 80px 0 50px;
		
		@media screen and (max-width: 1000px) {
			padding: 40px 0 10px;
		}
	}

	h3 {
		text-align: center;
		color: #fff;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		@media screen and (max-width: 1000px) {
			font-size: 2em !important;
		}

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #fff;
			margin: 15px auto 0;

			@media screen and (max-width: 1000px) {
				height: 4px;
				width: 90px;
				margin: 5px auto 0;
			}

		}
	}

	.howto-inner {
		width: 90%;
		max-width: 1100px;
		margin: 80px auto ;
		position: relative;

		@media screen and (max-width: 1000px) {
			margin: 30px auto ;
		}

		ul.list {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;

			li {
				width: 100%;
                font-size: 1.2em;
				color: #000;
                background: #fff;
                border-radius: 80px 0 0 80px;
                box-sizing: border-box;
                padding: 10px;
                text-align: left;
				list-style: none;
				margin-bottom: 5%;

				@media screen and (max-width: 1000px) {
					border-radius: 30px;
					padding: 20px 10px;
					margin-bottom: 22px;
				}

				.fbox {
					display: flex;
					flex-wrap: wrap;
					justify-content: space-between;
					align-items: center;

					@media screen and (max-width: 1000px) {
						flex-direction: column;
						justify-content: center;
					}

					.image {
						display: flex;
						flex-wrap: wrap;
						align-items: center;
						width: 40%;

						@media screen and (max-width: 1000px) {
							flex-direction: column;
							justify-content: center;
							width: 100%;
						}

						figure {
							font-weight: bold;
							margin-right: 5%;

							@media screen and (max-width: 1000px) {
								width: 90px;
								margin-right: 0;
							}

							img {
								width: 100%;
								max-width: 157px;
							}
						}

						p {
							line-height: 2;
							font-weight: bold;
							font-size: 1.6em;

							@media screen and (max-width: 1000px) {
								font-size: 1.3em;
							}

						}
					}

					.text { 
						width: 50%;
						line-height: 2;

						@media screen and (max-width: 1000px) {
							width: 96%;
							line-height: 1.4;
						}
					}
				}
			}

			.arr {
				position: relative;
				display: inline-block;
			}

			.arr::after {
				content: "";
				position: absolute;
				bottom: 1px;
				left: 50%;
				border-style: solid;
				border-width: 40px 80px 0 80px;
				border-color: #fff transparent transparent;
				translate: -50% 100%;

				@media screen and (max-width: 1000px) {
					border-width: 20px 60px 0 60px;
				}

			}
		}
	}
}

#pricing {

	.cont-bg {
		background: #fff;
		padding: 80px 0;
	
		@media screen and (max-width: 1000px) {
			padding: 40px 0;
		}
	}

	h3 {
		text-align: center;
		color: #1ca0e0;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		@media screen and (max-width: 1000px) {
			font-size: 2em !important;
		}

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #1ca0e0;
			margin: 15px auto 0;

			@media screen and (max-width: 1000px) {
				height: 4px;
				width: 90px;
				margin: 5px auto 0;
			}
		}
	}

	.pricing-inner {
		background: #1ca0e0;
		border-radius: 30px;
		width: 90%;
		max-width: 1200px;
		margin: 50px auto 80px;
		position: relative;
		padding: 3%;
		box-sizing: border-box;

		@media screen and (max-width: 1000px) {
			border-radius: 20px;
			margin: 30px auto 40px;
			padding: 3%;
		}

		.image {
			position: absolute;
			top: 0;
			right: 0;

			img {
				width: 100%;
				max-width: 1200px;
			}
		}

		dl {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;
			margin-bottom: 1%;

			dt,dd {
				width: 100%;
                font-size: 1.2em;
                box-sizing: border-box;
                padding: 25px 35px;
				list-style: none;
				line-height: 1.4;
				margin: 0;
			}

			dt {
				color: #fff;
				font-size: 2.2em;
				font-weight: bold;
                text-align: center;

				@media screen and (max-width: 1000px) {
					font-size: 1.8em;
					padding: 20px 35px;
				}
			}

			dd {
				border-radius: 30px;
				box-sizing: border-box;
				color: #000;
                background: #fff;

				@media screen and (max-width: 1000px) {
					border-radius: 14px;
				}

			}
		}

		dl.price1 {

			dd {

				p {
					text-align: center;
                    font-size: 1.4em;
                    font-weight: bold;

					@media screen and (max-width: 1000px) {
						font-size: 1.2em;
					}

					span.small {
						font-size: 0.7em;
					}

					span {
						font-size: 0.5em;
					}
				}

				p:nth-child(2) {
					font-size: 2.6em;
				
					@media screen and (max-width: 1000px) {
						font-size: 2.2em;
					}
				}

				p:last-child {font-size: 1em;}
			}
		}

		dl.price2 {

			dd {
				padding: 8%;

				@media screen and (max-width: 1000px) {
					padding: 20px;
				}

				p {
					text-align: center;
                    font-weight: bold;
					font-size: 1.4em;

					span.small {
						font-size: 0.7em;
					}

					span {
						font-size: 0.5em;
					}
				}

				p:last-child {
					font-size: 2.6em;

					@media screen and (max-width: 1000px) {
						font-size: 2.3em;
					}
				}
				
				ul {
					display: flex;
                    flex-wrap: wrap;
                    justify-content: space-between;
                    align-items: center;
                    border-bottom: 1px solid #1ca0e0;
                    max-width: 940px;
                    margin: 0 auto 5%;

					@media screen and (max-width: 1000px) {
						flex-direction: column;
						align-items: start;
					}

					li {
						line-height: 1.3;
						font-weight: bold;
					}

					li:first-of-type {
						font-size: 1em;

						@media screen and (max-width: 1000px) {
							display: block;
						}
					}

					li:last-of-type {
						font-size: 2.4em;

						@media screen and (max-width: 1000px) {
							font-size: 2.2em;
							margin: auto;
						}

						span.small {
							font-size: 0.7em;
						}

						span {
							font-size: 0.4em;
						}
					}
				}
			}
		}

		.note {
            color: #fff;
            line-height: 2;
            font-size: 1.2em;
            margin-top: 30px;

			@media screen and (max-width: 1000px) {
				line-height: 1.6;
				font-size: 1em;
				margin: 20px 0;
			}
		}
	}
}

#faq {

	.cont-bg {
		background: #f4f4f4;
		padding: 80px 0;

		@media screen and (max-width: 1000px) {
			padding: 40px 0;
		}
	}

	h3 {
		text-align: center;
		color: #1ca0e0;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		@media screen and (max-width: 1000px) {
			font-size: 2em !important;
		}

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #1ca0e0;
			margin: 15px auto 0;

			@media screen and (max-width: 1000px) {
				height: 4px;
				width: 90px;
				margin: 5px auto 0;
			}

		}
	}

	.faq-inner {
		width: 90%;
		max-width: 1000px;
		margin: 80px auto;
		position: relative;

		@media screen and (max-width: 1000px) {
			margin: 40px auto 20px;
		}

		dl {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;
			margin-bottom: 1%;

			dt,dd {
				width: 100%;
                font-size: 1.2em;
                box-sizing: border-box;
                padding: 25px 35px;
                text-align: left;
				list-style: none;
				line-height: 1.4;
				margin: 0;

				@media screen and (max-width: 1000px) {
					padding: 20px 25px;
				}
			}

			dt {
				color: #fff;
                background: #1ca0e0;
			}

			dd {
				color: #000;
                background: #fff;

				@media screen and (max-width: 1000px) {
					font-size: 1.1em;
				}
			}
		}
	}
}

#cost {

	.cont-bg {background: #fff;}

	h3 {
		text-align: center;
		color: #1ca0e0;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		@media screen and (max-width: 1000px) {
			font-size: 2em !important;
		}

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #1ca0e0;
			margin: 15px auto 0;

			@media screen and (max-width: 1000px) {
				height: 4px;
				width: 90px;
				margin: 5px auto 0;
			}

		}
	}

	.cost-inner {
		width: 90%;
		max-width: 1200px;
		margin: 50px auto 80px;
		position: relative;

		@media screen and (max-width: 1000px) {
			margin: 30px auto 40px;
		}

        .note {
            color: #000;
            font-size: 1.3em;
            font-weight: bold;
			text-align: center;
			margin-bottom: 5%;
        }

		.cost_table {
			border-collapse: collapse;
			table-layout: fixed;
			width: 100%;
			min-width: 700px;
			font-weight: bold;
			text-align: center;

			@media screen and (max-width: 1000px) {
				margin-top: 30px;
			}

			thead th {
				padding: 1em .8em;
				border-right: 2px solid#fff;
			}

			td {
				color: #2ea8e3;
				padding: 1em;
			}

			thead th:not(:first-child) {
				background: #2ea8e3;
				color: #fff;
				font-size: 1.3em;
				padding: 1.5em 0;
			}

			thead th:nth-child(2) {
				background-color: #fa8401;
				position: relative;
			}

			thead th:nth-child(2)::before {
				content: '';
				width: 100%;
				height: 10px;
				position: absolute;
				background-color: #fa8401;
				left: 0;
				bottom: 100%;
			}

			thead th:nth-child(2)::after {
				content: '月々4万円以上お得';
				width: max-content;
				color: #fa8401;
				font-size: 1rem;
				padding: 0.3em 1em;
				background: #fff;
				border: 2px solid #fa8401;
				border-radius: 100vh;
				position: absolute;
				top: -25px;
				left: 50%;
				transform: translateX(-50%);
			}

			tbody th,tbody td {
				border: 2px solid #fff;
				padding: 2%;
			}

			tbody th {
				background-color: #2ea8e3;
				color: #fff;
				text-align: left;
			}

			tbody td {
				font-size: 1.6em;
				background-color: #e6f1f6;

				@media screen and (max-width: 1000px) {
					font-size: 1.4em;
				}

				span {
					font-size: 1.2rem;
				}

			}

			tr:last-of-type td {
				font-size: 2em;

				@media screen and (max-width: 1000px) {
					font-size: 1.6em;
				}

			}

			td:nth-child(2) {
				color: #fa8401;
				background: #fef1e3;
			}

			.arr {
				position: relative;
			}

			.arr::after {
				content: "";
				position: absolute;
				bottom: 6px;
				left: 50%;
				border-style: solid;
				border-width: 14px 40px 0 40px;
				border-color: #2ea8e3 transparent transparent;
				translate: -50% 100%;
			}

			.arr:first-of-type::after {
				border-color: #fa8401 transparent transparent;
			}
		}

		@media screen and (max-width: 787px) {
			.table-scroll {overflow-x: auto;}
		}
	}
}

#facility {

	.cont-bg {background: #fff;padding: 80px 0;}

	h3 {
		text-align: center;
		color: #000;
		font-size: 2.5em !important;
		line-height: 1.6 !important;
		font-weight: bold;

		span {
			display: block;
			font-size: 0.5em !important;
			font-weight: normal;
		}

		.border {
			height: 6px;
			width: 120px;
			background: #000;
			margin: 15px auto 0;
		}
	}

	.facility-inner {
		width: 90%;
		max-width: 1000px;
		margin: 80px auto;
		position: relative;

		.image {
			position: absolute;
			top: 0;
			right: 0;

			img {
				width: 100%;
				max-width: 1200px;
			}
		}

		dl {
			display: flex;
			flex-wrap: wrap;
			justify-content: center;
			align-items: center;
			margin-bottom: 1%;
			border-bottom: 1px solid #000;

			dt,dd {
                font-size: 1.2em;
                box-sizing: border-box;
                padding: 25px 35px;
                text-align: left;
				list-style: none;
				line-height: 1.4;
				margin: 0;
			}

			dt {
				font-weight: bold;
				width: 30%;
			}

			dd {
				width: 70%;
			}
		}
	}
}

/* pankuzu */

#main-no-img2 {
	border-top: 15px solid #41bbbc;
	position: relative;
    z-index: 10;

	@media (max-width: 415px) {display: none;}

	div {
		max-width: 1200px;
		width: 100%;
		margin: 0 auto;
		position: relative;

		ul {
			padding: 9.5px 15px 9.5px 15px;
			font-size: 12px;
			position: absolute;
			line-height: 1.4;
			background: #41bbbc;
			box-sizing: border-box;
			border-radius: 0 0 10px 10px;

			@media (max-width: 1200px) {margin: 0;}

			li {
				float: left;
				color: #fff;
				
				a {
					text-decoration: underline;
					color: #fff;
				}
			}
		}
	}
}






