@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300..700;1,300..700&family=Jost:ital,wght@0,100..900;1,100..900&display=swap');

body {
  margin: 0;
  padding: 0;
  border: none;
	font-family: "Jost", sans-serif;
	font-weight: normal;
  font-style: normal;
	font-size: 17px;
	line-height: 1.5;
	color: #232222;

}

body::-webkit-scrollbar-track
{
	-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
	background-color: #F5F5F5;
}

body::-webkit-scrollbar
{
	width: 6px;
	background-color: #F5F5F5;
}

body::-webkit-scrollbar-thumb
{
	background-color: #0f6a3f;
}

img,
div,
p,
blockquote,
h1,
h2,
h3,
h4,
h5,
h6,
ul,
ol,
li,
dl,
dt,
dd,
form,
fieldset,
textarea,
address,
main,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 100%;
  text-decoration: none;
  list-style-type: none;
}
main,
article,
aside,
dialog,
figure,
footer,
header,
hgroup,
nav,
section {
  display: block;
}
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Cormorant Garamond", serif;
	font-weight: 400;
	color: #161612;
	line-height: 1.12;
}
h2{
	font-size: 40px;
	margin-bottom: 1rem;
}
h3{
	font-size: 32px;
}
h4{
	font-size: 25px;
}
h5{
	font-size: 22px;
}
h6{
	font-size: 20px;
}
table {
  border: none;
  border-collapse: collapse;
  border-spacing: 0;
}
th,
td {
  text-align: left;
  vertical-align: top;
}
caption {
  text-align: left;
}
a,
a:focus,
a:hover,
a:active {
  outline: 0;
}
input,
input:focus,
input:hover,
input:active,
textarea,
textarea:focus,
textarea:hover,
textarea:active {
  outline: 0;
}
img {
  vertical-align: top;
}
html {
  font-size: 10px;
  background: #faf7f2;
}


.main {
  position: relative;
  z-index: 1;
}
::-moz-selection {
  background: #246b47;
  color: #fff;
}
::selection {
  background: #246b47;
  color: #fff;
}
a {
  color: #246b47;
}
img {
  max-width: 100%;
  width: 100%;
  height: auto;
}
input[type="text"],
input[type="tel"],
input[type="email"],
input[type="password"],
textarea {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #241d14;
   outline: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
input[type="text"]::placeholder,
input[type="text"]:placeholder-shown,
input[type="text"]::-webkit-input-placeholder,
input[type="text"]:-moz-placeholder,
input[type="text"]::-moz-placeholder,
input[type="text"]:-ms-input-placeholder,
input[type="tel"]::placeholder,
input[type="tel"]:placeholder-shown,
input[type="tel"]::-webkit-input-placeholder,
input[type="tel"]:-moz-placeholder,
input[type="tel"]::-moz-placeholder,
input[type="tel"]:-ms-input-placeholder,
input[type="email"]::placeholder,
input[type="email"]:placeholder-shown,
input[type="email"]::-webkit-input-placeholder,
input[type="email"]:-moz-placeholder,
input[type="email"]::-moz-placeholder,
input[type="email"]:-ms-input-placeholder,
input[type="password"]::placeholder,
input[type="password"]:placeholder-shown,
input[type="password"]::-webkit-input-placeholder,
input[type="password"]:-moz-placeholder,
input[type="password"]::-moz-placeholder,
input[type="password"]:-ms-input-placeholder,
textarea::placeholder,
textarea:placeholder-shown,
textarea::-webkit-input-placeholder,
textarea:-moz-placeholder,
textarea::-moz-placeholder,
textarea:-ms-input-placeholder {
  color: #ccc;
}
input::-ms-clear {
  visibility: hidden;
}
input::-ms-reveal {
  visibility: hidden;
}
select {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  color: #241d14;
  outline: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
select::-ms-expand {
  display: none;
}
button {
  box-sizing: border-box;
  outline: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.header {
    position: fixed;
    top: 1.5rem;
    z-index: 100;
	display: flex;
    justify-content: center;
    width: 100%;
	transition: all .5s ease;
	
}
.header__inner{	    
   max-width: 108rem;
    padding: 0.85rem 1rem;
	width: 100%;
    gap: 2rem;
	  backdrop-filter: blur(24px) saturate(160%);
    -webkit-backdrop-filter: blur(24px) saturate(160%);
    border-radius: 10px;
    border: 1px solid rgba(255, 255, 255, 0.22);
    transition: all 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background: rgba(245, 239, 228, 0.55);
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
}
#header.sticky .header {
     top: 0;
    background-color: #faf7f2;
    width: 100%;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
}
#header.sticky .header .header__inner{
	background: transparent;
	 border-radius: 0px;
    box-shadow: none;
    border: 0;
}

.banner_vedio{
	position: relative;
	width: 100%;
  height: 100vh;
}
.banner_vedio::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: clamp(180px, 32vh, 420px);
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(13, 32, 25, 0) 0%, rgba(27, 58, 45, 0.22) 38%, rgba(13, 32, 25, 0.65) 72%, rgba(13, 32, 25, 0.94) 100%);
}
.video-background {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%);
  max-width: auto;
  object-fit: cover;
  width: 100%;
  height: 100%;
  margin: 0;
  z-index: -2;
}
.header__inner {
  position: relative;
  display: flex;
  align-items: center;
	justify-content: space-between;
}

.header .header__logo a {
  display: inline-block;
  max-width: 200px;
  transition: background-color 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}
.header__logo.logo {
    padding-left: 1rem;
    max-width: 180px;
	padding-right: 2rem;
}
.header.sticky .header__logo a {
  display: block;
}

.header__menu {
  display: block;
  z-index: 102;
  text-decoration: none;
  position: fixed;
  width: 8rem;
  height: 6rem;
  top: 0;
  right: 0;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: background, bottom, top, right;
  background-color: #246b47;
  padding: 0 15px;
	display: none;
}

html.notouch .header__menu:hover .line-1 {
  transform: translateY(-1px);
}
html.notouch .header__menu:hover .line-2 {
  transform: translateY(1px);
}
.header__menu:before {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  content: "Menu";
  font-weight: 400;
  color: #fff;
  transition: color 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.header__menu .lines {
  margin-left: auto;
  display: block;
  position: relative;
  width: 3rem;
  height: 6rem;
}
.header__menu .line-1,
.header__menu .line-2 {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: transform, margin, background;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-left: -1.25rem;
  width: 2.4rem;
  height: 1px;
  background: #fff;
  border-radius: 2px;
}
.header__menu .line-1 {
  margin-top: -0.4rem;
}
.header__menu .line-2 {
  margin-top: 0.3rem;
}
/*
.header__nav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  box-sizing: border-box;
  position: fixed;
  inset: 0;
  right: auto;
  z-index: 4;
  width: 100%;
  visibility: hidden;
  background: #f7f2d5;
  transition: all 1.17s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: visibility, opacity, transform;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  transform: translateX(100vw);
}
*/
.header .h-mainNav {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  max-width: 102rem;
  margin: 0 auto;
  overflow: hidden;
  width: 100%;
  text-align: center;
}
.header .h-mainNav a {
  text-decoration: none;
  color: #241d14;
}

.header .h-mainNav__links .nav {
    text-align: right;
    display: flex;
    align-items: center;
}

.header .h-mainNav__links .nav li {
    margin: 0px 20px 0 0;
}

.header .h-mainNav__links .nav li a {
  line-height: 1.4;
    font-size: 14px;
    text-transform: uppercase;
	letter-spacing: 0.3px;
}
.header .h-mainNav__links .recruitNav {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  transition-property: color, background;
  display: block;
  text-align: center;
  box-sizing: border-box;
  border: 1px solid #fff;
  border-radius: 10px;
  padding: 1.1rem 1rem 1.2rem;
  margin: 5.1rem auto 0;
}
.header .h-mainNav__links .recruitNav .ja {
  font-size: 14px;
  letter-spacing: 0.3px;
  line-height: 1.14;
}
.header .h-mainNav__links .recruitNav .en {
  font-size: 1.2rem;
  letter-spacing: 0.02em;
  line-height: 1.167;
  margin-top: 0.9rem;
}

.header .h-mainNav__links .cvNav {
  margin-top: 2.2rem;
}
.header .h-mainNav__links .cvNav li + li {
  margin-top: 1rem;
}
.header .h-mainNav__links .cvNav li a {
  padding: 1rem 0;
  display: flex;
  align-items: end;
  justify-content: space-between;
  border-bottom: 1px solid rgba(255, 255, 255, 0.2);
  position: relative;
}
html.notouch .header .h-mainNav__links .cvNav li a:hover:before {
  left: 0;
  right: auto;
  width: 100%;
}
.header .h-mainNav__links .cvNav li a:before {
  position: absolute;
  right: 0;
  bottom: -1px;
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: #fff;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: width;
}
.header .h-mainNav__links .cvNav li a .ttl {
  line-height: 1;
}
.header .h-mainNav__links .cvNav li a .en {
  line-height: 1;
  font-size: 2.7rem;
}
.header .h-mainNav__links .entry {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  transition-property: color, background;
  display: block;
  font-size: 2.4rem;
  letter-spacing: 0.02em;
  line-height: 1.125;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 10rem;
  padding: 1.9rem 0 1.6rem;
  margin-top: 4.8rem;
}

.header .h-mainNav__links .privacy {
  position: absolute;
  right: 3rem;
  bottom: 3rem;
  font-size: 1.4rem;
}

html.menu-open .header__logo a {
  background: #fff;
}
html.menu-open .header__nav {
  visibility: visible;
  transform: translateX(0);
}
html.menu-open .header__menu {
  right: 1rem !important;
}
html.menu-open .header__menu:before {
  content: "Close";
}

html.menu-open .header__menu .line-1 {
  margin-top: 0;
  transform: rotate(45deg);
  opacity: 1;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  -o-transform: rotate(45deg);
}
html.menu-open .header__menu .line-2 {
  margin-top: 0;
  transform: rotate(-45deg);
  opacity: 1;
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -ms-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
}

html.menu-open .header__menu:hover .line-1,
html.menu-open .header__menu:hover .line-2 {
  background: #fff;
}
html.menu-open .header__menu:hover .line-1 {
  transform: translateY(0) rotate(45deg);
  -webkit-transform: translateY(0) rotate(45deg);
  -moz-transform: translateY(0) rotate(45deg);
  -ms-transform: translateY(0) rotate(45deg);
  -o-transform: translateY(0) rotate(45deg);
}
html.menu-open .header__menu:hover .line-2 {
  transform: translateY(0) rotate(-45deg);
  -webkit-transform: translateY(0) rotate(-45deg);
  -moz-transform: translateY(0) rotate(-45deg);
  -ms-transform: translateY(0) rotate(-45deg);
  -o-transform: translateY(0) rotate(-45deg);
}

.main__ttl {
  padding-top: 15rem;
  margin-bottom: 9rem;
}
.main__ttl .ttl {
  font-size: 45px;
  line-height: 1;
}
.main__ttl .jp {
  margin-top: 0;
  font-size: 16px;
  color: #246b47;
  line-height: 1;
}

.p-partnerships .main__contents,
.p-journal .main__contents,
.p-contact .main__contents {
  margin: 8rem 0;
}
.main__body.grid {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.main__body.grid .grid__nav {
    width: 28rem;
    position: sticky;
    top: 15rem;
    height: 100%;
    border-radius: 0px;
    padding: 30px;
    background: rgb(15 106 63);
    border-color: rgba(15, 106, 63, 0.1);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
}
.main__body.grid .grid__main {
  overflow: hidden;
  width: calc(100% - 39rem);
  box-sizing: border-box;
}

.section__body {
  max-width: 110rem;
  position: relative;
  margin-right: auto;
  margin-left: auto;
  padding-right: 0rem;
  padding-left: 0rem;
}
.section__ttl {
  font-size: 3.2rem;
  line-height: 1.4;
  margin-bottom: 6rem;
}
.section__ttl.jp {
  font-size: 2.8rem;
}
.section__ttl.jp .en {
  margin-top: 0.5rem;
  display: block;
  font-size: 1.8rem;
  color: #246b47;
}

.c-pnav {
    position: relative;
    margin-top: 0;
    background-color: #0f6a3f;
    padding: 12px 25px;
}
.c-pnav ul {
  display: flex;
    justify-content: center;
}
.main__ttl .c-pnav ul li {
  color: #fff;
}
.c-pnav ul li + li {
  margin-left: 1rem;
  padding-left: 1rem;
  position: relative;
  text-decoration: none;
}
.c-pnav ul li + li:before {
  top: 0;
  content: "";
  position: absolute;
  width: 1px;
  height: 1.6rem;
  background: #fff;
  left: 0;
  display: block;
}
.c-pnav ul li a {
  color: #fff;
  text-decoration: none;
  transition: all 0.9s cubic-bezier(0.175, 0.885, 0.32, 1.275);
  transition-property: color;
}
html.notouch .c-pnav ul li a:hover {
  color: #fff;
}


.footer__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  margin-bottom: 0;
}
.footer__cvNav {
  width: 55%;
}
.footer__cvNav ul .item {
  border-bottom: 1px solid #dad5c7;
  padding-bottom: 3rem;
}
.footer__cvNav ul .item + .item {
  padding-top: 0rem;
  margin-top: 3rem;
  border-bottom: 0;
}

.footer__nav {
  width: 40%;
  text-align: right;
  position: relative;
}
.footer__nav ul.small {
  margin-top: 1.5rem;
}
.footer__nav ul.small li a {
  font-size: 15px;
}
.footer__nav ul li + li {
  margin-top: 0.5rem;
}
.footer__nav ul li a {
  text-decoration: none;
  color: #241d14;
  font-size: 2.6rem;
}

.footer__info {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.pagetop__arw {
  transform: rotate(-90deg);
  position: fixed;
  bottom: 60px;
  margin-top: 0;
  right: 30px;
  background-color: #fff;
  z-index: 9;
  width: 35px;
  height: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.pagetop__arw:after {
  top: 0;
  display: block;
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("../images/arw2-r.svg");
}
html.notouch .footer__info:hover .pagetop__arw:after {
  -webkit-animation: arw_r 1.8s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  animation: arw_r 1.8s cubic-bezier(0.16, 1, 0.3, 1) 0s;
}

@-webkit-keyframes arw_line_r {
  0% {
    right: 0;
    left: auto;
  }
  50% {
    right: 0;
    left: auto;
    width: 0;
  }
  50.1% {
    right: auto;
    left: 0;
  }
  100% {
    width: 100%;
  }
}
@keyframes arw_line_r {
  0% {
    right: 0;
    left: auto;
  }
  50% {
    right: 0;
    left: auto;
    width: 0;
  }
  50.1% {
    right: auto;
    left: 0;
  }
  100% {
    width: 100%;
  }
}
@-webkit-keyframes arw_line_r2 {
  0% {
    background-size: 100% 1px;
  }
  50% {
    background-position: right bottom;
    background-size: 0px 1px;
  }
  50.1% {
    background-position: left bottom;
  }
  100% {
    background-position: left bottom;
    background-size: 100% 1px;
  }
}
@keyframes arw_line_r2 {
  0% {
    background-size: 100% 1px;
  }
  50% {
    background-position: right bottom;
    background-size: 0px 1px;
  }
  50.1% {
    background-position: left bottom;
  }
  100% {
    background-position: left bottom;
    background-size: 100% 1px;
  }
}
@-webkit-keyframes arw_circle {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}
@keyframes arw_circle {
  0%,
  100% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.2);
  }
}
@-webkit-keyframes arw_t {
  0%,
  100% {
    opacity: 1;
    transform: translateY(0);
  }
  50% {
    opacity: 0;
    transform: translateY(-0.5rem);
  }
  50.1% {
    opacity: 0;
    transform: translateY(0.5rem);
  }
}
@keyframes arw_t {
  0%,
  100% {
    opacity: 1;
    transform: translateY(0);
  }
  50% {
    opacity: 0;
    transform: translateY(-0.5rem);
  }
  50.1% {
    opacity: 0;
    transform: translateY(0.5rem);
  }
}
@-webkit-keyframes arw_r {
  0%,
  100% {
    opacity: 1;
    transform: translateX(0);
  }
  50% {
    opacity: 0;
    transform: translateX(0.5rem);
  }
  50.1% {
    opacity: 0;
    transform: translateX(-0.5rem);
  }
}
@keyframes arw_r {
  0%,
  100% {
    opacity: 1;
    transform: translateX(0);
  }
  50% {
    opacity: 0;
    transform: translateX(0.5rem);
  }
  50.1% {
    opacity: 0;
    transform: translateX(-0.5rem);
  }
}
@-webkit-keyframes arw_l {
  0%,
  100% {
    opacity: 1;
    transform: translateX(0);
  }
  50% {
    opacity: 0;
    transform: translateX(-0.5rem);
  }
  50.1% {
    opacity: 0;
    transform: translateX(0.5rem);
  }
}
@keyframes arw_l {
  0%,
  100% {
    opacity: 1;
    transform: translateX(0);
  }
  50% {
    opacity: 0;
    transform: translateX(-0.5rem);
  }
  50.1% {
    opacity: 0;
    transform: translateX(0.5rem);
  }
}
.l-btn {
  min-width: auto;
  display: inline-block;
  padding: 1.4rem 3rem;
  background: #246b47;
  position: relative;
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
  box-sizing: border-box;
  margin: 0 auto;
  font-size: 16px;
  line-height: 1;
  text-align: center;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: background, color;
  border: 1px solid #246b47;
}
html.notouch .l-btn:hover {
  color: #246b47;
  background: rgba(0, 0, 0, 0);
}
.button {
  text-decoration: none;
  position: relative;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  width: auto;
  border: 0;
  box-shadow: none;
  height: 4.5vw;
  line-height: 4.5vw;
  padding: 0 2vw 0 4vw;
  cursor: pointer;
}
html.notouch .button:hover:before {
  width: 100%;
  transform: scale(0.9);
  height: 4.5vw;
  top: 0;
  border-radius: 4.5vw;
}
html.notouch .button:hover .dot {
  background-color: #fff;
  transform: translateY(-50%) translateX(0.5vw) scale(0.1);
}
html.notouch .button:hover .dot:before {
  opacity: 0.0001;
  transform: translateX(100%);
}
html.notouch .button:hover .text {
  color: #fff;
  transform: translateX(-1vw) scale(0.9);
}
.button:before {
  position: absolute;
  content: "";
  display: block;
  width: 2.5vw;
  height: 2.5vw;
  border-radius: 2.5vw;
  right: 0;
  left: 0;
  top: 1vw;
  bottom: 0;
  transform: scale(1);
  background-color: #246b47;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: width, transform;
  will-change: transform;
  transform-origin: center left;
}
.button .dot {
  display: inline-block;
  border-radius: 100%;
  will-change: transform;
  position: absolute;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0);
  left: 0.5vw;
  top: 50%;
  width: 2.5vw;
  height: 2.5vw;
  transform: translateY(-50%) translateX(0) scale(1);
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: background, transform;
}
.button .dot:before {
  background-position: center;
  background-repeat: no-repeat;
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: -0.1vw;
  left: -0.5vw;
  opacity: 1;
  transform: translateX(0);
  background-image: url("../images/arw-r.svg");
  background-size: 35% auto;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: opacity, transform;
  will-change: transform;
}
.button .text {
  position: relative;
  color: #241d14;
  transform: translateX(0);
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: color, transform;
  will-change: transform;
  line-height: 1;
}
.button .text .en {
  font-size: 3rem;
  margin-right: 1.4rem;
}
.button .text .jp {
  font-size: 1.4rem;
}
.button.min {
  height: 2.7vw;
  line-height: 2.7vw;
  padding: 0 2vw 0 3vw;
}
html.notouch .button.min:hover:before {
  height: 2.7vw;
  border-radius: 2.7vw;
}
html.notouch .button.min:hover .dot {
  transform: translateY(-50%) translateX(0vw) scale(0.1);
}
html.notouch .button.min:hover .text {
  transform: translateX(-1vw) scale(0.9);
}
.button.min:before {
  width: 2vw;
  height: 2vw;
  border-radius: 2vw;
  top: 0.4vw;
}
.button.min .dot {
  width: 2vw;
  height: 2vw;
}
.button.min .dot:before {
  top: 0;
  left: -0.45vw;
}
.button.min .text .en {
  font-size: 2.3rem;
}
.button.min .text .jp {
  font-size: 1.3rem;
}
@-webkit-keyframes linelink {
  0% {
    background-position: right bottom;
    background-size: 100% 1px;
  }
  50% {
    background-position: right bottom;
    background-size: 0 1px;
  }
  51% {
    background-position: left bottom;
    background-size: 0 1px;
  }
  100% {
    background-position: left bottom;
    background-size: 100% 1px;
  }
}
@keyframes linelink {
  0% {
    background-position: right bottom;
    background-size: 100% 1px;
  }
  50% {
    background-position: right bottom;
    background-size: 0 1px;
  }
  51% {
    background-position: left bottom;
    background-size: 0 1px;
  }
  100% {
    background-position: left bottom;
    background-size: 100% 1px;
  }
}
.c-linelink {
  display: inline-block;
  color: #241d14;
  line-height: 1.5;
  text-decoration: none;
}
.c-linelink__txt {
  will-change: background-size;
  background: url("../images/line-white.svg") no-repeat left bottom;
  background-size: 100% 1px;
}
.header__nav .c-linelink__txt{
	background: url("../images/line.svg") no-repeat left bottom;
}

html.notouch .c-linelink:hover .c-linelink__txt,
html.notouch a:hover .c-linelink .c-linelink__txt {
  -webkit-animation: linelink 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  animation: linelink 1.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.c-linelink--hidden .c-linelink__txt {
  transition: background-size 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  background-position: right bottom;
  background-size: 0 1px;
}

html.notouch .c-linelink--hidden:hover .c-linelink__txt,
html.notouch a:hover .c-linelink--hidden .c-linelink__txt {
  -webkit-animation: none;
  animation: none;
  background-position: left bottom;
  background-size: 100% 1px;
}

.img-ov {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  position: relative;
  z-index: 0;
}
.img-ov img {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(1.005);
  min-height: 230px;
  object-fit: cover;
}
html.notouch a:hover .img-ov img {
  transform: scale(1.09) !important;
}

.js-easing-text {
  opacity: 0;
}
.js-easing-text.is-visible {
  opacity: 1;
}
.sprit-text span {
  transform-origin: 0 50%;
  transform: rotateY(90deg);
  transition: all 2.7s cubic-bezier(0.16, 1, 0.3, 1);
  display: inline-block;
}
.sprit-text span.complete {
  position: relative;
  display: inline-block;
  translate: none;
  rotate: none;
  scale: none;
  opacity: 1;
  transform: rotateY(0deg);
  will-change: opacity, transform;
}
.js-easing-fade {
  opacity: 0;
}
.js-easing-fade.is-visible {
  transition: all 0.9s linear;
  transition-property: transform, opacity;
  opacity: 1;
}
.js-entries__entry {
  opacity: 0;
}
.js-entries__entry.is-visible {
  transition: all 0.9s linear;
  transition-property: transform, opacity;
  opacity: 1;
}

.f-contents .item {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.f-contents .item + .item {
  margin-top: 4rem;
}
.f-contents .item dt {
  width: 22.5rem;
}
.f-contents .item dt .jp {
  font-size: 1.5rem;
  display: block;
  line-height: 1.4;
}
.f-contents .item dt .jp .required {
  color: #d50b03;
}
.f-contents .item dt .en {
  line-height: 1.4;
  display: block;
  color: #246b47;
}
.f-contents .item dd {
  width: calc(100% - 22.5rem);
}

.form-text {
  box-sizing: border-box;
  display: block;
  width: 100%;
  height: 5rem;
  margin: 0;
  padding: 1.5rem;
  border-radius: 0;
  border: 1px solid #dad5c7;
  background: none;
  font-size: 1.3rem;
  line-height: 1.72;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

.form-inner {
  display: block;
  position: relative;
}
label.error {
  display: block;
  color: #d90000;
  line-height: 1.4;
  padding-top: 0.5rem;
  font-size: 1.2rem;
}
input.form-text,
textarea.form-text {
  padding: 1.5rem;
  background-color: none;
}
input.form-text.valid,
textarea.form-text.valid {
  background-color: #e4e2d9;
}
input.form-text.error,
textarea.form-text.error {
  border-color: red;
}
label.form-invalid {
  color: #246b47;
  font-size: 1.2rem;
}
textarea.form-text {
  max-width: 100%;
  height: 100px;
}

.form-btnArea {
  position: relative;
  margin: 3rem auto 0;
  text-align: center;
}
.form-btnArea .btn,
.form-btnArea .sendBtn {
  display: block;
  text-decoration: none;
  margin: 0;
  border: 1px solid #246b47;
   width: auto;
  padding: 15px 30px;
  position: relative;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: color, background, border;
  background: #246b47;
  color: #fff;
  font-size: 14px;
    letter-spacing: 0.3px;
    line-height: 1.4;
	text-transform: uppercase;
	border-radius: 0px;
}
.form-btnArea .btn:hover{
	color: #246b47;
	background-color: transparent;
}

.form-btnArea .btn.on,
.form-btnArea .sendBtn.on {
  background: #246b47;
  pointer-events: auto;
}
.form-btnArea .btn span,
.form-btnArea .sendBtn span {
  position: relative;
  z-index: 1;
  display: block;
}
.form-btnArea .btn span.en,
.form-btnArea .sendBtn span.en {
  margin-top: 0.5rem;
}
html.notouch .form-btnArea .btn.on:hover,
html.notouch .form-btnArea .sendBtn.on:hover {
  border: 1px solid #246b47;
  color: #241d14;
  background: rgba(0, 0, 0, 0);
}
.form-btnArea .sendBtn {
  background: #246b47;
  pointer-events: auto;
  width: 55%;
}
html.notouch .form-btnArea .sendBtn:hover {
  border: 1px solid #246b47;
  color: #241d14;
  background: rgba(0, 0, 0, 0);
}
.form-btnArea .back {
  font-weight: 500;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  border-radius: 4rem;
  width: 12rem;
  padding: 0.7rem;
  text-align: center;
  border: none;
  background: #adadad;
  color: #fff;
  cursor: pointer;
  text-decoration: none;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: color, background, border;
}
html.notouch .form-btnArea .back:hover {
  background: #241d14;
}

select::-ms-expand {
  display: none;
}
input:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #f2f0ec inset;
}
input.valid:-webkit-autofill {
  -webkit-box-shadow: 0 0 0px 1000px #e4e2d9 inset;
}
input:-moz-placeholder-shown,
textarea:-moz-placeholder-shown ,
input:placeholder-shown,
textarea:placeholder-shown,
input::-webkit-input-placeholder,
textarea::-webkit-input-placeholder,
input:-moz-placeholder,
textarea:-moz-placeholder,
input::-moz-placeholder,
textarea::-moz-placeholder,
input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
  color: #888;
}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type="number"] {
  -moz-appearance: textfield;
}
select::-ms-expand {
  display: none;
}


.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}
.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-list:focus {
  outline: none;
}
.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}
.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}
.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}
.slick-track:after {
  clear: both;
}
.slick-loading .slick-track {
  visibility: hidden;
}
.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  outline: none;
  display: none;
}
[dir="rtl"] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid rgba(0, 0, 0, 0);
}
.slick-arrow.slick-hidden {
  display: none;
}

.m-service-slide {
  position: relative;
  z-index: 2;
}
.m-service-slide.is-active .m-service-slide__skip {
  opacity: 1;
}
.m-service-slide.is-active .m-service-slide__progress {
  opacity: 1;
}
.m-service-slide.is-active .m-service-slide__video .mask {
  opacity: 1;
}
.m-service-slide__skip {
  position: absolute;
  right: 4rem;
  bottom: 3.5rem;
  z-index: 10;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: opacity;
  opacity: 0;
}
.m-service-slide__skip a {
  color: #fff;
}
.m-service-slide__skip a .c-linelink__txt {
  background: none;
}
.m-service-slide__progress {
  position: absolute;
  z-index: 10;
  top: 50%;
  right: 4rem;
  margin-top: -7rem;
  background-color: #d8d8d8;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: opacity;
  opacity: 0;
}
.m-service-slide__progress .progress__box {
  position: relative;
  width: 1px;
  height: 14rem;
  background-color: #246b47;
}
.m-service-slide__pager {
  position: absolute;
  left: 4rem;
  top: 50%;
  transform: translateY(-50%);
  z-index: 10;
}
.m-service-slide__pager .current {
  font-size: 1.5rem;
  color: #fff;
  padding: 2.5rem 0;
  line-height: 1;
}
.m-service-slide__pager .prev .m-service-slide__show-item {
  margin: 0 auto;
  width: 1rem;
  height: 0.8rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("../images/arw2-t-white.svg");
}
.m-service-slide__pager .next .m-service-slide__show-item {
  margin: 0 auto;
  width: 1rem;
  height: 0.8rem;
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  background-image: url("../images/arw2-b-white.svg");
}
.m-service-slide__pager a {
  text-decoration: none;
  display: block;
  padding: 1rem 0;
}
.m-service-slide__area {
  position: relative;
}
.m-service-slide__list {
  position: relative;
  width: 100%;
}
.m-service-slide__item {
  z-index: 3;
  position: relative;
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  height: 100vh;
}
.m-service-slide__item.is-active {
  z-index: 4;
}
.m-service-slide__item + .m-service-slide__item {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
}
.m-service-slide__item.item1 .left .m-service-slide__title-main {
  color: #241d14;
}
.m-service-slide__item.item1 .left .m-service-slide__title-main.is-white {
  color: #fff;
}
.m-service-slide__item.item1 .left .m-service-slide__text {
  color: #241d14;
}
.m-service-slide__item.item1 .left .m-service-slide__text.is-white {
  color: #fff;
}
.m-service-slide__video {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  opacity: 1;
}
.m-service-slide__video.is-active {
  transition: all 2.7s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: visibility, opacity;
  opacity: 1;
}
.m-service-slide__video.is-active .mask {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-clip-path: inset(0);
  clip-path: inset(0);
}
.m-service-slide__video.is-active .mask:before {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 1;
}
.m-service-slide__video .mask {
  aspect-ratio: 5464/4096;
  width: 100%;
  height: 100vh;
  -webkit-clip-path: inset(20% 30%);
  clip-path: inset(20% 30%);
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 0;
}
.m-service-slide__video .mask.is-active {
  transition: all 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-clip-path: inset(0) !important;
  clip-path: inset(0) !important;
}
.m-service-slide__video .mask.is-active:before {
  transition: all 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  opacity: 1;
}
.m-service-slide__video .mask:before {
  position: absolute;
  content: "";
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.3);
  opacity: 0;
  transition: opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.m-service-slide__video .mask video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.m-service-slide__label {
  margin-bottom: 3rem;
  font-size: 5rem;
  color: #fff;
  line-height: 1;
}
.m-service-slide__title-main {
  line-height: 1.45;
  font-size: 2.4rem;
  margin-bottom: 3.5rem;
  display: block;
  color: #fff;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: color;
}
.m-service-slide__text {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: color;
  color: #fff;
}
.m-service-slide__text-box {
  padding-right: 9vw;
  padding-left: 9vw;
  width: 100%;
  box-sizing: border-box;
}
.m-service-slide__text-box .ttlArea {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: end;
}
.m-service-slide__text-box .ttlArea .right {
  ext-align: right;
  color: #246b47;
}
.m-service-slide__text-box .ttlArea .right__ttl {
  color: #246b47;
  font-size: 1.8rem;
}
.m-service-slide__text-box .txtArea {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.m-service-slide__text-box .txtArea .left {
  width: 50%;
}
.m-service-slide__text-box .txtArea .right {
  width: 50%;
  text-align: right;
  color: #246b47;
}
.m-service-slide__text-box .txtArea .right__txt {
  font-size: 1.4rem;
  line-height: 1.3;
}
.m-service-slide__text-box .txtArea .right__txt {
  color: #246b47;
}
.m-service-slide__show {
  display: block;
  -webkit-clip-path: inset(0 0 0);
  clip-path: inset(0 0 0);
}
.m-service-slide__show-item {
  transform: translateY(calc(100% + 0.1em));
}
.m-service-slide__show-item.m-service-slide__link {
  transform: translateY(calc(100% + 0.1em));
}
.m-service-slide__body {
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.m-service-slide__body.is-fixed {
  position: fixed;
}

.ui-tab__content {
  display: none;
}
.ui-tab__content.is-current {
  display: block;
}
.m-journallist .item {
  border-bottom: 1px solid #dad5c7;
}
.m-journallist .item:last-child, .blogDetails .d-flex:last-child {
    border-bottom: 0;
}
.m-journallist .item .c-linelink {
  text-decoration: none;
  color: #241d14;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 3rem 0;
  position: relative;
}
.m-journallist .item__img {
  width: 28rem;
}
.m-journallist .item__body {
  width: calc(100% - 30rem);
}

.m-journallist .item__body .meta {
  margin-top: 1.8rem;
  display: flex;
  line-height: 1;
}
.m-journallist .item__body .meta .date,
.blogDetails p.date {
  font-size: 15px;
  color: #0f6a3f;
  font-weight: 600;
}
.m-journallist .item__body .meta .cat {
  margin-left: 1rem;
  padding-left: 1rem;
  font-size: 1.1rem;
  position: relative;
  display: flex;
}
.m-journallist .item__body .meta .cat:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: #dad5c7;
}
.m-journallist .item__body .meta .cat li + li:before {
  content: ", ";
}

@keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@-webkit-keyframes instaReveal {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes mymove {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes mymove {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@-webkit-keyframes loader-dash {
  0% {
    stroke-dashoffset: 70;
  }
  50% {
    stroke-dashoffset: 17.5;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 70;
    transform: rotate(450deg);
  }
}
@keyframes loader-dash {
  0% {
    stroke-dashoffset: 70;
  }
  50% {
    stroke-dashoffset: 17.5;
    transform: rotate(135deg);
  }
  100% {
    stroke-dashoffset: 70;
    transform: rotate(450deg);
  }
}

.p-top-section__ttl .en {
  font-size: 40px;
  line-height: 1.4;
  margin-bottom: 1.5rem;
}
.p-top-section__ttl .jp {
  display: block;
  font-size: 1.5rem;
  color: #246b47;
  line-height: 1;
}
.p-top-section__ttl .sub {
  display: block;
  padding-top: 1rem;
}
.p-top-section__ttl .sub .jp {
  font-size: 1.3rem;
  color: #241d14;
  margin-bottom: 1.2rem;
}
.p-top-section__ttl .sub .en {
  font-size: 1.3rem;
  color: #246b47;
}

@-webkit-keyframes hscroll2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@keyframes hscroll2 {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
body.top .header {
  opacity: 1;
}

.page-top {
  position: relative;
}
/* .page-top__bg {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
} */
.page-top__bg video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.page-top__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}


.p-top-fv {
  height: 100vh;
  z-index: 101;
  overflow: hidden;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: #f7f2d5;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: opacity, visibility;
}
.p-top-fv.is-hidden {
  opacity: 0;
  visibility: hidden;
  z-index: 0;
}
.p-top-fv__opening {
  position: fixed;
  z-index: 11;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  background: #f2f0ec;
  transition: all 0.6s linear;
  transition-property: opacity, visibility;
}
.p-top-fv__opening .logo {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.p-top-fv__opening .logo svg {
  width: 9.3rem;
  height: 2rem;
}
.p-top-fv__opening.is-visible {
  opacity: 0;
  visibility: hidden;
}
.p-top-fv__video {
  position: absolute;
  z-index: 10;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow: hidden;
  opacity: 0;
  transition: opacity 1.8s linear;
}
.p-top-fv__video.is-visible {
  opacity: 1;
}
.p-top-fv__video .mask {
  aspect-ratio: 5464/4096;
  width: 100%;
  height: 100%;
  -webkit-mask-image: url("../images/logo.webp");
  -webkit-mask-position: 95% 50%;
  mask-position: 50% 50%;
  -webkit-mask-size: 40%;
  mask-size: 30%;
  mask-repeat: no-repeat;
  -webkit-mask-repeat: no-repeat;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}
.p-top-fv__video .mask.is-hidden {
  transition: all 4.5s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-mask-size: 200%;
  mask-size: 200%;
  opacity: 0;
}
.p-top-fv__video .mask video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
}
.p-top-fv__video .tail {
  position: absolute;
  margin-top: -2.5%;
  left: 50%;
  width: 54vw;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transform-origin: center left;
}
.p-top-fv__video .tail.is-hidden {
  transition: all 4.5s cubic-bezier(0.16, 1, 0.3, 1);
  transform: scale(2);
  opacity: 0;
}
.p-top-fv__copy {
  position: absolute;
  z-index: 1;
  top: 50%;
  transform: translateY(-50%);
  left: 5vw;
  transition: opacity 1.35s linear;
  opacity: 0;
  display: flex;
}
.p-top-fv__copy.is-visible {
  opacity: 1;
}
.p-top-fv__copy .en {
  font-size: 4.8rem;
  line-height: 1;
}
.p-top-fv__copy .en + .en {
  margin-left: 1rem;
}
.p-top-fv__ttlarea {
  position: absolute;
  z-index: 1;
  right: 5rem;
  bottom: 4rem;
  text-align: right;
  transition: opacity 1.35s linear;
  opacity: 0;
}
.p-top-fv__ttlarea.is-visible {
  opacity: 1;
}
.p-top-fv__ttlarea .ttl {
  font-size: 1.6rem;
}
.p-top-fv__ttlarea .en {
  margin-top: 0rem;
  font-size: 1.4rem;
  color: #246b47;
  line-height: 1.3;
}
.p-top-fv__scroll {
  position: absolute;
  z-index: 1;
  left: 3rem;
  bottom: 3rem;
  transition: opacity 1.35s linear;
  opacity: 0;
}
.p-top-fv__scroll.is-visible {
  opacity: 1;
}
.p-top-fv__scroll .txt {
  font-size: 1.2rem;
  line-height: 1;
  display: block;
  position: absolute;
  width: 0;
  height: 0;
  white-space: nowrap;
  top: -4.3rem;
  left: 0.6rem;
  transform: rotate(90deg);
}
.p-top-fv__scroll .bar {
  display: block;
  width: 1px;
  height: 5.2rem;
  background: #e2e2e2;
  overflow: hidden;
  position: relative;
}
.p-top-fv__scroll .bar:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 1px;
  height: 5.2rem;
}
.p-top-fv__scroll .bar:after {
  -webkit-animation: scroll 2.5s ease-in-out infinite normal;
  animation: scroll 2.5s ease-in-out infinite normal;
  background: #246b47;
}
@-webkit-keyframes scroll {
  0% {
    transform: translateY(-100%);
  }
  15% {
    transform: translateY(0%);
  }
  30% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(100%);
  }
}
@keyframes scroll {
  0% {
    transform: translateY(-100%);
  }
  15% {
    transform: translateY(0%);
  }
  30% {
    transform: translateY(100%);
  }
  100% {
    transform: translateY(100%);
  }
}

.p-top-concept {
  position: relative;
  z-index: 1;
}
.p-top-concept__ttl {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: visibility, opacity;
}
.p-top-concept__ttl .p-top-section__ttl {
  text-align: center;
}
.p-top-concept__ttl.is-hidden {
  opacity: 0;
  visibility: hidden;
}
.p-top-concept__content {
  padding-top: 0;
  position: relative;
  z-index: 1;
}

.overflow {
  overflow: hidden;
}
.p-top-megalinks {
  margin-top: 0;
  margin-bottom: 0;
  display: flex;
  aspect-ratio: 1520/500;
	gap: 20px
}
.p-top-megalinks.col2 .item {
  width: 50%;
}
.p-top-megalinks .item {
  width: 33.3333333333%;
  transition: width 0.9s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.9s linear;
  transition-property: width, opacity;
  opacity: 1;
  pointer-events: auto;
}
.p-top-megalinks.col2 .item img {
    height: 350px;
    object-fit: cover;
	position: relative
}

.p-top-megalinks .item a {
  transform: translateY(0rem);
}

html.notouch .p-top-megalinks .item:hover .item__txt .txt {
  opacity: 1;
}
/*
html.notouch .p-top-megalinks .item .item__bg:before {
  background: rgba(0, 0, 0, 0.6);
}
*/
.p-top-megalinks .item a {

  display: block;
  position: relative;
  text-decoration: none;
  color: #fff;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: transform, opacity;
}

.p-top-megalinks .item__txt .ttl {
  font-size: 30px;
  line-height: 1;
  margin-bottom: 3rem;
}
.p-top-megalinks .item__txt .txt {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: transform, opacity;
  opacity: 0;
}
.p-top-megalinks .item__txt .txt .jp {
  margin-bottom: 1rem;
  white-space: nowrap;
}
.p-top-megalinks .item__txt .txt .en {
  color: #246b47;
  white-space: nowrap;
}
.p-top-megalinks .item__bg {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.p-top-megalinks .item__bg:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.2);
  z-index: 1;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: background;
	border-radius: 0px;
}
.p-top-megalinks .item__bg img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  position: absolute;
  left: 0;
  top: 0;
}
.p-top-megalinks .item__btn {
   position: absolute;
  text-align: center;
  width: 100%;
  bottom: 0;
	opacity: 0;
	transition: all .5s ease;
	color: #fff
}
h4.c-linelink__txt.white{
	color: #fff
}
.p-top-megalinks.col2 .item:hover .item__btn {
   bottom: 0;
    padding-bottom: 30px;
	opacity: 1;
	z-index: 9;
}
.p-top-megalinks .item__btn .c-linelink__txt {
  background: none;
}
.p-top-resorts {
  padding-bottom: 30rem;
}
.p-top-resorts__inner {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
/*
.p-top-resorts__head {
  width: 36rem;
  position: sticky;
  height: 100%;
  top: 12rem;
}
*/
/*
.p-top-resorts__content {
  width: calc(100% - 40rem);
}
*/
.p-top-resorts__content .item {
position: relative;
    background-color: rgb(15 106 63 / 50%);
    height: auto;
    box-shadow: rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
    border: 1px solid #9e9e9e3d;
	transition: all .5s ease;
}
.p-top-resorts__content .item:hover {
    transform: scale(1.05);
}
.p-top-resorts__content .item a {
  text-decoration: none;
  color: #241d14;
  display: block;
}
html.notouch .p-top-resorts__content .item a:hover .item__btn:before {
  width: 100%;
}
.p-top-resorts__content .item__img {
  margin-bottom: 0;
}
.p-top-resorts__content .item__body {
    margin-bottom: 0;
    padding: 25px;
}
.p-top-resorts__content .item__body .titleBox h3{
 
	color: #fff;
}
.p-top-resorts__content .item__body .titleBox .subHead {

    line-height: 1.307;
    margin-top: 10px;
    font-style: italic;
    color: #f7f2d5;
}
.roomSec .p-top-resorts__content .item__body .txtarea .jp{
	color: #fff
}
.room__btn span {
 color: #0f6a3f;
    background-color: #fff;
    font-weight: 400;
    padding: 10px 30px;
    margin-top: 15px;
    display: inline-block;
    border-radius: 10px;
    text-align: center;
	transition: all .5s ease;
	border: 1px solid #fff;
}
.room__btn span:hover{
	background-color: transparent;
	color: #fff;
}
.p-top-resorts__content .item__body .txtarea {
  width: 100%;
}
.p-top-resorts__content .item__body .txtarea .jp {
  margin-bottom: 1.5rem;
}
.m-service-slide__video .mask img {
  height: 100%;
  object-fit: cover;
}
/*
.p-top-resorts__content .item__btn {
  border-bottom: 1px solid #dad5c7;
  padding-bottom: 1.2rem;
  position: relative;
  z-index: 1;
  text-align: right;
  font-size: 16px;
  line-height: 1;
}
.p-top-resorts__content .item__btn:before {
  display: block;
  position: absolute;
  content: "";
  width: 9.4rem;
  height: 1px;
  right: 0;
  bottom: -1px;
  background: #241d14;
  transition: all 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: width;
}
*/
.p-top-resorts__content .item__btn .icon {
  padding-left: 1rem;
  width: 1rem;
  height: 1rem;
}

.p-top-journal {
  padding: 8rem 0;
}

.p-top-journal__txt {
  margin-bottom: 2rem;
}
.p-top-journal__txt .en {
  color: #246b47;
}


.p-top-journal__pickup .pickup__ttl {
  font-size: 30px;
  margin-bottom: 1.5rem;
  line-height: 1.4;
}
.p-top-journal__pickup .item a {
  display: block;
}
.p-top-journal__pickup .item__img {
  margin-bottom: 2rem;
}


.p-top-journal__pickup .item .meta {
  margin-top: 1.8rem;
  display: flex;
  line-height: 1;
}
.p-top-journal__pickup .item .meta .date {
  font-size: 1.2rem;
}
.p-top-journal__pickup .item .meta .cat {
  margin-left: 1rem;
  padding-left: 1rem;
  font-size: 1.1rem;
  position: relative;
  display: flex;
}
.p-top-journal__pickup .item .meta .cat:before {
  display: block;
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 100%;
  background: #dad5c7;
}
.p-top-journal__pickup .item .meta .cat li + li:before {
  content: ", ";
}

.p-top-journal__list {
    display: flex;
    border-bottom: 0;
    margin-bottom: 1rem;
    justify-content: center;
}
.p-top-journal__list .item {
  margin-right: 1rem;
  transition: all 0.5s ease;
  -webkit-transition: all 0.5s ease;
  -moz-transition: all 0.5s ease;
  -ms-transition: all 0.5s ease;
  -o-transition: all 0.5s ease;
}

.p-top-journal__list .item.is-current a:before {
  left: 0;
  right: auto;
  width: 100%;
}
.p-top-journal__list .item a {
font-size: 18px;
    color: #fff;
    transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
    transition-property: color;
    text-decoration: none;
    display: block;
    line-height: 1;
    padding: 12px 25px;
    position: relative;
    background-color: transparent;
    border-radius: 30px;
    border: 1px solid #fff;
    min-width: 100px;
    text-align: center;
}

.p-top-journal__list .item.is-current a,
.p-top-journal__list .item a:hover {
  background-color: #fff;
	 color: #246b47;
}

/*
.p-top-journal__list .item a:before {
  position: absolute;
  right: 0;
  bottom: -1px;
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: #241d14;
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: width;
}
*/
html.notouch .p-top-journal__list .item a:hover {
  color: #246b47;
}
.p-top-journal__btn {
  margin-top: 2rem;
  text-align: left;
	    gap: 15px;
    display: inline-flex;
}

.p-company .main__body.grid .grid__main {
  width: calc(100% - 40rem);
}
.p-company .main__ttl {
  margin-bottom: 0;
}

.main__body.grid .grid__nav .ankNav ul li.is-current .c-linelink__txt {
  background-size: 100% 1px;
}
.main__body.grid .grid__nav .ankNav ul li a {
  font-size: 18px;
    line-height: 1.4;
    color: #fff;
    padding-bottom: 10px;
}
.main__body.grid .grid__nav .ankNav ul li + li {
  margin-top: 1.6rem;
}
.p-company-section{
	width: 100%;
}
.p-company-section + .p-company-section {
  margin-top: 5rem;

}
.p-company-section__img {
  margin-bottom: 4.5rem;
}
.p-company-section__col2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-company-section__col2 .ttlarea {
  width: 49%;
}
.p-company-section__col2 .ttlarea .ttl {
  font-size: 2.3rem;
  display: flex;
  line-height: 1.4;
}
.p-company-section__col2 .ttlarea .ttl span + span {
  padding-left: 3rem;
  position: relative;
}
.p-company-section__col2 .ttlarea .ttl span + span:before,
.p-company-section__col2 .ttlarea .ttl span + span:after {
  position: absolute;
  display: block;
  content: "";
  width: 1.5rem;
  height: 1px;
  background: #a7a08c;
  top: 1.6rem;
  left: 0.7rem;
}
.p-company-section__col2 .ttlarea .ttl span + span:before {
  transform: rotate(-45deg);
}
.p-company-section__col2 .ttlarea .ttl span + span:after {
  transform: rotate(45deg);
}

.p-company-section__col2 .ttlarea .en span + span {
  padding-left: 2.5rem;
  position: relative;
}
.p-company-section__col2 .ttlarea .en span + span:before,
.p-company-section__col2 .ttlarea .en span + span:after {
  position: absolute;
  display: block;
  content: "";
  width: 0.9rem;
  height: 1px;
  background: #246b47;
  top: 0.8rem;
  left: 0.8rem;
}
.p-company-section__col2 .ttlarea .en span + span:before {
  transform: rotate(-45deg);
}
.p-company-section__col2 .ttlarea .en span + span:after {
  transform: rotate(45deg);
}
.p-company-section__col2 .textarea {
  width: 100%;
}
.p-company-section__col2 .textarea .jp + .jp {
  margin-top: 1.5rem;
}

.p-resorts {
  overflow: clip;
}

.p-resorts-section__sttl {

  margin-bottom: 1.5rem;
}
.abtList i{
	color: #0f6a3f
}
.p-journal-index__list {
  margin-top: -3rem;
}
.p-journal-index .js-entries__more {
  margin: 4rem auto 0;
  width: 15rem;
  display: block;
  padding-left: 0;
  padding-right: 0;
}

.p-contact-flow .flow li {
  padding-bottom: 0.3rem;
  border-bottom: 1px solid #dad5c7;
  color: #a7a08c;
  line-height: 1.4;
}
.p-contact-flow .flow li.current {
  color: #241d14;
  border-bottom: 1px solid #241d14;
}
.p-contact-flow .flow li.current .en {
  color: #246b47;
}
.p-contact-flow .flow li + li {
  margin-top: 1.5rem;
}
.p-contact-flow .flow li .en {
  padding-left: 1rem;
}
.p-contact-flow .cap {
    margin-bottom: 0;
    padding: 0 25px;
    background: transparent;
    width: 28%;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
}
.p-contact-flow .cap.mt-30{
	margin-top: 1rem
}
.p-partnerships .main__body.grid .grid__main {
  width: calc(100% - 30rem);
}
.p-partnerships .main__body.grid .grid__nav .ankNav ul li a {
  font-size: 1.3rem;
}
.p-partnerships .main__body.grid .grid__nav .ankNav ul li a .enttl {
  margin-top: 0.3rem;
  display: block;
  font-size: 1.2rem;
  color: #246b47;
}

.p-partnerships-section__item {
  padding-left: 4rem;
  position: relative;
  padding-right: 0rem;
}

/*
.p-partnerships-section__item:before {
  content: "";
  display: block;
  position: absolute;
  left: 2.7rem;
  width: 1px;
  height: 100%;
  background: #dad5c7;
}
*/
.p-partnerships-section__item .item__ttl {
  padding-bottom: 4rem;
}
.p-partnerships-section__item .item__ttl .num {
  width: 4rem;
  height: 4rem;
  border-radius: 50%;
  position: absolute;
  left: 7px;
  background: #246b47;
  color: #fff;
  text-align: center;
}
.p-partnerships-section__item .item__ttl .jp {
  font-size: 2.3rem;
  display: block;
  line-height: 1.5;
}
.p-partnerships-section__item .item__ttl .enttl {
  margin-top: 0.2rem;
  line-height: 1.5;
  font-size: 1.5rem;
  color: #246b47;
  display: block;
}
.p-partnerships-section__item .item__sttl {
  padding-top: 4rem;
  font-size: 1.9rem;
  line-height: 1.5;
  margin-bottom: 3rem;
  position: relative;
}
.p-partnerships-section__item .item__sttl:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: -4.3rem;
  width: calc(100% + 4.3rem);
  height: 1px;
  background: #dad5c7;
}
.p-partnerships-section__item .item__sttl .enttl {
  margin-top: 0.2rem;
  display: block;
  font-size: 1.3rem;
  color: #246b47;
}
.p-partnerships-section__item .item__img {
  margin-bottom: 2rem;
}
.p-partnerships-section__item .item__list li {
  padding-left: 1.3rem;
  position: relative;
}
.p-partnerships-section__item .item__list li + li {
  margin-top: 2rem;
}
.p-partnerships-section__item .item__list li:before {
  position: absolute;
  top: 0.9rem;
  left: 0;
  display: block;
  content: "";
  width: 0.4rem;
  height: 0.4rem;
  border-radius: 50%;
  background: #241d14;
}
.p-partnerships-section__item .item__list li .en {
  display: block;
  margin-top: 0.2rem;
  line-height: 1.3;
  color: #246b47;
}
.p-partnerships-section__item .item__lead {
  margin-bottom: 4rem;
}
.p-partnerships-section__item .item__lead .en {
  margin-top: 1rem;
  line-height: 1.3;
  color: #246b47;
}
.p-partnerships-section__item .item__cap {
  margin-top: 1.5rem;
  color: #96907f;
}
.p-partnerships-section__item .item__cap .en {
  color: #96907f;
}

.p-partnerships-investments__targets .ttl {
  text-align: center;
  border: 1px solid #dad5c7;
  margin-bottom: 3rem;
}
.p-partnerships-investments__targets .ttl .jp {
  font-size: 1.6rem;
}
.p-partnerships-investments__targets .ttl .en {
  padding-left: 0.8rem;
  color: #246b47;
  font-size: 1.3rem;
}
.p-partnerships-investments__targets .targetsItem + .targetsItem {
  margin-top: 3rem;
  padding-top: 3rem;
  border-top: 1px solid #dad5c7;
}

.p-partnerships-record .recordItem + .recordItem {
  margin-top: 6rem;
  padding-top: 6rem;
  border-top: 1px solid #dad5c7;
}
.p-partnerships-record .recordItem .entxt {
  font-size: 1.3rem;
  color: #246b47;
  line-height: 1.3;
  margin-top: 0.5rem;
}
.p-partnerships-record .recordItem__ttl {
  margin-bottom: 1.5rem;
}
.p-partnerships-record .recordItem__ttl .ttl {
  width: 28rem;
  font-size: 2.6rem;
  line-height: 1.5;
}
.p-partnerships-record .recordItem__ttl .img {
  width: calc(100% - 28rem);
}
.p-partnerships-record .recordItem__overview .col2 {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

.p-partnerships-record .recordItem__overview .col2 .table dl {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.p-partnerships-record .recordItem__overview .col2 .table dl .en {
  display: block;
  color: #246b47;
  line-height: 1.3;
  margin-top: 0.5rem;
}
.p-partnerships-record .recordItem__overview .col2 .table dl dt {
  width: 10rem;
}
.p-partnerships-record .recordItem__overview .col2 .table dl dd {
  width: calc(100% - 10rem);
}
.p-partnerships-record .recordItem__overview .col2 .table dl + dl {
  margin-top: 2rem;
  padding-top: 2rem;
  border-top: 1px solid #dad5c7;
}
.p-partnerships-record .recordItem__status {
  margin-top: 3rem;
}
.p-partnerships-record__btn {
      margin: 8rem 0;
}
.p-partnerships-record__btn .btn {
  padding: 5rem;
  border: 1px solid #dad5c7;
}

body#brand .header__logo {
  transition: all 0.9s cubic-bezier(0.16, 1, 0.3, 1) 0s;
  transition-property: opacity, visibility;
  opacity: 0;
  visibility: hidden;
}
html.menu-open body#brand .header__logo {
  opacity: 1;
  visibility: visible;
}
body#brand .header__menu {
  transition-property: opacity, visibility;
  top: 4.2rem;
  opacity: 0;
  visibility: hidden;
}
body#brand .header__menu:before {
  color: #5f4a08;
}
body#brand .header__menu .line-1,
body#brand .header__menu .line-2 {
  background: #5f4a08;
}

html.fv-scrolled body#brand .header__menu {
  opacity: 1;
  visibility: visible;
}
html.menu-open body#brand .header__menu:before {
  color: #fff;
}
html.menu-open body#brand .header__menu .line-1,
html.menu-open body#brand .header__menu .line-2 {
  background: #fff;
}
body#brand #wrapper {
  overflow: inherit;
  overflow-x: clip;
}

@-webkit-keyframes symbol-rotate {
  0% {
    rotate: 0deg;
  }
  50% {
    rotate: 3deg;
  }
  100% {
    rotate: 0deg;
  }
}
@keyframes symbol-rotate {
  0% {
    rotate: 0deg;
  }
  50% {
    rotate: 3deg;
  }
  100% {
    rotate: 0deg;
  }
}

html:has(body#recruit) {
  background: #fff;
}

@-webkit-keyframes recruit_scroll {
  0% {
    translate: -100% 0;
  }
  15% {
    translate: 0 0;
  }
  30% {
    translate: 100% 0;
  }
  100% {
    translate: 100% 0;
  }
}
@keyframes recruit_scroll {
  0% {
    translate: -100% 0;
  }
  15% {
    translate: 0 0;
  }
  30% {
    translate: 100% 0;
  }
  100% {
    translate: 100% 0;
  }
}

.p-recruit-pageTitle {
  padding-top: 15rem;
}
.p-recruit-pageTitle__body {
  max-width: 118rem;
  box-sizing: border-box;
  padding-right: 3rem;
  padding-left: 3rem;
  margin-right: auto;
  margin-left: auto;
  max-width: 116rem;
}
.p-recruit-pageTitle__ttl .en {
  font-size: 4.2rem;
  letter-spacing: 0.04em;
  line-height: 1.143;
  padding-top: 0.1rem;
  margin-bottom: -0.1rem;
}
.p-recruit-pageTitle__ttl .ja {
  font-size: 1.5rem;
  letter-spacing: 0.1em;
  line-height: 1;
  color: #246b47;
  margin-top: 1.5rem;
}
.p-recruit-pageTitle__lead {
  margin-top: 10rem;
}
.p-recruit-pageTitle__lead .ja {
  letter-spacing: 0.04em;
  line-height: 1.924;
  margin: -0.6rem 0;
}
.p-recruit-pageTitle__lead .en {
  letter-spacing: 0.04em;
  line-height: 1.462;
  color: #246b47;
  margin: 1.7rem 0 -0.3rem;
}
.--center .p-recruit-pageTitle__ttl {
  display: grid;
  place-items: center;
  padding-left: 0.1rem;
}
.--center .p-recruit-pageTitle__ttl .ja {
  margin-top: 2rem;
}

.p-recruit-section__body {
  max-width: 118rem;
  box-sizing: border-box;
  padding-right: 3rem;
  padding-left: 3rem;
  margin-right: auto;
  margin-left: auto;
}
.p-recruit-section__body.--size-m {
  max-width: 116rem;
}

.p-recruit-job-terms {
  padding: 10rem 0 7.5rem;
}
.p-recruit-job-terms__column {
  display: grid;
  grid-template-columns: 25rem 64.546%;
  align-items: start;
  justify-content: space-between;
}
.p-recruit-job-terms__head {
  position: sticky;
  top: 10rem;
}
.p-recruit-job-terms__ttl .ja {
  font-size: 2.3rem;
  letter-spacing: 0.02em;
  line-height: 1.609;
  margin: -0.7rem 0;
}
.p-recruit-job-terms__ttl .en {
  font-size: 1.4rem;
  letter-spacing: 0.04em;
  line-height: 1.572;
  color: #246b47;
  margin: 1.1rem 0 -0.4rem;
}
.p-recruit-job-terms__entry {
  margin-top: 4rem;
}

.p-recruit-job-terms__blocks .block:not(:first-child) {
  border-top: 1px solid #dad5c7;
  padding-top: 5.9rem;
  margin-top: 5.9rem;
}
.p-recruit-job-terms__blocks .block:last-child {
  padding-bottom: 5.9rem;
  border-bottom: 1px solid #dad5c7;
}
.p-recruit-job-terms__blocks .block__ttl .ja {
  font-size: 1.9rem;
  letter-spacing: 0.02em;
  line-height: 1.79;
  margin: -0.7rem 0 -0.8rem;
}
.p-recruit-job-terms__blocks .block__ttl .en {
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  line-height: 1.308;
  color: #246b47;
  margin: 1rem 0 -0.2rem;
}
.p-recruit-job-terms__blocks .block__text {
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  line-height: 1.924;
  margin: 3.4rem 0 -0.6rem;
}
.p-recruit-job-terms__blocks .block__caption {
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  line-height: 1.637;
  color: #96907f;
  margin: 0.7rem 0 -0.4rem;
}
.p-recruit-job-terms__blocks .block__caption + .block__en {
  margin-top: 1.6rem;
}
.p-recruit-job-terms__blocks .block__en {
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  line-height: 1.308;
  color: #246b47;
  margin: 1rem 0 -0.1rem;
}
.p-recruit-job-terms__blocks .block__items {
  margin-top: 4rem;
}
.p-recruit-job-terms__blocks .block__items .item {
  position: relative;
  padding-left: 1.3rem;
}
.p-recruit-job-terms__blocks .block__items .item:before {
  position: absolute;
  top: 0.9rem;
  left: 0;
  display: block;
  content: "";
  width: 0.4rem;
  aspect-ratio: 1/1;
  background: #241d14;
  border-radius: 50%;
}
.p-recruit-job-terms__blocks .block__items .item:not(:first-child) {
  margin-top: 3rem;
}
.p-recruit-job-terms__blocks .block__items .item__ttl {
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  line-height: 1.667;
  margin: -0.7rem 0 -0.3rem;
}
.p-recruit-job-terms__blocks .block__items .item__caption {
  font-size: 1.1rem;
  letter-spacing: 0.06em;
  line-height: 1.637;
  color: #96907f;
  margin: 0.5rem 0 -0.2rem;
}
.p-recruit-job-terms__blocks .block__items .item__text {
  font-size: 1.3rem;
  letter-spacing: 0.04em;
  line-height: 1.924;
  margin: 0.2rem 0 -0.4rem;
}
.clearfix {
  zoom: 1;
}
.clearfix:after {
  content: "";
  display: block;
  clear: both;
  height: 0;
}
.pc-hidden {
  display: none;
}
.pctb-hidden {
  display: none;
}

.roomSec {
  position: relative;
}

.posright {
  max-width: 130px;
  position: absolute;
  top: 0;
  right: 130px;
}
.footer {
  position: relative;
  z-index: 1;
  margin-bottom: 0;
	border-top: 1px solid #eee;
}
.footer .section__body {
  position: absolute;
  top: 6rem;
  left: 0;
  right: 0;
}
.footer__info {
  background-color: #246b47;
}
.footer__info .section__body {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
  padding: 15px 3rem;
  width: 100%;
}
.copyright.jp {
  color: #fff;
}
.dineSec,
.expSection,
.aboutSec,
.roomSec,
.facSection,
.blogSec, .eventSec {
  padding: 8rem 0;
}
.dineSec{
	position: relative
}
.footer__cvNav ul .item__txt {
  margin-top: 1rem;
}
.footer__cvNav {
  width: 37%;
  padding-right: 25px;
}
.footer__nav {
  width: 20%;
  text-align: right;
  position: relative;
}
.footer__cvNav a {
  text-decoration: none;
  font-size: 16px;
  color: #241d14;
  padding-top: 10px;
  display: inline-block;
}
.footer__nav ul li a {
  text-decoration: none;
  color: #241d14;
  font-size: 16px;
}
.blogSec .p-top-journal__pickup {
  width: 32%;
  top: 0;
  position: static;
}
.p-top-journal__pickup.col-lg-4.col-md-6 .item {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
	background-color: #fff;
	display: flex;
    flex-direction: column;
    height: 100%;
}

.item__body.aboutpara {
    padding: 0 15px 25px;
}
.blogSec .p-top-journal__pickup .item .meta {
  margin-top: 1.8rem;
  display: flex;
  line-height: 1;
}
.blogSec .p-top-journal__pickup .item .meta .date {
  font-size: 15px;
  color: #0f6a3f;
  font-weight: 600;
}
.blogSec .p-top-journal__pickup .item h4.ttl {
  padding-bottom: 15px;
  padding-top: 10px;
}
.aboutpara .item__btn {
  border-bottom: 1px solid #dad5c7;
  padding-bottom: 1.2rem;
  position: relative;
  z-index: 1;
  text-align: right;
  font-size: 15px;
  line-height: 1;
}
.aboutpara .item__btn {
  margin-top: 30px;
  text-align: left;
  cursor: pointer;
}
.aboutpara .item__btn:before {
  display: block;
  position: absolute;
  content: "";
  width: 9.4rem;
  height: 1px;
  right: 0;
  bottom: -1px;
  background: #241d14;
  transition: all 1.8s cubic-bezier(0.16, 1, 0.3, 1);
  transition-property: width;
}
.aboutpara:hover .item__btn:before {
  width: 100%;
}
.p-top-journal__pickup .item a {
  display: block;
  text-decoration: none;
  cursor: pointer;
}
.item__body.aboutpara .p-top-journal__btn {
    gap: 0;
}
.sprit-text.mr {
  margin-right: 10px;
}
.m-journallist .item__body h4 {
  font-size: 25px;
  margin-bottom: 1.5rem;
}
.m-journallist .item__body .section__sttl {
  font-size: 25px;
  position: relative;
  line-height: 1.4;
  margin-bottom: 1rem;
  color: #241d14;
}

.topHead {
 font-size: 18px;
    line-height: 1.307;
    color: #246b47;
    margin-top: 10px;
    font-weight: 400;
    font-style: italic;
}
.header .h-mainNav__links .recruitNav {
  color: #fff;
  background-color: #0f6a3f;
  border: 1px solid #0f6a3f;
  padding: 15px 30px;
  display: inline-block;
  width: auto;
  margin: 0;
  float: right;
}
.mt-30 {
  margin-top: 2.5rem;
}
.text-white{
	color: #fff
}

.section__sttl {
  color: #241d14;
  line-height: 1.3;
  padding-left: 0;
  position: relative;
}

/*
.section__sttl:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  height: 100%;
  background: #246b47;
  border-radius: 0.4rem;
  overflow: hidden;
}
*/

.p-company-section__col2 .ttlarea {
  width: 100%;
  margin-bottom: 1.5rem;
}

.roomCatList li::before {
  font-family: FontAwesome;
  display: inline-block;
  padding-right: 6px;
  vertical-align: middle;
  content: "\f192";
  font-size: 12px;
  top: 2px;
  position: relative;
}
.roomCatList li {
  padding-bottom: 0;
  padding-left: 15px;
  position: relative;
  list-style-type: none;
  padding-top: 15px;
}
.pt-15 {
  padding-top: 15px;
}
.p-partnerships-record__btn h3.ttl.en {
  margin-bottom: 1rem;
  color: #246b47;
  line-height: 1.3;
  font-size: 25px;
}
.p-partnerships-record__btn .btn {
  padding: 5rem;
  border: 1px solid #dad5c7;
}
.p-partnerships
  .main__body.grid
  .grid__main.w-100
  section.p-partnerships-investments.p-partnerships-section {
  display: grid;
  grid-template-columns: repeat(2, 2fr);
}
.p-partnerships .main__body.grid .grid__main.w-100 {
  width: 100%;
}
.mt-60 {
  margin-top: 60px;
}
.p-partnerships-section__item .item__ttl .en {
  font-size: 30px;
  display: block;
  line-height: 1.4;
}
.p-partnerships-section__item .item__ttl .enttl {
  margin-top: 0.2rem;
  line-height: 1.5;
  font-size: 17px;
  color: #246b47;
  display: block;
  font-weight: 600;
  font-style: italic;
}
.p-partnerships-section__item .item__ttl {
  padding-bottom: 1.5rem;
}
.section-by-two {
  display: flex;
}
.section-by-two .sec-75 {
 width: 65%;
    padding-right: 60px;
		flex: 0 0 65%;
}
.section-by-two .sec-25 {
  width: 35%;
	flex: 0 0 35%;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.subHead {
  color: #246b47;
  font-size: 18px;
  padding-bottom: 10px;
  font-style: italic;
}
.mt-15 {
  margin-top: 15px;
}

.slick-nav.prev-arrow {
  left: 3%;
  transform: scaleX(-1);
  z-index: 9;
}
.slick-nav.next-arrow {
  left: auto;
  right: 3%;
}
.slick-nav {
  --active: #fff;
  --border: rgba(255, 255, 255, 0.12);
  width: 44px;
  height: 44px;
  position: absolute;
  cursor: pointer;
  top: calc(50% - 44px);
}
.slick-nav:before,
.slick-nav:after {
  content: "";
  display: block;
  position: absolute;
  left: 1px;
  right: 1px;
  top: 1px;
  bottom: 1px;
  border-radius: 50%;
  border: 2px solid var(--border);
}
.slick-nav i {
  display: block;
  position: absolute;
  margin: -10px 0 0 -10px;
  width: 20px;
  height: 20px;
  left: 50%;
  top: 50%;
}
.slick-nav svg {
  width: 44px;
  height: 44px;
  display: block;
  position: relative;
  z-index: 1;
  color: var(--active);
  stroke-width: 2px;
  stroke-dashoffset: 126;
  stroke-dasharray: 126 126 0;
  transform: rotate(0deg);
}
.slick-nav i:before {
  transform: rotate(-40deg);
}
.slick-nav i:before,
.slick-nav i:after {
  content: "";
  width: 10px;
  height: 2px;
  border-radius: 1px;
  position: absolute;
  left: 50%;
  top: 50%;
  background: var(--active);
  margin: -1px 0 0 -5px;
  display: block;
  transform-origin: 9px 50%;
}
.slick-nav i:after {
  transform: rotate(40deg);
}
.roomSlider {
  margin-top: 2.5rem;
}
.slider-nav .slick-slide {
  margin: 0 5px;
  cursor: pointer;
}
.amenitiList {
  padding-top: 15px;
  display: grid;
  grid-template-columns: repeat(2, 2fr);
  gap: 20px 0;
  margin-bottom: 2rem;
}
.amenitiList li i, .amenitiList2 li i {
  margin-right: 5px;
  font-size: 14px;
  color: #246b47;
}
.amenitiList2{
	  padding-top: 15px;
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 20px 0;
  margin-bottom: 2rem;
}
.sectionBanner {
  position: relative;
  background-blend-mode: overlay;
  padding: 0;
  text-align: center;
  animation: relative;
  min-height: 550px;
  align-items: flex-end;
  display: flex;
  justify-content: center;
	background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
	background-image: url('./img/baithak-and-courtyard/GTH07917.webp')
}
.sectionBanner::before{
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.1) 30%, rgba(255, 255, 255, 0.2) 60%, rgba(0, 0, 0, 0.35) 100%, transparent 100%);
}
.sectionBanner .main__ttl {
  padding-top: 0;
    margin-bottom: 2rem;
    color: #fff;
    max-width: 110rem;
    display: block;
    width: 100%;
    z-index: 9;
}
.bannerTitle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.bannerTitle h1{
	color: #fff
}
.mx-75.text-center {
  max-width: 100%;
  margin: 0 auto 30px auto;
}
.mb-5 {
  margin-bottom: 1rem !important;
}
.p-company .main__body.grid .grid__main.facGrid {
  width: 100%;
  margin: auto;
}
.imgGroup {
  display: flex;
  gap: 40px;
  grid-template-columns: repeat(2, 2fr);
  align-items: center;
	background-color: #fff;
    border-radius: 0;
    padding: 15px;
}
.dine_inner_sec .imgGroup{
	background-color: transparent;
	padding: 0
}
/* .p-company-section__col2 .imgGroup .textarea {
    width: 50%;
} */
.dineList {
  padding: 0 0 15px 0;
  list-style-type: disc;
}
ul.dineList.d-flex.gap-10 {
    display: flex;
    gap: 0 15px;
    margin-top: 10px;
}
.dineList li {
  position: relative;
  padding: 0 0 10px 0;
  display: flex;
  padding-left: 1px;
}
.dineList li::before {
font-family: FontAwesome;
    display: inline-block;
    padding-right: 8px;
    vertical-align: middle;
    content: "\f06c";
    font-size: 13px;
    top: 3px;
    position: relative;
    color: #0f6a3f;
}
.imgGroup .p-company-section__img {
  margin-bottom: 0;
  margin-top: 0;
  width: 100%;
}

.accordion {
  margin: 15px 0;
}
.accordion .link {
  cursor: pointer;
  display: block;
  padding: 15px 15px 15px 0;
  font-size: 16px;
  border-bottom: 1px solid #ccc;
  position: relative;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
  font-weight: 600;
}
.accordion li i {
  position: absolute;
  top: 16px;
  right: 12px;
  font-size: 18px;
  color: #595959;
  -webkit-transition: all 0.4s ease;
  -o-transition: all 0.4s ease;
  transition: all 0.4s ease;
}
.submenu {
  display: none;
  padding: 15px 0;
}
.dineList.list-2 {
  display: flex;
  flex-wrap: wrap;
}
.dineList.list-2 li {
  width: 49%;
}
.dineList.list-2 li.w-100 {
  width: 100%;
}

.m-journallist .item__body .meta {
  margin-top: 1.8rem;
  display: flex;
  line-height: 1;
}
.m-journallist .item__body .ttl {
  margin-bottom: 1rem;
}
.blogDetails .d-flex {
  display: flex;
  align-items: center;
  border-bottom: 1px solid rgb(218, 213, 199);
  padding-bottom: 25px;
  padding-top: 25px;
}
.blogDetails p {
  line-height: 1.6;
  padding-bottom: 10px;
}
.blogDetails p.en {
  padding-bottom: 0;
}
.blogDetails a {
  text-decoration: none;
  color: #241d14;
}
.p-contact-index .main__body.grid .grid__nav {
  width: 100%;
    padding: 0;
    background: transparent;
    box-shadow: none;
    border-radius: 0;
	position: relative;
	top: 0
}
.p-contact-index .main__body.grid .grid__main {
  width: 60%;
}
.contact_form{
	background: rgba(255, 255, 255, 1);
    border-color: rgba(0, 0, 0, 0.1);
    box-shadow: 0 4px 24px rgba(0, 0, 0, 0.1), inset 0 1px 0 rgba(255, 255, 255, 0.7), inset 0 -1px 0 rgba(0, 0, 0, 0.05);
    padding: 40px 30px;
    height: auto;	
}
.p-contact-flow h4.section__sttl {
  margin-bottom: 1rem;
}
.mr-10 {
  margin-right: 10px;
}
.p-contact-flow .cap a {
  color: #212121;
  text-decoration: none;
}
.mt-10 {
  margin-top: 10px;
}
.p-contact-flow .cap .jp span.divider {
  color: #241d14;
}
.followList {
    display: flex;
    margin-top: 10px;
    gap: 10px;
}

.form-group.w-50 {
    width: 48%;
}
.form-group {
    margin-bottom: 1rem;
    width: 100%;
}
.form-group span.jp {
    margin-bottom: 8px;
    display: block;
    font-size: 15px;
    font-weight: 500;
}
.pb-15 {
  padding-bottom: 15px;
}
.blogDetails h4.ttl.en a {
  font-size: 25px;
  margin-bottom: 1rem;
  display: inline-block;
}
.blogLargeImg {
  margin: 30px 0;
}
.submenu ul.dineList {
  padding: 10px 0;
}
.abtList {
  padding: 15px 0 15px 2px;
}
.abtList li {
  padding-bottom: 10px;
}
.abtList li i {
  margin-right: 8px;
  font-size: 14px;
}
.mobView {
  display: none;
}
.headBottom, .dine_sec {
    padding: 8rem 0;
	position: relative
}
.headBottom{
	position: relative
}
.left_img, .right_img {
    max-width: 250px;
    position: absolute;
    bottom: 0;
	    z-index: -1;
}
.left_img{
	left: 0
}
.right_img{
	right: 0
}
.headBottom::before, .dine_sec::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    height: clamp(180px, 36vh, 520px);
    z-index: 1;
    pointer-events: none;
    background: linear-gradient(180deg, rgba(20, 38, 32, 0.38) 0%, rgba(27, 58, 45, 0.14) 38%, rgba(245, 239, 228, 0.35) 72%, transparent 100%);
}

.headBottom .item__txt {
    max-width: 110rem;
    margin: 0 auto;
    text-align: center;
}

.headBottom .item__txt .ttl{
  font-size: 42px;
    line-height: 1.4;
    margin-bottom: 1rem;
}
.symbol_logo {
    max-width: 90px;
    margin-bottom: 10px;
}
.m-auto{
	margin: 0 auto 10px;
}
.symbol_logo img{
	width: 100%;
}
.item__txt p.jp {
    max-width: 850px;
    margin: auto;
	font-weight: 400;
}
.p-top-megalinks{
	max-width: 110rem;
	margin: 50px auto 0 auto;
	padding: 0;
}
.p-top-megalinks.col2 .item:nth-child(odd) {
    transform: rotate(-3deg);
	transition: all .5s ease
}
.p-top-megalinks.col2 .item:nth-child(even) {
    transform: rotate(3deg);
	transition: all .5s ease
}

.p-top-megalinks.col2 .item:hover{
	transform: none
}

.p-top-megalinks.col2 .item:hover .item__btn::after{
	content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0px;
    height: 100px;
    z-index: 2;
    pointer-events: none;
    background: linear-gradient(to bottom, rgba(13, 32, 25, 0) 0%, rgba(27, 58, 45, 0.22) 38%, rgba(13, 32, 25, 0.65) 72%, rgba(13, 32, 25, 0.94) 100%);
	border-radius: 0;
	top: auto;
}
section.p-top-resorts.roomSec, .fac_section, .reviewSec, .about-second {
    background-color: #0f6a3f;
}

.reviewSec, .about-second{
	padding: 8rem 0
}
.reviewSec{
	position: relative
}
.reviewSec .left_img, .reviewSec .right_img{
	z-index: 0
} 
.room__head, .fac_top, .reviewSec_top {
    text-align: center;
    padding-bottom: 30px;
	color: #fff;
}
.attr_top, .blog_top, .about_top{
	 text-align: center;
    padding-bottom: 30px;
}
.fac_top{
	padding-bottom: 0
}
.p-top-journal__tabInner {
    padding-bottom: 30px;
}
.room__head .topHead, .fac_top .topHead{
    color: #fff;
}
.room__head .symbol_logo, .fac_top .symbol_logo, .attr_top .symbol_logo, .reviewSec_top .symbol_logo, .blog_top  .symbol_logo, .about-sec .symbol_logo{
    margin: auto auto 10px auto;
}
.row{
	display: flex;
	flex-wrap: wrap;
	width: 100%;
    gap: 30px;
}
.col-lg-3 {
    flex: 0 0 23%;
    width: 23%;
}
.col-lg-4 {
    flex: 0 0 31%;
    width: 31%;
}

.fac_top p,  .attr_top p, .about_top p{
	max-width: 850px;
	margin: auto auto 10px auto;
	font-weight: 400
}
.dine_top p{
	font-weight: 400
}

.section__body.dine-flex {
    display: flex;
    gap: 0 40px;
	align-items: center
}
.dine-flex .w-50{
	width: 50%;
}
.fac-block {
    display: flex;
	flex-wrap: wrap;
    gap: 25px;
}
.fac-block .amenity-card {
  width: 31%;
  flex-shrink: 0;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  padding: 0;
  border: none;
  background: transparent;
  box-shadow: none;
  border-radius: 14px;
  perspective: 1100px;
  outline: none;
  cursor: pointer;
  touch-action: manipulation;
  -webkit-tap-highlight-color: transparent;
}

.amenity-card:focus-visible {
  box-shadow: 0 0 0 2px rgba(212, 170, 106, 0.65);
  border-radius: 15px;
}
.amenity-icon {
    color: #fff;
    font-size: 30px;
    margin-bottom: 15px;
}
.amenity-card-inner {
  position: relative;
  width: 100%;
  flex: 1;
  min-height: clamp(360px, 46vh, 440px);
  transform-style: preserve-3d;
  transition: transform 0.7s cubic-bezier(0.4, 0.2, 0.2, 1);
  border-radius: 14px;  <div class="section__body">
}
.amenity-desc {
    color: #fff;
    margin-top: 15px;
}
/* Tap-to-flip: phones are excluded from hover/fine-pointer block below */
.amenity-card.is-flipped .amenity-card-inner {
  transform: rotateY(180deg);
}

.amenity-card.is-flipped .amenity-card-back {
  border-color: rgba(212, 170, 106, 0.45);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.14) 0%,
    rgba(255, 255, 255, 0.06) 100%
  );
}

@media (hover: hover) and (pointer: fine) {
  .amenity-card:hover .amenity-card-inner,
  .amenity-card:focus-within .amenity-card-inner {
    transform: rotateY(180deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .amenity-card-inner {
    transition: none;
  }

  .amenity-card:hover .amenity-card-inner,
  .amenity-card:focus-within .amenity-card-inner,
  .amenity-card.is-flipped .amenity-card-inner {
    transform: none;
  }

  .amenity-card-front {
    display: none;
  }

  .amenity-card-back {
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  }
}
.amenity-card-back img{
	height: 100%;
	object-fit: cover
}
.amenity-card-face {
  position: absolute;
  inset: 0;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  overflow: hidden;
}

.amenity-card-front {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  background: linear-gradient(
    145deg,
    rgba(255, 255, 255, 0.1) 0%,
    rgba(255, 255, 255, 0.04) 100%
  );
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  padding: clamp(2rem, 3vw, 2.6rem) clamp(1.75rem, 2.5vw, 2.15rem);
  transition: border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}

@media (hover: hover) and (pointer: fine) {
  .amenity-card:hover .amenity-card-back {
    border-color: rgba(212, 170, 106, 0.45);
    box-shadow: 0 22px 56px rgba(0, 0, 0, 0.28);
    background: linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.14) 0%,
      rgba(255, 255, 255, 0.06) 100%
    );
  }
}

.amenity-card-front {
  transform: rotateY(180deg);
  border: 1px solid rgba(212, 170, 106, 0.35);
  box-shadow: 0 22px 56px rgba(0, 0, 0, 0.32);
}

.amenity-card-front img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.amenity-card-front::after {
  content: '';
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(
    175deg,
    rgba(13, 32, 25, 0.12) 0%,
    rgba(13, 32, 25, 0.45) 100%
  );
}

.amenity-card-face h4 {
    color: #fff;
}

.amenity-card-face p {
    font-size: 18px;
    color: #fff;
	font-weight: 400
	
}
.fac_section .p-top-journal__btn{
	text-align: center
}
.fac_section .p-top-journal__btn .l-btn{
	background: #fff;
	color: #246b47;border: 1px solid #fff;
	font-weight: 400
}
.fac_section .p-top-journal__btn .l-btn:hover{
	color: #fff;border: 1px solid #fff;
}
.attar_item{
	background-color: #fff;
	border-radius: 14px;
}
.attar_item .ttlarea{
	padding: 20px;
}
.attar_item ul, .attar_item p{
	font-weight: 400
}

.attar-slider .slick-slide {
    padding: 15px 20px 0; /* space between items */
}
.attar_item  .p-company-section__img{
	margin-bottom: 0 
}
.attar-slider {
    margin: auto; /* fix outer spacing */
}
.attar-slider .section__sttl{
	font-size: 20px;
}
.col-lg-12{
	flex: 0 0 100%;
    width: 100%;
}
.col-lg-6{
	flex: 0 0 48%;
    width: 48%;
}
.align-item-center{
	align-items: center;
	justify-content: space-between;
}
.attar_sec, .about-sec, .dine_inner_sec, .fac_inner, .exp_sec, .attar_inner{
	padding: 8rem 0;
}
.attar_sec{
	position: relative
}
.story_para{
	padding-left: 30px;
}
.abt_img img {
    border-radius: 10px;
    min-height: 500px;
    object-fit: cover;
}
.about-second, .about-second h3 {
    color: #fff;
}



.gallery-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  grid-template-rows:280px 180px;
  gap:8px;
}
/* IMAGE ITEMS */
.gallery-item{
  position:relative;
  overflow:hidden;
  border-radius:4px;
  cursor:pointer;
}

.gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:.4s;
}

.gallery-item:hover img{
  transform:scale(1.05);
}

.gallery-item.big{
  grid-column:1 / 2;
  grid-row:1 / 3;
}

/* TOP RIGHT IMAGE */
.gallery-item.small-left{
  grid-column:2 / 3;
  grid-row:1 / 2;
}

/* BOTTOM RIGHT IMAGE */
.gallery-item.small-right{
  grid-column:2 / 3;
  grid-row:2 / 3;
}


/* OVERLAY */
.more-overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  color:#fff;
}

.more-overlay h2{
  font-size: 30px;
  font-weight:500;
}

.more-overlay p{
  font-size:16px;
}





.room-amen h4.ttl.section__sttl.en {
    border: none;
    margin: 25px 0 0 0;
    text-align: left;
}
.room-amen .amenitiList{
	grid-template-columns: repeat(2, 1fr);
}
.p-partnerships .divider {
   margin: 8rem 15px;
    display: block;
    border: 1px solid #eceaea;
}
.mb-30{
	margin-bottom: 30px
}

h3.section__sttl, h3 {
    font-size: 30px;
	margin-bottom: 1rem
}
.text-center{
	text-align: center
}
.map-section{
	padding: 0 0 8rem 0
}
.map_block {
    border: 10px solid #fff;
}
.blog_inner{
	padding: 8rem 0
}

.flex_img.d-flex {
    display: flex;
    gap: 15px;
}
.flex_img.d-flex .flex-item {
    width: 50%;
}
.mh-250{
	min-height: 250px;
	object-fit: cover
}
.mb-10{
	margin-bottom: 10px;
}
.mh-400 {
    min-height: 400px;
    object-fit: cover;
}
.mh-450 {
    min-height: 450px;
    object-fit: cover;
}
.mh-550{
	min-height: 550px;
    object-fit: cover;
}
.exp_sec .imgGroup {
    border-radius: 14px;
    padding: 0;
	  background-color: #fff;
  
}
.exp_sec .imgGroup .p-company-section__img {
    width: 55%;
}
.exp_sec .imgGroup .textarea{
	width: 45%;
    padding: 40px 40px 40px 0px;
    border-radius: 14px;
}

.exp_sec .imgGroup .p-company-section__img img{
	border-radius: 14px;
	border-top-right-radius: 0px;
	border-bottom-right-radius: 0px;
}
.exp_sec .imgGroup.img-groupdark{
	background-color: #0f6a3f
}
.img-groupdark h3.section__sttl.en, .img-groupdark p, .img-groupdark li, .img-groupdark .dineList li::before {
    color: #fff;
}
.fac_inner .imgGroup{
	background-color: transparent;
	padding: 0;
}
.fac_inner .imgGroup .p-company-section__img,
.fac_inner .imgGroup .textarea{
	width: 50%;
}
.position-relative{
	position: relative
}
.position-relative .mh-400 {
    padding-bottom: 30px;
    width: 90%;
	float: right;
}
.position-relative .mh-220{
	position: absolute;
    left: 0;
    width: 230px;
    min-height: 200px;
    bottom: -30px;
    border: 10px solid #faf7f2;
    border-left: 0;
}
.mb-20{
	margin-bottom: 20px;
}
.mb-0{
	margin-bottom: 0
}
.m-journallist.d-flex {
    display: flex;
    justify-content: center;
	margin-top: 0px;
}
.attar-slider.p-top-megalinks{
	aspect-ratio: 1360 / 500;
	display: block;
    text-align: center;
}
.about-second .abtList li i {
    color: #fff;
}
.bookingForm {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.23);
    background-color: #fff;
    padding: 30px;
}
.bookingForm label {
    display: block;
    font-size: 14px;
    text-transform: uppercase;
    font-weight: 500;
	margin-bottom: 8px;
}
input.form-control {
    padding: 12px 15px;
    box-shadow: none;
    border: 1px solid #ddd;
    width: 100%;
}
.bookingForm textarea{
	 padding: 12px 15px;
    box-shadow: none;
    border: 1px solid #ddd;
    width: 100%;
	height: 100px;
}
input[type="date"] {
    padding: 12px 15px;
    width: calc(100% - 30px);
}
.book-btn{
	background-color: #0f6a3f;
		border: 1px solid #0f6a3f;
	padding: 15px 30px;
	color: #fff;
	display: block;
	transition: all .5s ease;
}
.book-btn:hover{
	background-color: transparent;
	color: #0f6a3f;
}
.col-md-6.room-box {
    width: 48%;
}
.mt-50{
	margin-top: 50px;
}

.d-none{
	display: none
}

.slick-dots li button {
   font-size: 0;
    border: none;
    padding: 0;
    margin: 0 5px;
    height: 20px;
    line-height: 20px;
	background-color: transparent
}
.slick-dots li button:before {
	 content: '•';
  font-size: 40px;
  color: #000;
  opacity: .25;
}

.slick-dots li.slick-active button:before {
  opacity: 1;
	 color: #246b47
}
ul.slick-dots {
    display: flex;
    justify-content: center;
    margin: 30px 0;
}



.section-title{
    text-align:center;
    margin-bottom:60px;
    color:#fff;
}

.section-title img{
    width:55px;
    margin-bottom:15px;
}

.section-title span{
    display:block;
    font-size:14px;
    letter-spacing:2px;
    text-transform:uppercase;
    margin-bottom:10px;
    opacity:.8;
}

.section-title h2{
    font-size:42px;
    font-weight:500;
    margin-bottom:15px;
    font-family: 'Cormorant Garamond', serif;
}

.section-title p{
    max-width:650px;
    margin:auto;
    line-height:1.8;
    opacity:.85;
}

.testimonial-card {
   background: rgb(255 255 255 / 100%);
    padding: 40px 25px;
    border-radius: 0;
    position: relative;
    transition: .4s ease;
    box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);
    max-width: 100%;
    margin: auto;
}
.testimonial-card:hover{
    transform:translateY(-8px);
}

.quote-icon{
    font-size:70px;
    color:#0f6b3c;
    line-height:1;
    margin-bottom:10px;
    font-family:serif;
}

.testimonial-text{
   
    margin-bottom:30px;
}

.client-info{
    display:flex;
    align-items:center;
    gap:15px;
}

.client-info img{
    width:60px;
    height:60px;
    border-radius:50%;
    object-fit:cover;
}

.client-info h4{
    margin:0;
}

.client-info span{
    font-size:14px;
    color:#777;
}

/* Responsive */

@media(max-width:991px){

    .testimonial-wrapper{
        grid-template-columns:1fr 1fr;
    }

}

@media(max-width:767px){

    .section-title h2{
        font-size:32px;
    }

    .testimonial-wrapper{
        grid-template-columns:1fr;
    }

    .testimonial-card{
        padding:30px 25px;
    }

}
.blogNav h3 {
    color: #fff;
}
.blogNav .blogDetails h5 a{
	font-size: 22px;
	line-height: 1.4
}
.blogNav .blogDetails h5 a, .blogNav .blogDetails .date {
    color: #fff;
}
.blogNav .blogDetails h5{
	margin-bottom: 1rem;
}
.p-contact-index .cap_top {
    padding: 25px 0 0 0;
       gap: 1rem 0;
}
.col-lg-5 {
    width: 40%;
    flex: 0 0 40%;
}
.col-lg-7 {
    width: 56%;
    flex: 0 0 56%;
}
.col-lg-8{
	flex: 0 0 62%;
    width: 62%;
}
.infoSec{
	padding: 8rem 0;
	background-color: #246b47
}
.justify-between{
	justify-content: space-between
}
.f-contents {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}
.p-contact-index .cap_top p{
	margin-bottom: 10px;
}
.p-contact-flow.box_flex {
    display: flex;
    justify-content: space-between;
	flex-wrap: wrap;
	align-items: center;
}
.p-contact-flow.box_flex i{
	width: 50px;
    height: 50px;
    background-color: #fff;
    border-radius: 50%;
    line-height: 50px;
    color: #246b47;
    text-align: center;
    display: block;
    margin-bottom: 10px;
	border: 1px solid #fff;
}
.pb-10 {
    padding-bottom: 5px;
}
.p-contact-flow.box_flex p, .p-contact-flow.box_flex p a, .p-contact-flow .cap .jp span.divider {
    color: #fff;
}
.p-contact-flow.box_flex .followList i {
    width: 35px;
    height: 35px;
    line-height: 35px;
}
.p-contact-flow.box_flex i:hover {
    background-color: transparent;
    color: #fff;
}
.cap.center-cap {
    border-left: 1px solid rgb(250 247 242 / 50%);
    border-right: 1px solid rgb(250 247 242 / 50%);
}
.contact_form h3 {
    margin-bottom: 20px;
}
.m-journallist.div_center{
	width: 100%;
}
.m-journallist.div_center .p-top-journal__btn {
    display: flex;
}
section.testimonial-section{
	position: relative;
	z-index: 1
}
#top--btn {
    display: none;
  
}

.client-slider .slick-slide, .space-slider .slick-slide{
    margin: 0 15px;
    height: auto;
}

/* Fix extra overflow caused by margin */
.client-slider .slick-list, .space-slider .slick-list{
    margin: 0 -15px;
}

/* Same height for all slides */
.client-slider .slick-track, .space-slider .slick-track{
    display: flex !important;
}

.client-slider .slick-slide, .space-slider .slick-slide{
    height: inherit !important;
    display: flex !important;
}

.client-slider .slick-slide > div, .space-slider .slick-slide > div{
    width: 100%;
    display: flex;
}

/* Card/content full height */
.client-slider .testimonial-item{
    height: 100%;
    display: flex;
    flex-direction: column;
}
.mobile-fixed-btn{
	display: none
}
.social_flex {
    display: flex;
	align-items: center;
	margin-top: 15px;
}
.social_flex .followList {
    margin: 0px 0 0 20px;
}
p.subhead{
	color: #246b47;
	font-weight: 600;
}
.space-slider{
	position: relative;
	z-index: 2
}
.space-card {
    box-shadow: 0 3px 6px rgba(0, 0, 0, 0.16), 0 3px 6px rgba(0, 0, 0, 0.23);
    background-color: #fff;
}
.space-info {
    padding: 20px;
}
ul.space_list {
    list-style-type: disc;
    padding-left: 0px;
    padding: 15px 0;
	display: grid;
}
ul.space_list li{
	display: flex;
}
ul.space_list li i{
	color: #246b47;
	margin-right: 7px;
	font-size: 14px;
    position: relative;
    top: 5px;
}
.recordItem__overview h4 {
    margin-bottom: 1rem;
}
.testimonial-section .slick-dots li button:before, .space-section .slick-dots li button:before{
	color: #fff
}

.recordItem__overview .amenitiList2 {
    padding-top: 5px;
    padding-bottom: 15px;
}
		.space-section{
		z-index: 1;
    position: relative;
	}

.phone_details.cap_top i {
    width: 35px;
    height: 35px;
    color: #fff;
    border-radius: 50%;
    line-height: 37px;
    background-color: #246b47;
    text-align: center;
    display: block;
    margin-bottom: 0px;
    border: 1px solid #fff;
    font-size: 16px;
}

.phone_details.cap_top h4 {
    display: flex;
    align-items: center;
    font-size: 22px;
    gap: 0 10px;
}
.phone_details.cap_top a {
    text-decoration: none;
    color: #232222;
}

 .portrait-video {
	width: 100%;      
	height: 650px;     
	object-fit: cover; 
	 float: right;
	border-radius: 10px;
}
.landscape-video{
		width: 100%;      
	height: 450px;     
	object-fit: cover; 
	border-radius: 10px;
}
.abtList.p-0 {
    padding: 0 0 15px 0;
}
.img-ov .landscape-video{
	border-radius: 0
}
.wedd_video .portrait-video {
    height: 450px;
}
.wedd_video h5 {
    text-align: center;
    position: relative;
    display: inline-block;
    margin: 12px 0 0 0;
    width: 100%;
}
.js-entries__body .img-ov .landscape-video {
    border-radius: 0;
    height: 220px;
}
.blogLargeImg video{
	 border-radius: 0;
}



