@charset "UTF-8";
.btn_bdr {
	font-size: 1.5rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	border: 1px solid #000;
	text-align: center;
	display: block;
	width: 350px;
	padding: 22px 10px;
	margin: 0 auto;
	position: relative;
	line-height: 1.2;
	transition: all .3s;
	overflow: hidden;
	z-index: 2;
}
.btn_bdr::after {
    background-color: #000;
	content: "";
	display: block;
	height: 100%;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: 0;
	transform: scale(0, 1);
	transform-origin: right top;
	-webkit-transition: transform 0.5s cubic-bezier(.16,1,.3,1);
	transition: transform 0.5s cubic-bezier(.16,1,.3,1);
	z-index: -1;
}
.btn_bdr.arrow::before {
	content: "";
	background: url(../imgs/icon_arrow.svg) no-repeat center center/contain;
	width: 8px;
	height: 11px;
	right: 15px;
	position: absolute;
    top: 0;
    bottom: 0;
    margin: auto;
	transition: all .5s;
}
.btn_bdr.arrow.arrow_down::before {
	transform: rotate(90deg);
	right: 20px;
}
.btn_bdr:hover { color: #fff;}
.btn_bdr:hover::after { 
	transform: scale(1, 1);
	transform-origin: left top;
}
.btn_bdr.arrow:hover::before {
	background: url(../imgs/icon_arrow_w.svg) no-repeat center center/contain;
}
@media screen and (max-width: 767px){
	.btn_bdr {
		width: 275px;
		font-size: 1.2rem;
		padding: 17px 10px;
	}
	.btn_bdr.arrow::before,
	.btn_bdr.arrow.arrow_down::before {
		right: 15px;
	}
}
.iconPlus {
	position: absolute;
	right: 10px;
	top: 0;
	bottom: 0;
	margin: auto;
	z-index: 1;
	height: 14px;
	transition: all 0.3s ease-out;
	width: 14px;
	/* */
	background: #555;
	border-radius: 50%;
	width: 24px;
	height: 24px;
	right: 5px;
}
.iconPlus:after,
.iconPlus:before {
	background: #000;
	background: rgba(255,255,255,.8);
	content: "";
	position: absolute;
}
.iconPlus:after {
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	margin: auto;
	height: 2px;
	width: 100%;
	/* */
	width: 40%;
}
.iconPlus:before {
	top: 0;
    left: 0;
    bottom: 0;
    right: 0;
	margin: auto;
	height: 100%;
	width: 2px;
	/* */
	height: 40%;
}

@media screen and (max-width: 767px) {
	.iconPlus {
		height: 12px;
		width: 12px;
	}
}
.greeting { padding: 80px 0 90px;}
.greeting h2 {
	font-size: 3.5rem;
	letter-spacing: 0.1em;
	margin-bottom: 45px;
	text-align: center;
}
.greeting .introduce {
	font-size: 1.5rem;
	line-height: 2.3;
	text-align: center;
}
.anchor_cat {
	display: flex;
	flex-wrap: wrap;
	max-width: 830px;
	justify-content: space-between;
	margin: 85px auto 55px;
}
.anchor_cat a {
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	position: relative;
	text-align: center;
	padding: 10px;
	display: block;
  border-bottom: 1px solid #000000;
}
.anchor_cat a:after {
	background-color: #000;
	content: "";
	display: block;
	height: 3px;
	width: 100%;
	position: absolute;
	left: 0;
	bottom: -2px;
	transform: scale(0, 1);
	transform-origin: right top;
	-webkit-transition: transform 0.5s cubic-bezier(.16,1,.3,1);
	transition: transform 0.5s cubic-bezier(.16,1,.3,1);
}
.anchor_cat a:hover:after {
	transform: scale(1, 1);
	transform-origin: left top;
}
.anchor_ttl {
	font-size: 2rem;
	letter-spacing: 0.07em;
	font-weight: 500;
	text-align: center;
	margin-bottom: 15px;
}
.anchor_busines {
	display: grid;
	grid-template-columns: repeat(2,1fr);
	grid-gap: 30px;
	justify-content: center;
	max-width: 660px;
	margin: auto;
}
.anchor_busines .btn_bdr {
	width: 100%;
	padding: 20px 10px;
}
@media screen and (max-width: 1024px){
	.greeting .introduce {
		font-size: 1.2rem;
		line-height: 2;
		letter-spacing: 0;
	}
}
@media screen and (max-width: 767px){
	.greeting { padding: 40px 0 60px;}
	.greeting h2 {
		font-size: 2.5rem;
		margin-bottom: 25px;
	}
}
/* sec_cate */
.sec_cate {
	background-color: #f2f0ee;
	padding: 0 40px;
}
.cate_block .inner { max-width: 860px;max-width: 870px;}
.cate_head {
	display: grid;
	grid-template-columns: 44% 1fr;
	grid-auto-rows: auto minmax(max-content, 100%);
	column-gap: 35px;
	padding: 120px 0;
}
.cate_head .cate_img {
	grid-row: 1/3;
	grid-column: 1/2;
}
.cate_head .cat_ttl { grid-column: 2/3;}
.cate_head .cat_info {
	grid-column: 2/3;
	flex: 1;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}
.cate_head .cat_ttl .ttl {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	line-height: 1.2;
	margin-bottom: 50px;
}
.cate_head .cat_ttl .ttl span { display: block;}
.cate_head .cat_ttl .ttl .en { margin-bottom: 5px; font-size: 1.8rem;}
.cate_head .cat_ttl .ttl .jp { font-size: 125%;}
.cate_head .cat_ttl .ttl_line {
	margin-bottom: 25px;
	font-size: 2.2rem;
	letter-spacing: 0.01em;
	line-height: 2;
	font-weight: 500;
}
.cate_head .cat_ttl .ttl_line span{	
	padding-bottom: 10px;
	position: relative;
}
.cate_head .cat_ttl .ttl_line span::before {
	content: "";
	width: 100%;
	height: 1px;
	background-color: #000;
	position: absolute;
	bottom: 0;
}
.cate_head .cat_info .txt {
	font-size: 1.2rem;
	letter-spacing: 0.1em;
	line-height: 2.3;
}
.cate_head .cat_info .btn_accordion {
	position: relative;
	padding-right: 35px;
	font-weight: 500;
	font-size: 1.4rem;
	letter-spacing: 0.07em;
	cursor: pointer;
}
.cate_head .cat_info .btn_accordion { transition: all 0.4s ease-out;}
/*.cate_head .cat_info .btn_accordion.active .iconPlus { transform: rotate(315deg);}*/
.cate_head .cat_info .btn_accordion.active .iconPlus:before { transform: rotate(90deg);transition: all 0.4s ease-out;}
.cate_head .cat_info .btn_accordion .iconPlus:before { transform: rotate(0deg);transition: all 0.4s ease-out;}
.cat_body {
	padding-bottom: 90px;
	display: none;
}
.cat_body .cat_detail {
	display: grid;
	grid-template-columns: 32.5% auto;
	grid-column-gap: 75px;
	grid-column-gap: 68px;
	grid-row-gap: 45px;
	margin-bottom: 85px;
}
.cat_body .cat_detail .ttl {
	font-size: 1.7rem;
	/*letter-spacing: 0.1em;*/
	line-height: 1.8;
	margin: -3px 0 10px;
	font-weight: 600;
}
.cat_body .cat_detail .txt {
	font-size: 1.3rem;
	letter-spacing: 0.01em;
	line-height: 2.3;
}
.cat_body .cat_detail .txt .small {
	font-size: 1rem;
}
.cate_block.revert {
	background-color: #fff;
	flex-direction: row-reverse;
}

@media screen and (max-width: 991px){
	.sec_cate { padding: 0 15px;}
	.anchor_cat a { padding: 10px 5px;}
	.cate_head {
		column-gap: 20px;
		padding: 80px 0;
	}
	.cate_head .cat_ttl .ttl {
    	font-size: 1.8rem;
		letter-spacing: 0.05em;
		margin-bottom: 20px;
	}
	.cate_head .cat_ttl .ttl_line {
    	margin-bottom: 25px;
    	font-size: 1.5rem;
		line-height: 1.3;
	}
	.cate_head .cat_ttl .ttl_line span { padding-bottom: 10px; display: inline-block;}
	.cate_head .cat_info .txt { letter-spacing: 0;}
	.cat_body .cat_detail {
		grid-column-gap: 40px;
   		grid-row-gap: 30px;
	}
	.cat_body .cat_detail .ttl {
		font-size: 1.4rem;
		letter-spacing: 0.01em;
	}
	.cat_body .cat_detail .txt {
    	font-size: 1.2rem;
		line-height: 2;
		letter-spacing: 0.01em;
	}
}
@media screen and (min-width: 768px){
	.cate_block.revert .cate_head { grid-template-columns: 1fr 44%;}
	.cate_block.revert .cate_head .cate_img { grid-column: 2 / 3;}
	.cate_block.revert .cate_head .cat_info,
	.cate_block.revert .cate_head .cat_ttl { grid-column: 1 / 2;}	
}
@media screen and (max-width: 767px){
	.sec_cate {
		padding: 0 15px 0;
	}
	.anchor_cat {
		margin: 35px auto 35px;
	}
	.anchor_cat li {
		width: 48%;
		/*border-bottom: 1px solid #000;*/
	}
	.anchor_cat li:last-child { border-bottom: none;}
	.anchor_cat a {
    	font-size: 1.1rem; 
		line-height: 1.2;
		padding: 20px 5px 5px;
	}
	.anchor_ttl { font-size: 1.7rem;}
	.anchor_busines {
		grid-template-columns: 1fr;
		grid-gap: 15px;
		width: 78%;
		max-width: 270px;
	}
	.anchor_busines .btn_bdr { padding: 17px 10px;}
	.cate_head {
        column-gap: 15px;
        padding: 35px 0;
		grid-template-columns: 43% 1fr;
    }
	.cate_head .cat_ttl .ttl {
    	font-size: 1.4rem;
		line-height: 1.2;
		letter-spacing: 0;
		margin-bottom: 10px;
	}
	.cate_head .cat_ttl .ttl .jp {
		font-size: 135%;
		margin-right: -10px;
	}
	.cate_head .cate_img {
		grid-row: 1 / 2;
		grid-column: 1 / 2;
	}
	.cate_head .cat_ttl {
		grid-column: 2 / 3;
		grid-row: 1 / 2;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
	.cate_head .cat_info {
    	grid-column: 1 / 3;
		margin-top: 10px;
	}
	.cate_head .cat_ttl .ttl_line { margin-bottom: 7px;}
	.cate_head .cat_info .txt {
		line-height: 2;
		margin-bottom: 10px;
	}
	.cate_head .cat_info .btn_accordion { padding-right: 30px;}
	.cat_body { padding-bottom: 50px;}
	.cat_body .cat_detail {
		grid-column-gap: 15px;
    	grid-row-gap: 20px;
		grid-template-columns: 36% auto;
		margin-bottom: 30px;
	}
	.cat_body .cat_detail .box:nth-child(1) { grid-column: 1/3;}
	.cat_body .cat_detail .box:nth-child(2) { grid-column: 2/3;}
	.cat_body .cat_detail .box:nth-child(3) {
		grid-column: 1/2;
		grid-row: 2/3;
	}
	.cat_body .cat_detail .box:nth-child(4) { grid-column: 1/3;}
	.cat_body .cat_detail .box img {
		height: 100%;
		width: 100%;
		object-fit: cover;
	}
}
/* sec_business */
.sec_business {
    background-color: #f2f0ee;
    /*margin-bottom: 110px;*/
    padding: 0 40px 40px;
}
@media screen and (max-width: 991px){
	.sec_business {
		margin-bottom: 45px;
		padding: 0 15px 60px;
	}
}
.business_head {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	min-height: 500px;
	position: relative;
}
.business_head .bg {
	margin: 0 -40px;
	height: 100%;
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 0;
}
.business_head .bg img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	position: absolute;
}
.business_head .cont {
	color: #fff;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100%;
	position: relative;
	z-index: 1;
}
.business_head .ttl {
	text-align: center;
}
.business_head .ttl .en {
	display: block;
	font-size: 2.4rem;
	letter-spacing: 0.06em;
	margin-bottom: 30px;
	text-align: center;
}
.business_head .ttl .jp {
	border: 1px solid #fff;
	display: inline-block;
	font-size: 3rem;
	letter-spacing: 0.2em;
	min-width: 360px;
	margin-bottom: 30px;
	padding: 6px;
	text-align: center;
}
.business_head .ttl_sub, .ttl_sub  {
	font-size: 1.7rem;
	font-size: 2.2rem;
	letter-spacing: 0.1em;
	margin-bottom: 20px;
	text-align: center;
}
.business_head .ttl_sub, .ttl_sub span  {
  position: relative;
}
.business_head .ttl_sub, .ttl_sub span::before  {
	content: "";
  width: 100%;
  height: 1px;
  background-color: #000;
  position: absolute;
  bottom: -10px;
}
.business_head .txt {
	font-size: 1.2rem;
	line-height: 2.2;
	letter-spacing: 0.1em;
	text-align: center;
}
@media screen and (max-width: 991px){
	.business_head { min-height: 530px; }
}
@media screen and (max-width: 767px){
	.business_head .ttl .en { font-size: 1.8rem; margin-bottom: 15px; }
	.business_head .ttl .jp {
		font-size: 2rem;
		margin-bottom: 30px;
		min-width: 260px;
	}
	.business_head .txt { letter-spacing: 0.05em; }
	.business_head .ttl_sub, .ttl_sub { font-size: 1.4rem;font-size: 1.7rem; margin-bottom: 10px; }
  .business_head .ttl_sub, .ttl_sub span::before {bottom: -5px;}
}

.business_body {
    background-color: #fff;
    line-height: 1.9;
    padding: 80px 0 50px;
}
.business_body .txt {
	font-size: 1.3rem;
	line-height: 2.3;
	letter-spacing: 0.08em;
	text-align: center;
}
.business_intro {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 30px;
	margin-top: 60px;
}
.business_intro .ttl {
	border: 1px solid #000;
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	height: 118px;
	width: 118px;
	font-size: 1.7rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
	text-align: center;
}
.business_intro .txt { text-align: left; }
.business_block { margin-top: 80px; }
.business_block .topic {
	font-size: 2.4rem;
	letter-spacing: 0.1em;
	margin-bottom: 30px;
	text-align: center;
}
.business_photo {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 60px;
	max-width: 770px;
	margin: 0 auto;
}
.business_photo > li {
	max-width: 220px;
	width: calc(100% / 3 - 60px * 2 / 3);
}
.business_info {
	max-width: 770px;
	margin: 0 auto;
}
.business_info > li { padding: 35px 12%; }
.business_info > li + li { border-top: 1px solid #000; }
.business_info .ttl {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.18em;
}
.business_info .txt {
	margin-top: 10px;
	text-align: left;
}
@media screen and (max-width: 991px){
	.business_info > li { padding: 35px 25px; }
}
@media screen and (max-width: 767px){
	.business_body { padding: 40px 0 20px; }
	.business_body .txt { font-size: 1.2rem; letter-spacing: 0; line-height: 2;}
	.business_intro { margin-top: 40px; gap: 15px;}
	.business_intro .ttl { font-size: 1.1rem; width: 70px; height: 70px;}
	.business_block { margin-top: 40px;}
	.business_block .topic { font-size: 2.1rem; margin-bottom: 15px;}
	.business_photo { gap: 25px;}
	.business_photo > li { width: calc(100% / 3 - 25px * 2 / 3); }
	.business_info > li { padding: 25px 15px;}
	.business_info .ttl { font-size: 1.3rem;}
}

.business_hotel {
	text-align: center;
}
.business_hotel .date {
	font-size: 1.7rem;
	letter-spacing: 0.2em;
	margin-bottom: 15px;
}
.business_hotel .date .num {
	font-size: 200%;
}
.business_hotel .ttl:after {
	background-color: #000;
	content: "";
	display: block;
	height: 1px;
	width: 80px;
	margin: 40px auto;
}
.business_hotel .ttl02 {
	font-size: 2rem;
	margin-bottom: 30px;
	text-align: left;
}
.business_hotel .photos {
	display: flex;
	justify-content: center;
	gap: 2%;
	margin: 80px auto;
	max-width: 630px;
}
.business_hotel .photos .col_l {
	width: 58%;
}
.business_hotel .photos .col_r {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 40%;
}
.business_hotel .photos .pic03 {
	width: 68.5%;
}
@media screen and (max-width: 767px){
	.business_hotel .ttl02 { font-size: 1.5rem; margin-bottom: 15px;}
	.business_hotel .photos { margin: 40px auto;}
	.business_hotel .photos .col_r { gap: 6px;}
	.business_hotel .photos .pic03 { width: 85%;}
}


/* */
.icon_md{display: inline-block; margin-left: 5px; vertical-align: 1px;}
.icon_md img{width: 1em;}

.flex_half{display: flex; justify-content: space-between; flex-wrap: wrap;}
.flex_half .item_half{width: 48%;}
.btn_w{margin-left: auto; margin-right: auto; margin-top: 50px; max-width: 740px;}
.mw{max-width: 480px;}
@media screen and (max-width: 767px){
	.btn_w{margin-top: 20px;}
	.flex_half .item_half{width: 100%;}
	.flex_half .item_half:nth-of-type(n+2){margin-top: 20px;}
}

.pic_cap.bg_cap{right: -40px;}
@media screen and (max-width: 767px){
	.pic_cap.bg_cap{right: -10px;}
}

/* */
.flex_half btn_w{
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_half btn_w .item_half{width: 48%;}
@media screen and (max-width: 767px){
	.flex_half btn_w .item_half{width: 100%;}
	.flex_half btn_w .item_half:nth-of-type(n+2){margin-top: 15px;}
}

/* */
@media screen and (max-width: 767px){
	.business_body .txt.sp_ac{text-align: center;}
}
@media screen and (max-width: 380px){
	.anchor_cat a.ws_ls, .ttl_sub span.ws_ls{letter-spacing: normal;}
}
/*20250806add*/
.coming a{
  pointer-events: none;
  color: #d3d3d3;
  border: 1px solid #d3d3d3;
}
.coming a.btn_bdr.arrow::before {
  opacity: 0.3;
}
.coming img{
  position: absolute;
  bottom: -28px;
  z-index: 50;
  right: -50px;
  width: 200px;
}
h2 .coming img {
  position: absolute;
  bottom: -27px;
  z-index: 50;
  right: -53px;
  width: 200px;
}
.top_btn {
  position: fixed;
  z-index: 900;
  right: 4%;
  bottom: 4%;
  width: 40px;
  padding: 0;
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  background: transparent;
  display: block;
}
@media screen and (max-width: 767px){
	.coming img{
  bottom: -19px;
  right: -44px;
  width: 170px;
}
h2 .coming img {
  bottom: -34px;
}
}