@charset "utf-8";

* {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 500;
	box-sizing: border-box;
}
html {
	font-size: 10px;
}
body {
	font-size: 1.6rem;
	line-height: 1.6;
}
#wrapper {
	position: relative;
	color: #222;
/*	overflow: hidden;*/
}
p {
	line-height: 2;
}
img {
    border-radius: 0.8rem;
}
/* header */
#header {
	padding: 0 2rem;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 9999;
}
#header .header-inner {
	max-width: 1080px;
	margin: 2.4rem auto;
	padding: 1rem 3.2rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	background-color: #FFF;
	border: 2px solid #ffdc97;
	border-radius: 9999px;
}
#header #header-logo {
	width: 150px;
	margin: 0;
}
#header #header-logo a {
	display: block;
}
#header #header-logo img {
	width: 100%;
}
@media ( max-width: 1000px ){
	#header {
		width: 100%;
	}
	#header .header-inner {
		padding: 1.6rem;
		position: relative;
		transition: all .3s ease;
	}
	#header #header-logo {
		margin: 0;
		transition: all .3s ease;
	}
	#header.active .header-inner {
		background-color: transparent;
		border-color: transparent;
	}
	#header.active #header-logo {
		opacity: 0;
	}
}
@media ( max-width: 1000px ){
	#header #header-logo {
		width: 120px;
		margin: 0 0 0;
	}
}
/* global-nav */
#global-nav ul {
	display: flex;
	gap: 2.4rem;
}
#global-nav ul li a {
	display: block;
	transition: all .3s ease;
}
#global-nav ul li a:hover {
	opacity: 0.6;
}
#global-nav ul li.active a {
	display: block;
	color: #f2a12c;
}
@media ( max-width: 1000px ){
	#global-nav {
		max-width: 320px;
		width: 100%;
		position: fixed;
		top: 0;
		bottom: 0;
		right: -320px;
		background-color: #FFF;
		box-shadow: 0 0 0 0 rgb(0 0 0 / 0%);
		transition: all .3s ease;
	}
	#global-nav.open {
		right: 0;
		box-shadow: 0 0 5px 5px rgb(0 0 0 / 10%);
	}
	#global-nav ul {
		padding: 160px 2.4rem 2.4rem;
		flex-direction: column;
	}
}
/* sp-btn */
#sp-btn {
	display: none;
}
@media ( max-width: 1000px ){
	#sp-btn {
		width: 50px;
        padding: 0;
        display: block;
		z-index: 9999;
		transition: all .3s ease-in;
		position: absolute;
        top: 1.2rem;
        right: 2.4rem;
	}
	#sp-btn .inner {
		position: relative;/*ボタン内側の基点となるためrelativeを指定*/
		cursor: pointer;
		width: 50px;
		height:46px;
		border-radius: 5px;
	}
	/*ボタン内側*/
	#sp-btn span{
		display: inline-block;
		transition: all .4s;/*アニメーションの設定*/
		position: absolute;
	  }
	#sp-btn span:nth-of-type(1),
	#sp-btn span:nth-of-type(2),
	#sp-btn span:nth-of-type(3) {
		height: 3px;
        background: #ffdc97;
        width: 62%;
        left: 10px;
        border-radius: 9999px;
	 }
	#sp-btn span:nth-of-type(1) {
	  top:8px; 
	}
	#sp-btn span:nth-of-type(2) {
	  top:16px; 
	}
	#sp-btn span:nth-of-type(3) {
	  top:24px;
	}
	#sp-btn span:last-of-type {
	  top: 30px;
	  left: 0;
	  right: 0;
	  text-align: center;
	  font-weight: 900;
      text-transform: uppercase;
      color: #51423b;
	}
	/*openクラスが付与されると線が回転して×になり、Menu表記をしている2つ目の要素が透過して消える*/
	#sp-btn.open span:nth-of-type(1) {
		top: 8px;
		left: 12px;
		transform: translateY(6px) rotate(-45deg);
		width: 50%;
	}
	#sp-btn.open span:nth-of-type(2) {
	  opacity: 0;
	}
	#sp-btn.open span:nth-of-type(3){
		top: 20px;
		left: 12px;
		transform: translateY(-6px) rotate(45deg);
		width: 50%;
	}
}
/* contact */
.contact-section .section-inner {
	max-width: 1080px;
	margin: auto;
	padding: 4rem 2rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: rgba(255,255,255,0.8);
}
.contact-section .section-inner > * {
	padding: 0 2rem;
}
.contact-section h2 {
	width: 320px;
	align-items: flex-start;
	margin: 0;
}
.contact-box {
	width: calc(100% - 320px);
	display: flex;
	flex-direction: column;
	gap: 1.6rem;
	border-left: 1px solid #234f7b;
}
.contact-box p {
	margin-bottom: 0;
}
.contact-box .more-btn {
	max-width: none;
	font-size: 3.2rem;
}
@media ( max-width: 980px ){
	.contact-section .section-inner {
		flex-direction: column;
	}
	.contact-section h2 {
		width: 100%;
		text-align: center;
		margin: 0 0 2.4rem;
	}
	.contact-box {
		width: 100%;
		display: flex;
		flex-direction: column;
		gap: 1.6rem;
		border-left: none;
	}
	.contact-box p {
		text-align: center;
	}
}
.contact-tel {
	margin-bottom: 4rem;
	border: 2px solid #234f7b;
	text-align: center;
	border-radius: 1rem;
}
.contact-tel h2 {
	padding: 1.6rem;
	font-size: 2.4rem;
	background-color: #234f7b;
	color: #FFF;
}
.contact-tel a,
.contact-tel div {
	padding: 0 2.4rem;
}
.contact-tel a {
	font-size: 4.8rem;
	font-weight: 900;
}
.contact-tel div {
	padding: 0 2.4rem 2.4rem;
}
/* form */
.scroll-box {
	max-height: 320px;
	border: 2px solid #CCC;
	border-radius: 1rem;
	overflow: hidden;
}
.scroll-box .contents {
	max-height: 320px;
	overflow: auto;
	margin: 0;
}
.scroll-box .contents .contents-inner {
	padding: 2rem;
}
.scroll-box h2 {
	font-size: 2.4rem;
}
.scroll-box p {
	font-size: 1.6rem;
}
input:not([type="submit"]):not([type="checkbox"]):not([type="reset"]):not([type="button"]), textarea, select {
	max-width: 640px;
	width: 100%;
	padding: 0.2rem 0.5rem;
	border: 2px solid #CCC;
}
.check-box label {
	cursor: pointer;
	margin-top: 1rem;
	padding: 1rem 1.6rem;
	display: block;
	border: 2px solid #CCC;
	border-radius: 1rem;
}
.check-box label.active {
	background-color: #ffefcf;
}
.check-box label input {
	display: none;
}
.check-box label input + span {
	display: inline-block;
    width: 1.6rem;
    height: 1.6rem;
	margin-right: 1.6rem;
    background-color: #DDD;
    border-radius: 0.25rem;
	position: relative;
}
.check-box label input:checked + span {
    background-color: #ef8800;
}
.check-box label input:checked + span::before {
    content: "";
	width: 8px;
    height: 6px;
    border-bottom: 2px solid #FFF;
    border-left: 2px solid #FFF;
    rotate: -45deg;
    position: absolute;
    top: -0.25rem;
    right: 0;
    bottom: 0;
    left: 0;
	margin: auto;
}
.submit-box {
	margin-top: 2.4rem;
	display: flex;
	justify-content: center;
	gap: 2.4rem;
}
.submit-box input,
.back-btn input {
	width: calc((100% - 2.4rem)/2);
	padding: 1.6rem 2.4rem;
	font-weight: bold;
	text-align: center;
	background-color: #BBB;
	border: 5px solid #BBB;
	border-radius: 1rem;
	transition: all .3s;
}
.back-btn input {
	width: 100%;
    margin: auto;
    display: block;
}
.submit-box input[type="submit"] {
	background-color: #ef8800;
	border: 5px solid #ef8800;
	color: #FFF;
}
.submit-box input:hover,
.back-btn input:hover {
	border: 5px solid rgba(255,255,255,.6);
}
.submit-box input:focus,
.back-btn input:focus {
	border: 5px solid rgba(255,255,255,0);
	opacity: 0.6;
}
.require {
	margin-right: 1rem;
    padding: 0 1rem 0.1rem;
    font-size: 1.4rem;
    color: #FFF;
    background-color: #FF0000;
    border-radius: 0.5rem;
    display: inline-block;
    vertical-align: text-bottom;
}
.any {
	margin-right: 1rem;
    padding: 0 1rem 0.1rem;
	font-size: 1.4rem;
	color: #FFF;
	background-color: #AAA;
    border-radius: 0.5rem;
    display: inline-block;
    vertical-align: text-bottom;
}
.attention {
	margin-bottom: 2.4rem;
	padding: 2.4rem;
	background-color: #FFD1D1;
}
.attention p {
	margin-bottom: 0;
	color: #FF0000;
}
@media ( max-width: 980px ){
	input:not([type="submit"]):not([type="checkbox"]):not([type="reset"]), textarea, select {
		max-width: none!important;
	}
}


/* footer */
#footer .footer-inner {
	padding: 2rem 4rem;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	column-gap: 4rem;
}
#footer .footer-logo {
	max-width: 180px;
	margin-bottom: 1.6rem;
}
#footer .footer-banner {
	padding: 1rem 4rem 1rem 0;
	border-right: 1px solid #ddd;
}
#footer .footer-banner a {
	max-width: 180px;
	padding: 1.6rem;
	display: block;
	border: 1px solid #ccc;
	transition: all .3s ease;
}
#footer .footer-banner a:hover {
	opacity: 0.6;
}
#footer .footer-banner a img {
	width: 100%;
}
.fooetr-menu {
	width: calc(100% - 8rem - 1px - 180px);
}
.fooetr-menu > ul {
	display: flex;
	flex-wrap: wrap;
	gap: 2.4rem;
}
.fooetr-menu > ul > li {
	width: 180px;
}
.fooetr-menu > ul > li:nth-of-type(3n) {
	flex: 1 0 calc(100% - 4.8rem - 360px);
}
.fooetr-menu > ul > li > a {
	padding-left: 3.2rem;
	position: relative;
}
.fooetr-menu > ul > li > a {
	padding-left: 3.2rem;
	position: relative;
}
.fooetr-menu > ul > li > a::before {
	content: "";
    width: 8px;
    height: 8px;
    display: block;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 1rem;
    rotate: 45deg;
    z-index: 2;
}
.fooetr-menu > ul > li > a::after {
	content: "";
    width: 20px;
    height: 20px;
	margin: auto;
    display: block;
    background-color: #f2a12c;
    border-radius: 20px;
    position: absolute;
	top: 0;
	bottom: 0;
    left: 0.5rem;
}
.fooetr-menu ul li a {
	transition: all .3s ease;
}
.fooetr-menu ul li a:hover {
	color: #f2a12c;
}
.fooetr-menu ul li > .sub-menu {
	padding-left: 3.2rem;
	display: flex;
	flex-wrap: wrap;
	column-gap: 2.4rem;
}
.fooetr-menu ul li > .sub-menu li {
	width: calc((100% - 2.4rem)/2);
	margin: 0.4rem 0;
}
.fooetr-menu ul li > .sub-menu li a {
	padding-left: 2.4rem;
	position: relative;
}
.fooetr-menu ul li > .sub-menu li a::after {
	content: "";
    width: 12px;
    height: 12px;
	margin: auto;
    display: block;
    background-color: #f2a12c;
    border-radius: 12px;
    position: absolute;
	top: 0;
	bottom: 0;
    left: 0.5rem;
}
.copy {
	width: 100%;
	padding: 2rem;
	color: #b2b2b2;
	font-size: 1.4rem;
	text-align: right;
	background-color: #FFF;
}
@media screen and (max-width: 1140px){
#footer .footer-inner {
	padding: 2rem 4rem 5rem;
	flex-direction: column;
	align-items: center;
}
#footer .footer-banner {
    margin-bottom: 2.4rem;
    padding: 1rem 0;
    border: none;
}
.fooetr-menu {
    width: 100%;
}
.fooetr-menu > ul li {
	width: calc((100% - 2.4rem)/2);
}
.fooetr-menu > ul > li:nth-of-type(3n) {
	flex: 1 0 100%;
}
.fooetr-menu ul li > .sub-menu li {
    width: calc((100% - 5rem) / 2);
    margin: 0.4rem 0;
}
.copy {
    padding: 1.6rem 0;
    text-align: center;
}
}
@media screen and (max-width: 890px){
.fooetr-menu ul li > .sub-menu {
    margin-top: 0.8rem;
}
.fooetr-menu ul li > .sub-menu li {
    width: 100%;
    margin: 0.8rem 0;
}
}
/* main */
section {
	
}
section .section-inner {
	margin: auto;
	padding: 4rem 0;
}
section:not(:last-of-type) {
	margin-bottom: 8rem;
}
/* breadcrumbs */
.breadcrumbs {
	max-width: 1080px;
	margin: auto;
	display: flex;
	justify-content: flex-end;
	gap: 1.6rem;
	padding: 0.8rem 2rem;
}
.breadcrumbs li,
.breadcrumbs li a {
	font-size: 1.4rem;
}
.breadcrumbs li a {
	display: flex;
	align-items: baseline;
	gap: 1.6rem;
}
.breadcrumbs li a::after {
	content: ">";
	display: block;
}
/* title */
h1 {
	width: auto;
	margin-bottom: 2.4rem;
	font-size: 4rem;
	font-weight: 900;
	display: flex;
	flex-direction: column;
}
.contents-title {
	margin: 0 0 1.6rem;
	font-size: 3.2rem;
	line-height: 1.2;
}
.home-contents section:not(#instagram):not(#contact) .contents-title {
	margin: 0 1.6rem 1.6rem;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	line-height: 1.6;
}
.home-contents .contents-title strong {
	color: #f2a12c;
}
.home-contents .contents-title span {
	display: block;
	font-size: 1.6rem;
	font-weight: 900;
	letter-spacing: 3px;
	color: #ffdc97;
}
.home-contents .contents-title.green strong {
	color: #008c55;
}
.home-contents .contents-title.green span {
	color: #83b669;
}
#instagram .contents-title {
	text-align: left;
}
#instagram .contents-title.pink strong {
	color: #ff1161;
}
#instagram .contents-title.pink span {
	display: block;
	font-size: 1.6rem;
	font-weight: 900;
	letter-spacing: 3px;
	color: #ffb8d3;
}
#contact .contents-title {
	text-align: center;
	color: #ef8800;
}
#contact .contents-title span {
	display: block;
	font-size: 1.6rem;
	font-weight: 900;
	letter-spacing: 3px;
	color: #ffc34c;
}
.contents-sub-title {
	margin-top: 3.2rem;
	margin-bottom: 1.6rem;
	padding-left: 1.6rem;
	border-left: 8px solid #ffefcf;
}
.contents-border-title {
	margin-top: 3.2rem;
	margin-bottom: 1.6rem;
	padding-bottom: 0.8rem;
	border-bottom: 2px solid #f2a12c;
	color: #f2a12c;
	font-weight: 600;
	font-size: 2.4rem;
}
.page-contents .contents-title {
	margin: 0 0 2.4rem;
	text-align: center;
}
.facility-contents-title {
	font-size: 3.2rem;
	display: flex;
	gap: 1.6rem;
	align-items: center;
}
.facility-contents-title span {
	width: 120px;
	padding: 0.6rem 1.6rem;
	font-size: 1.4rem;
	text-align: center;
	background-color: #ffefcf;
	border-radius: 0.4rem;
}
h2 { font-size: 4rem;}
h3 { font-size: 3.2rem;}
h4 { font-size: 2.4rem;}

@media ( max-width: 1280px ){
.facility-contents-title {
	flex-direction: column;
    align-items: flex-start;
    gap: 0;
	font-size: 2.4rem;
}
h1 {
	font-size: 3.2rem;
}
h2 {
	font-size: 2.4rem;
}
}
@media ( max-width: 780px ){
h1 {
	font-size: 2.4rem;
}
h2 {
	font-size: 2rem;
}
}
/* home outline */
#home-head {
	position: relative;
}
#home-head .main-visual img {
	width: 100%;
	height: 640px;
	object-fit: cover;
	object-position: center;
	border-radius: 0;
}
#home-head .head-copy {
	position: absolute;
	top:  25%;
	left: 18%;
	display: flex;
	flex-direction: row-reverse;
	align-items: flex-start;
}
#home-head .head-copy div {
	margin: 1.6rem;
	padding: 2.4rem 0.8rem;
	font-size: 3.2rem;
	display: inline-block;
	background-color: #FFF;
	border-radius: 1rem;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#home-head .head-copy div:last-of-type {
	margin-top: 8rem;
	padding-bottom: 0.8rem;
}
#home-head .head-copy div span {
	color: #f2a12c;
}
#outline .section-inner {
	max-width: 1600px;
	margin: auto;
	display: flex;
	flex-direction: row-reverse;
	gap: 8rem;
}
#outline .section-inner .left-img {
	max-width: 1080px;
	margin-left: -8rem;
}
#outline .text-block {
	margin: 8rem auto;
	padding-right: 4rem;
	display: flex;
	flex-direction: row-reverse;
}
#outline p {
	margin: 0 0 0 3.2rem;
	font-size: 1.8rem;
	line-height: 2.4;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#outline .btn {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
/* home facility */
#facility .section-inner {
	padding-left: 2.4rem;
	display: flex;
	gap: 3.2rem;
	justify-content: center;
	position: relative;
}
#facility .section-inner::after {
	content: "";
	display: block;
	width: 75vw;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	border-radius: 4rem 0 0 4rem;
	background-color: #ffefcf;
	z-index: -1;
}
.facility-block {
	max-width: 1440px;
	width: 100%;
}
.facility-block .block-item {
	padding: 2.4rem 1.6rem;
	display: flex;
	gap: 3.2rem;
	align-items: center;
	border-bottom: 2px dashed #bbb;
}
.facility-block .block-item:last-of-type {
	border-bottom: none;
}
.facility-block .block-item img {
	max-width: 320px;
	width: 100%;
	border-radius: 1.6rem;
}
.facility-block-title a {
	margin-bottom: 0.8rem;
	padding-right: 4rem;
	display: flex;
	gap: 1.6rem;
	align-items: center;
	font-size: 3.2rem;
	position: relative;
	transition: all .3s ease;
}
.facility-block-title a:hover {
	color: #f2a12c;
}
.facility-block-title a span {
	min-width: 80px;
	display: inline-block;
	padding: 0.4rem 0.8rem;
	font-size: 1.2rem;
	text-align: center;
	border-radius: 0.4rem;
	background-color: #FFF;
}
.facility-block-title .arrow {
	position: relative;
	padding-right: 4.8rem;
}
.facility-block-title .arrow::before {
	content: "";
	width: 12px;
	height: 12px;
	display: block;
	margin: auto;
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.7rem;
	rotate: 45deg;
	z-index: 2;
	transition: all .3s ease;
}
.facility-block-title .arrow::after {
	content: "";
	width: 32px;
	height: 32px;
	display: block;
	margin: auto;
	background-color: #f2a12c;
	border-radius: 32px;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 0.5rem;
	transition: all .3s ease;
}
.facility-block-title a:hover .arrow::before {
	right: 1.2rem;
}
.facility-block-title a:hover .arrow::after {
	right: 0rem;
}
/* home recruit */
.recruit-banner {
	max-width: 1080px;
	display: block;
	margin: auto;
	padding: 0 4rem;
	transition: all .3s ease;
}
.recruit-banner img {
	width: 100%;
	display: block;
}
.recruit-banner:hover {
	opacity: 0.6;
}
#instagram .section-inner {
    padding: 4rem;
	position: relative;
}
#instagram .section-inner::after {
    content: "";
    display: block;
    width: 90vw;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    border-radius: 4rem 0 0 4rem;
    background-color: #ffe9e9;
    z-index: -1;
}
#instagram .flex.half {
	max-width: 1080px;
	width: 100%;
	margin: 0 auto;
	align-items: center;
}
.instagram-qr {
	width: 100%;
}
#instagram .btn {
	display: none;
}
#instagram .btn a {
	max-width: 240px;
	display: block;
	margin: 1.6rem auto;
	padding: 1.6rem 2.4rem;
	background-color: #FFF;
	border-radius: 0.8rem;
	transition: all .3s ease;
}
#instagram .btn a:hover {
	background-color: #fff0f0;
}
#instagram .btn a::before {
	content: "";
	display: inline-block;
	margin-right: 1.6rem;
	vertical-align: middle;
	width: 32px;
	height: 32px;
	background: url(../images/common/Instagram_Glyph_Gradient.png) no-repeat;
	background-size: contain;
}
#contact .section-inner {
    padding: 4rem;
	position: relative;
}
#contact .section-inner::after {
    content: "";
    display: block;
    width: 50vw;
	height: 80%;
    position: absolute;
    top: 0;
    left: 0;
    border-radius: 0 4rem 4rem 0;
    background-color: #ffefcf;
    z-index: -1;
}
#contact .flex {
	max-width: 1080px;
    margin: auto;
	display: flex;
	gap: 3.2rem;
	align-items: center;
}
#contact .title-contents {
	max-width: 320px;
	width: 100%;
}
#contact .title-contents p {
	text-align: center;
}
#contact .detail-contents {
	flex: 1;
}
.contact-dl {
	margin: 1.6rem 0;
	display: flex;
	gap: 2.4rem;
}
.contact-dl dt {
	width: 240px;
	padding: 1.6rem 2.4rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #FFF;
	text-align: center;
	background-color: #725630;
	border-radius: 1.6rem;
}
.contact-dl dd {
	padding: 1.6rem;
	width: calc(100% - 2.4rem - 240px);
}
.contact-dl dd a {
	display: block;
	text-align: center;
}
.contact-dl dd a strong {
	font-size: 4.8rem;
	font-weight: bold;
	color: #ef8800;
	line-height: 1;
}
.contact-dl dd span {
	display: block;
	text-align: center;
	color: #725630;
	font-weight: 600;
	word-break: auto-phrase;
}
#contact .contact-btn {
	margin-top: 1.6rem;
	padding: 0.8rem 2.4rem 0.8rem 4.8rem;
	display: block;
	text-align: center;
	font-size: 2.4rem;
	color: #ef8800;
	background-color: #FFF;
	border: 2px solid #f2a12c;
	border-radius: 999px;
	position: relative;
	transition: all .3s ease;
}
#contact .contact-btn:hover {
	background-color: #fff9ed;
}
#contact .contact-btn::before {
	content: "";
	width: 12px;
	height: 12px;
	display: block;
	margin: auto;
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1.9rem;
	rotate: 45deg;
	z-index: 2;
	transition: all .3s ease;
}
#contact .contact-btn::after {
	content: "";
	width: 32px;
	height: 32px;
	display: block;
	margin: auto;
	background-color: #f2a12c;
	border-radius: 32px;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 1rem;
	transition: all .3s ease;
}
.address-list {
	margin-top: 2.4rem;
	display: flex;
	gap: 2.4rem;
}
.address-list .list-item {
	width: calc((100% - 4.8rem)/3);
	padding: 1.6rem;
	background-color: #FFF;
	border: 2px solid #ffdc97;
	border-radius: 0.8rem;
}
.address-list .list-item .title {
	width: 100%;
	margin-bottom: 0.8rem;
	padding: 0.2rem 0.8rem;
	text-align: center;
	color: #FFF;
	background-color: #f2a12c;
	border-radius: 0.4rem;
}
.address-list .list-item .address-item p {
	line-height: 1.6;
}
.map-btn {
	margin-left: 0.8rem;
	padding: 0.1rem 1.2rem 0.4rem 2.4rem;
	display: inline-block;
	font-size: 1.2rem;
	border: 1px solid #f2a12c;
	border-radius: 99px;
	background: url(../images/common/map-icon.png) no-repeat;
	background-size: 12px;
	background-position: left 0.8rem center;
}
.map-btn:hover {
	background-color: #fff9ed;
}
.color-dl {
	margin-top: 0.8rem;
	display: flex;
	align-items: center;
	gap: 1.6rem;
}
.color-dl dt {
	width: 180px;
	padding: 0.4rem 1.6rem;
	font-size: 1.4rem;
	text-align: center;
	background-color: #ffefcf;
	border-radius: 0.4rem;
}
.color-dl dd {
	flex: 1;
}
@media screen and (max-width:1120px){
#outline .section-inner .left-img {
    max-width: 720px;
    margin-left: -8rem;
}
.facility-block-title a {
    flex-direction: column;
    gap: 0;
	align-items: flex-start;
}
#instagram .flex.half {
    justify-content: flex-end;
}
#instagram .flex.half .text-block {
	max-width: 320px;
    word-break: auto-phrase;
}
#contact .section-inner::after {
    width: 90vw;
}
#contact .flex {
    flex-direction: column;
}
.address-list {
	flex-wrap: wrap;
	justify-content: center;
}
.address-list .list-item {
	width: calc((100% - 2.4rem)/2);
}
}
@media screen and (max-width: 890px){
section:not(:last-of-type) {
    margin-bottom: 4rem;
}
.home-contents section:not(#instagram):not(#contact) .contents-title,
#outline p {
	writing-mode: horizontal-tb;
	text-align: center;
}
#outline .section-inner,
#facility .section-inner {
	flex-direction: column;
	gap: 0;
}
#outline .text-block {
	margin: 4rem 2rem 8rem;
	flex-direction: column;
	padding-right: 0;
}
#outline .btn {
    writing-mode: horizontal-tb;
}
#facility .section-inner::after {
    width: 85vw;
}
.facility-block .block-item {
    flex-direction: column;
	gap: 1.6rem;
}
.facility-block .block-item img {
    max-width: none;
    width: 100%;
}
section .section-inner,
#contact .section-inner {
    padding: 4rem 2rem;
}
#contact .title-contents,
#contact .detail-contents {
    width: 100%;
}
.contact-dl {
    flex-direction: column;
	gap: 0;
}
.contact-dl dt,
.contact-dl dd {
    width: 100%;
}
.contact-dl dt {
    border-radius: 999px;
	padding: 0.8rem 3.2rem;
}
.contact-dl dt br {
    display: none;
}
.address-list {
    flex-direction: column;
}
.address-list .list-item {
    width: 100%;
}
.instagram-qr {
	display: none;
}
#instagram .btn {
	display: block;
}
}
/* home info */
#info .title-block {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3.2rem;
}
#info .btn {
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
}
#info .section-inner {
	padding-left: 2.4rem;
	display: flex;
	gap: 2.4rem;
	justify-content: center;
}
.info-list-block {
	max-width: 1080px;
	width: 100%;
	border-top: 2px dashed #bbb;
}
.info-list-block .list-item {
	padding: 3.2rem 1.6rem;
	display: flex;
	gap: 2.4rem;
	border-bottom: 2px dashed #bbb;
}
.info-list-block .list-item .text-box {
	width: calc(100% - 2.4rem - 320px);
}
.info-list-block .list-item .info-image {
	width: 320px;
}
.info-list-block .list-item .info-image img {
	width: 100%;
}
.info-list-block .list-item .date-block {
	margin-bottom: 0.4rem;
	display: flex;
	gap: 1.6rem;
	align-items: center;
}
.info-list-block .list-item .date-block .date {
	color: #aaa;
}
.info-list-block .list-item .date-block .new {
	padding: 0.2rem 1rem;
	display: block;
	font-size: 1.2rem;
	font-weight: bold;
	color: #FFF;
	border-radius: 1.6rem;
	background-color: #FF0000;
	animation: fadeImages 2s linear infinite;
}

@keyframes fadeImages {
	0%   { background-color: #FF0000; }
	25%  { background-color: #ffc3c3; }
	50%  { background-color: #FF0000; }
	75%  { background-color: #ffc3c3; }
	100% { background-color: #FF0000; }
}
.info-list-block .list-item .info-title {
	margin-bottom: 1.6rem;
	font-size: 2.4rem;
	font-weight: bold;
	color: #f2a12c;
}
.info-list-block .list-item .info-link {
	margin-top: 2.4rem;
}
.info-list-block .list-item .info-link a {
	padding-left: 3.2rem;
	display: inline-block;
	color: #f2a12c;
	text-decoration: underline;
	position: relative;
}
.info-list-block .list-item .info-link a:hover {
	text-decoration: none;
}
.info-list-block .list-item .info-link a::before {
	content: "";
    width: 8px;
    height: 8px;
    display: block;
    border-top: 2px solid #FFF;
    border-right: 2px solid #FFF;
    position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
    left: 1rem;
    rotate: 45deg;
    z-index: 2;
}
.info-list-block .list-item .info-link a::after {
	content: "";
    width: 20px;
    height: 20px;
	margin: auto;
    display: block;
    background-color: #f2a12c;
    border-radius: 20px;
    position: absolute;
	top: 0;
	bottom: 0;
    left: 0.5rem;
}
@media screen and (max-width:890px){
#info .section-inner {
	flex-direction: column;
	gap: 0;
}
#info .title-block {
    display: contents;
}
#info .btn {
    order: 3;
}
.info-list-block .list-item {
	flex-direction: column;
	gap: 0;
}
.info-list-block .list-item .text-box {
    width: 100%;
	display: contents;
}
.info-list-block .list-item .info-image {
    width: 100%;
	margin-bottom: 1.6rem;
}
.info-list-block .list-item .info-detail,
.info-list-block .list-item .info-link {
    order: 2;
}
}
/************ page ************/
#container {
    margin-bottom: 4rem;
}
.page-header-title {
	position: relative;
}
.page-header-img {
	width: 100%;
	height: 400px;
	object-fit: cover;
    object-position: center;
}
.page-header-title h1 {
	width: 6.6rem;
    padding: 2.4rem 0.8rem;
    font-size: 3.2rem;
	color: #FFF;
    display: inline-block;
    background-color: #f2a12c;
    border-radius: 1rem;
	-ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
	position: absolute;
    right: 0;
    left: 0;
    margin: auto;
    bottom: 15%;;
}
.page-contents .contents-section {
	max-width: 1280px;
	margin: 0 auto 0;
	padding-top: 6rem;
	clear: both;
    overflow: hidden;
}
.page-contents {
	max-width: 1280px;
	margin: auto;
    padding: 0 4rem;
}
.page-contents.facility {
	display: flex;
	gap: 8rem;
}
.side-contents {
	width: 240px;
	padding-top: 4rem;
}
.side-contents-inner {
	height: 100%;
}
.side-contents-inner .side-menu {
	position: sticky;
    top: 160px;
}
.side-contents .contents-border-title {
	margin: 0;
}
.main-contents {
	width: calc(100% - 8rem - 240px);
}
.philosophy-text {
	max-width: 980px;
	margin: auto;
	padding-left: 4rem;
	font-size: 2.4rem;
	font-weight: 700;
	margin-bottom: 1.6rem;
	position: relative;
}
.philosophy-text strong:first-of-type {
	position: absolute;
	left: 0;
}
.philosophy-text strong {
	color: #f2a12c;
}
.public-info.flex.clumn3 {
	flex-wrap: wrap;
	gap: 2.4rem;
}
.public-info.flex.clumn3 .item {
	width: calc((100% - 4.8rem)/3);
	padding: 2.4rem;
	background-color: #fff4dd;
	border-radius: 0.8rem;
}
.public-info.flex.clumn3 .item-title {
	font-size: 1.8rem;
	font-weight: bold;
}
.facility-section .section-title-block {
	gap: 2.4rem;
	justify-content: space-between;
}
.facility-section .section-title-block .text-block p {
	line-height: 1.6;
}
.facility-section .section-title-block .img-block {
	max-width: 320px;
	width: 100%;
	line-height: 0;
}
.facility-section .section-title-block .img-block img {
	width: 100%;
	border-radius: 0.8rem;
}
.facility-section .section-title-block + p {
	margin-top: 3.2rem;
}
.slick-track {
    display: flex!important;
}
.facility-slide {
	margin-bottom: 5.6rem;
}
.facility-slide .slide-item {
    margin: 0 8px;
    height: auto !important;
}
.facility-slide .slide-item img {
	width: 100%;
    height: 240px;
    margin-bottom: 1.6rem;
    object-fit: cover;
    object-position: center;
}
.facility-slide .slide-item p {
    line-height: 1.6;
}
.carehouse-text .slide-item,
.day-text .slide-item {
    margin-top: 4rem;
    padding: 2.4rem;
    background-color: #ffefcf;
    border-radius: 0.8rem;
    position: relative;
}
.carehouse-text .slide-item .tag {
    padding: 0.2rem 0.8rem;
    background-color: #f2a12c;
    color: #FFF;
    font-size: 1.4rem;
    border-radius: 0.4rem 0.4rem 0 0;
    position: absolute;
    top: -2.6rem;
    left: 1.6rem;
}
.img-text-block {
    margin-bottom: 3.2rem;
    display: flex;
    gap: 3.2rem;
    align-items: flex-start;
}
.img-text-block .img-block {
    width: 240px;
}
.img-text-block .text-block {
    width: calc(100% - 3.2rem - 240px);
}
.img-text-block .text-block h4 {
    color: #f2a12c;
}
.flex.btn-block {
    gap: 2.4rem;
}
.flex.btn-block > div,
.btn-block .arrow {
    width: calc((100% - 2.4rem)/2);
	margin: 1.6rem auto 1.6rem;
}
.btn-block .arrow a,
.flex.btn-block > div a {
    padding: 1.6rem 3.2rem;
    display: block;
    text-align: center;
    border: 2px solid #f2a12c;
    border-radius: 999px;
    position: relative;
	transition: all .3s ease;
}
.btn-block .arrow a:hover,
.flex.btn-block > div.arrow a:hover {
    background-color: #fff9ed;
}
.btn-block .arrow a::before,
.flex.btn-block > div.arrow a::before {
    position: absolute;
    top: 2.2rem;
    left: 2rem;
}
.btn-block .arrow a::after,
.flex.btn-block > div.arrow a::after {
    position: absolute;
    left: 1.2rem;
    top: 1.2rem;
}
.flex.btn-block > div.insta a {
    border-color: #ff1161;
}
.flex.btn-block > div.insta a:hover {
    background-color: #ffe9e9;
}
.flex.btn-block > div.insta a::before {
    content: "";
	display: inline-block;
	margin-right: 1.6rem;
	vertical-align: middle;
	width: 20px;
	height: 20px;
	background: url(../images/common/Instagram_Glyph_Gradient.png) no-repeat;
	background-size: contain;
}
.contact-btn-block {
	max-width: 640px;
	width: 100%;
	margin: 3.2rem auto;
	display: block;
	text-align: center;
}
.contact-btn-block a {
	margin: 1.6rem auto;
	padding: 2.4rem;
	display: flex;
	flex-direction: column;
	justify-content: center;
	font-size: 4rem;
	font-weight: bold;
	color: #f2a12c;
	line-height: 1.4;
	border: 3px solid #ffdc97;
	border-radius: 0.8rem;
	transition: all .3s ease;
}
.contact-btn-block a * {
	color: #725630;
	font-size: 1.6rem;
	font-weight: bold;
}
.contact-btn-block a:hover {
	background-color: #ffdc97;
}
@media screen and (max-width: 1080px){
.page-contents.facility {
    display: block;
    gap: 0;
}
.side-contents {
    max-width: 360px;
	width: 100%;
    padding-top: 0;
}
.side-contents-inner .side-menu {
	padding: 0.8rem 1.6rem 2.4rem;
    box-shadow: 0 0 15px 5px rgb(0 0 0 / 15%);
    position: fixed;
    top: auto;
    bottom: -240px;
    right: 4rem;
    background-color: rgb(255 255 255 / 85%);
	backdrop-filter: blur(10px);
    z-index: 10;
    border-radius: 0.8rem 0.8rem 0 0;
	cursor: pointer;
	transition: all .3s ease-in;
}
.side-contents-inner .side-menu.open {
    bottom: 0px;
	cursor: pointer;
}
.main-contents {
	width: 100%;
}
.public-info.flex.clumn3 .item {
	width: calc((100% - 2.4rem)/2);
}
}
@media screen and (max-width: 890px){
.page-contents {
    padding: 0 2rem;
}
.public-info.flex.clumn3 .item {
	width: 100%;
}
.facility-section .section-title-block,
.img-text-block,
.flex.btn-block {
	flex-direction: column;
	gap: 1.6rem;
}
.facility-section .section-title-block .img-block,
.img-text-block .img-block,
.img-text-block .text-block {
    max-width: none;
    width: 100%;
}
.flex.btn-block > div, .btn-block .arrow {
    width: 100%;
    margin: 0 auto 1.6rem;
}
}
/************ slick ************/
.arrow_box {
    width: fit-content;
    margin: -6.4rem 0 2.4rem auto;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    position: relative;
}
.arrow_box:empty {
	display: none;
}
.prev-arrow,
.next-arrow {
    display: block;
    width: 48px;
    height: 48px;
    background: #008c55;
    border-radius: 999px;
    transition: all .3s ease;
    cursor: pointer;
    position:relative;
}
.prev-arrow {
    transform: rotate(180deg);
    margin-right: 20px;
}
.prev-arrow::before,
.next-arrow::before{
    position:absolute;
    content: "";
    width:10px;
    height:10px;
    border-right: 2px solid #FFF;
    border-top: 2px solid #FFF;
    top:0;
    bottom:0;
    left:0;
    right:0;
    margin:auto;
    transform:rotate(45deg);
}
.slick-dots {
	margin-top: 16px;
	display: flex;
	justify-content: center;
	column-gap: 16px;
}
.slick-dots li {
	width: 12px;
	height: 12px;
	border-radius: 16px;
	background-color: #ddd;
}
.slick-dots li.slick-active {
	background-color: #008c55;
}
.slick-dots li button {
	opacity: 0;
    cursor: pointer;
}
/************ item ************/
/* point-list */
.point-list {
	margin-top: 2.4rem;
}
table td .point-list:first-of-type {
	margin-top: 0;
}
.point-list > li {
	padding-left: 2.4rem;
	position: relative;
}
.point-list > li span {
	position: absolute;
	top: 0;
	left: 0;
}
.point-list li a {
	text-decoration: underline;
}
.point-list li a:hover {
	text-decoration: none;
}
/* circle-list */
.circle-list {
	margin-top: 2.4rem;
}
table td .circle-list:first-of-type {
	margin-top: 0;
}
.circle-list > li {
	padding-left: 2.4rem;
	position: relative;
}
.circle-list > li::before {
	content: "";
	display: block;
	width: 16px;
	height: 16px;
	border-radius: 999px;
	background-color: #f2a12c;
	position: absolute;
	top: 0.5rem;
	left: 0;
}
.circle-list li a {
	text-decoration: underline;
}
.circle-list li a:hover {
	text-decoration: none;
}
/* sub-list */
.sub-list li {
	margin: 0.4rem 0;
	padding-left: 1.6rem;
	position: relative;
}
.sub-list li::before {
	content: "";
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 999px;
	border: 2px solid #f2a12c;
	position: absolute;
	top: 0.8rem;
	left: 0;
}
.sub-list li a {
	display: block;
}
/* border-list */
.border-list li {
	border-bottom: 1px dashed #bbb;
}
.border-list li a {
	padding: 0.8rem;
	display: block;transition: all .3s ease;
}
.border-list li a:hover {
	color: #f2a12c;
}
/* table */
.normal-table {
	width: 100%;
}
.normal-table th {
	background-color: #ffefcf;
	word-break: keep-all;
}
.normal-table th,
.normal-table td {
	padding: 1.6rem;
	border: 2px solid #ddd;
}
.normal-table td.bg01 {
	background-color: #efefef;
}
@media ( max-width: 1280px ){
.normal-table th,
.normal-table td {
	width: 100%;
	display: block;
}
.normal-table th {
	border-bottom: none;
}
.normal-table tr:not(:last-of-type) td {
	border-bottom: none;
}
}
/* flex */
.flex {
	display: flex;
}
.flex.half {
	flex-wrap: wrap;
	gap: 2.4rem;
}
.flex.half > div {
	width: calc((100% - 2.4rem)/2);
}
.flex.half > div .btn {
	margin-top: 0;
}
@media ( max-width: 780px ){
	.flex.half > div {
		width: 100%;
	}
}
/* fadein */
section {
    opacity: 0;
    transition: all 0.8s;
	transform: translate(0,30px);
}
.visible {
    opacity: 1 !important;
    transform: translate(0, 0) !important;
}
/* arrow */
.arrow a::before {
	content: "";
	width: 12px;
	height: 12px;
	display: block;
	border-top: 3px solid #FFF;
	border-right: 3px solid #FFF;
	position: absolute;
	right: 1.7rem;
	rotate: 45deg;
	z-index: 2;
}
.arrow a::after {
	content: "";
	width: 32px;
	height: 32px;
	display: block;
	background-color: #f2a12c;
	border-radius: 32px;
	position: absolute;
	right: 0.5rem;
}
#outline .arrow a,
#info .arrow a {
	padding: 5.6rem 1.6rem 4.8rem;
    display: inline-block;
    border: 2px solid #f2a12c;
    border-radius: 999px;
    position: relative;
	transition: all .3s ease;
}
#outline .arrow a:hover,
#info .arrow a:hover {
	color: #f2a12c;
	background-color: #fff9ed;
}
#outline .arrow a::before,
#info .arrow a::before {
	rotate: 135deg;
	top: 1.8rem;
	right: 0;
	left: 0;
	margin: auto;
}
#outline .arrow a::after,
#info .arrow a::after {
	top: 1.2rem;
	right: 0;
	left: 0;
	margin: auto;
}
@media screen and (max-width:890px){
#outline .arrow a,
#info .arrow a {
	width: 100%;
	margin-top: 3.2rem;
	padding: 1.6rem 5.6rem 1.6rem 4.8rem;
	display: block;
	text-align: center;
    writing-mode: horizontal-tb;
}
#outline .arrow a::before,
#info .arrow a::before {
	rotate: 45deg;
    top: 2.1rem;
	right: auto;
    left: 1.7rem;
    margin: auto;
}
#outline .arrow a::after,
#info .arrow a::after {
	top: 1.2rem;
	right: auto;
	left: 1rem;
	margin: auto;
}
}
/* etc */
.max-img {
    width: 100%;
}
.right-img {
    max-width: 320px;
    float: right;
    margin: 0 0 2.4rem 2.4rem;
    border-radius: 0.8rem;
}
.link { color: #f2a12c; text-decoration: underline;}
.link:hover { text-decoration: none;}
.inline { display: inline-block; }
.space { margin-bottom: 4rem!important; }
.mini-space { margin-bottom: 1.6rem!important; }
.no-space { margin-bottom: 0!important; }
.center { text-align: center; }
.text-right { text-align: right; }
.tx-center {
	width: auto;
	display: flex;
	justify-content: center;
}
.w980 { max-width: 780px; margin: auto; }
.post3 > .list-item:nth-of-type(n+4) { display: none; }

@media screen and (max-width: 890px){
.right-img {
    max-width: none;
	width: 100%;
    float: none;
    margin: 0 0 1.6rem;
    border-radius: 0.8rem;
}
}