@charset "UTF-8";

/*--------------------------------------------------------------
reset.min.css
リセット関係・clearfixなど

fonts.min.css
フォントアイコンを記載したcss

common.css
レイアウト、TOPのスタイルを記載したcss

sub.css
下層のレイアウトを記載したcss
--------------------------------------------------------------*/
/* fontIcon
:before,
:after {
	content: "\f099";
	font-family: "icomoon";
	display: inline-block;
	font-style: normal;
	font-variant: normal;
	font-weight: 900;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
}
/* ------------------------------------------------------------ */
/* 全デバイス/画面サイズに共通 かつ
　　479：スマートフォン縦：基本・レイアウト指定 */
/* ------------------------------------------------------------ */
* html body {
	background: url(null) fixed;
}

html {
	font-size: 62.5%;
	overflow-x: hidden;
}

/*ナビ表示のときはスクロールしないように*/
html.is-locked {
	overflow-y: hidden;
}

body {
	margin: 0;
	padding: 0;
	background: #fff;
	color: #000;
	font-size: 16px;
	line-height: 1.8;
	font-weight: 400;
	font-style: normal;
	overflow-wrap: break-word;
	text-size-adjust: 100%;
	font-feature-settings: "palt";
	letter-spacing: 1.6px;
}
body.eng{
	font-size:1.6em; line-height:1.6; font-weight:500;
	color:#111;
	letter-spacing:0.1em;
}
body.zh-cn{
	font-size:1.7em; line-height:1.6; font-weight:500;
	color:#111;
	letter-spacing:0.1em;
}
body.zh-tw{
	font-size:1.7em; line-height:1.6; font-weight:500;
	color:#111;
	letter-spacing:0.1em;
}
body.th{
	font-size:1.7em; line-height:1.6; font-weight:500;
	color:#111;
	letter-spacing:0.1em;
}

.pc {
	display: none;
}

.tablet {
	display: block;
}

@media (min-width: 751px) {
	/*電話番号リンクをスマホのみ有効にする*/
	a[href*="tel:"] {
		pointer-events: none;
		cursor: default;
		text-decoration: none;
	}
}

/* ------------------------------------------------------------ */
/* font */
/* ------------------------------------------------------------ */
.lato,
.menu-item a {
	font-family: "Lato", sans-serif;
	font-weight: 700;
}

/* ------------------------------------------------------------ */
/* img */
/* ------------------------------------------------------------ */
.main-logo,
.thum,
.image,
.banner {
	margin: 0 auto;
	text-align: center;
}

/* ------------------------------------------------------------ */
/* link */
/* ------------------------------------------------------------ */
::selection {
	color: #383838;
	background: rgba(0, 0, 0, 0.1);
	text-shadow: none;
}

::-moz-selection {
	color: #383838;
	background: rgba(0, 0, 0, 0.1);
	text-shadow: none;
}

a {
	color: #333;
	cursor: pointer;
	line-height: inherit;
	-webkit-transition: all 0.3s ease-in-out;
	transition: all 0.3s ease-in-out;
	text-decoration: none;
}

a:link {
	color: #333;
	text-decoration: none;
}

a:visited {
	color: #333;
	text-decoration: none;
}

a:hover {
	color: #666;
	opacity: 0.8;
	text-decoration: none;
}

a:active {
	color: #333;
	text-decoration: none;
}

/* ------------------------------------------------------------ */
/* ボタン */
/* ------------------------------------------------------------ */
.btn {
	text-align: center;
	height: auto;
	margin: 0 auto;
}

.btn a {
	display: inline-block;
	color: #fff;
	background: #000;
	margin: 0 auto;
	padding: 12px 1em;
	font-size: 1.1em;
	font-weight: 600;
}

.btn a:hover {
	opacity: 1;
	background: #ed1e79;
}

.btn.wht a {
	background: #fff;
	color: #000;
}

.btn.wht a:hover {
	background: #ed1e79;
	color: #fff;
}

/* ------------------------------------------------------------ */
/* common layouts */
/* ------------------------------------------------------------ */
.wrapper {
	width: 100%;
	height: auto;
	overflow: hidden;
}

.inner {
	width: 100%;
	max-width: 100%;
	height: auto;
	padding: 0 1em;
	margin: 0 auto;
	clear: both;
}

.inner::after {
	content: "";
	clear: both;
	display: block;
}

/* ------------------------------------------------------------ */
/* header */
/* ------------------------------------------------------------ */
.main-header {
	width: 100%;
	height: 40vh;
	/* background: #fff; */
	/* padding: 10px 15px; */
	/*	padding-top: 70%;*/
	align-items: center;
	position: relative;
	background: #fff url(../img/mv.jpg) center / cover no-repeat;
	/* top: 0;
	left: 0; */
	z-index: 9999;
	/* スマホ用の慣性スクロール */
	/* -webkit-overflow-scrolling: touch; */
}
.top2024 .main-header {
	background: #fff url(../img/mv-2024.png) center / cover no-repeat;
}


.main-header .hakubavalley_logo {
	position: absolute;
	content: "";
	top: 15px;
	right: 15px;
	left: 15px;
	width: 160px;
	height: 30px;
}

.main-header .main-logo {
	position: absolute;
	width: 100px;
	height: 200px;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.main-header .main-logo img {
	width: 100%;
}

/* ------------------------------------------------------------ */
/* common content */
/* ------------------------------------------------------------ */
.content {
	width: 100%;
	height: auto;
	position: relative;
	padding: 0;
	margin: 0 auto;
}

.base {
	width: 100%;
	height: auto;
	position: relative;
	padding: 2.5em 0;
	margin: 0 auto;
}

.bg * {
	position: relative;
	color: #fff;
	z-index: 3;
}
h2{
	font-weight:600;
}
/* ------------------------------------------------------------ */
/* ttl */
/* ------------------------------------------------------------ */
.main_ttl {
	position: relative;
	display: inline-block;
	font-size: 1.5em;
	margin: 0 1em 1.5em;
	text-align: center;
}
.main_ttl::before {
	position: absolute;
	content: "";
	width: 2px;
	height: 45px;
	background: #e29766;
	left: -20px;
	top: 50%;
	transform: translateY(-50%);
}
.main_ttl::after {
	position: absolute;
	content: "";
	width: 2px;
	height: 45px;
	background: #2a9b9d;
	right: -20px;
	top: 50%;
	transform: translateY(-50%);
}
.main_ttl span {
	position: relative;
	display: inline-block;
}
.main_ttl span::before {
	position: absolute;
	content: "";
	width: 200px;
	height: 2px;
	background: #6aa3d8;
	left: 50%;
	transform: translateX(-50%);
	top: -10px;
}
.main_ttl span::after {
	position: absolute;
	content: "";
	width: 200px;
	height: 2px;
	background: #aa7ea3;
	left: 50%;
	transform: translateX(-50%);
	bottom: -10px;
}

@media screen and (min-width:769px){
	.sub_ttl{
		font-size:3.2rem; line-height:1.6;
	}
}
@media screen and (max-width:768px){
	.sub_ttl{
		font-size:2.2rem; line-height:1.6;
	}
	.sub_ttl + p.text{
		margin-bottom:2.0em;
	}
}

.sub_ttl span {
	display: inline-block;
	font-size: 1.2rem;
	margin: 0 0 0 1em;
}

.sub_ttl01 {
	color: #e19766;
}

.sub_ttl02 {
	color: #69a3d8;
}

.sub_ttl03 {
	color: #a2799c;
}

/* ------------------------------------------------------------ */
/* flx_box */
/* ------------------------------------------------------------ */
.flx_box {
	width: 100%;
	height: auto;
	margin: 0 auto 1em;
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.flx_item .thum {
	width: 100%;
	height: auto;
	margin: 0 auto 1em;
}

/* ------------------------------------------------------------ */
/* list */
/* ------------------------------------------------------------ */
.pointList {
	margin: 0 auto 1em;
}

.pointList li {
	position: relative;
	padding-left: 1em;
	margin: 0 auto 0.5em;
}

.pointList li::before {
	content: "";
	display: block;
	position: absolute;
	width: 5px;
	height: 5px;
	background: #000;
	border-radius: 50%;
	top: 0.75em;
	left: 3px;
}

/* ------------------------------------------------------------ */
/* animation */
/* ------------------------------------------------------------ */
@keyframes fadeInup {
	0% {
		opacity: 0;
		transform: translateY(50%);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes fadeIndown {
	0% {
		transform: translateY(-50%);
	}

	100% {
		transform: translateY(0);
	}
}

.fadeInup {
	opacity: 0;
	animation: fadeInup 2s ease-in-out 0.3s 1 forwards;
}

.fadeIn {
	opacity: 0;
	animation: fadeIn 2s ease-in-out 2.5s 1 forwards;
}

.inview {
	opacity: 0;
}

/* ------------------------------------------------------------ */
/* タブ */
/* ------------------------------------------------------------ */

.tab .tab_content .tab_sp_ttl {
	position: relative;
	font-size: 18px;
	border: 2px solid #e86a77;
	color: #e86a77;
	font-weight: 900;
	padding: 0.7em;
	margin: 0.5em 0;
	transition: all 0.3s ease;
}

.tab .tab_content .tab_sp_ttl01 {
	border: 2px solid #e19766;
	color: #e19766;
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.08rem;
	padding-right:2em;
}

.tab .tab_content .tab_sp_ttl02 {
	border: 2px solid #69a3d8;
	color: #69a3d8;
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.08rem;
	padding-right:2em;
}

.tab .tab_content .tab_sp_ttl03 {
	border: 2px solid #a2799c;
	color: #a2799c;
	font-size: 2.2rem;
	font-weight: 400;
	letter-spacing: 0.08rem;
	padding-right:2em;
}

.tab .tab_content .tab_sp_ttl::after {
	position: absolute;
	font-family: "icomoon";
	font-weight: 700;
	content: "\e902";
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
}

.tab .tab_content .tab_sp_ttl01.active {
	background: #e19766;
	color: #fff;
}

.tab .tab_content .tab_sp_ttl02.active {
	background: #69a3d8;
	color: #fff;
}

.tab .tab_content .tab_sp_ttl03.active {
	background: #a2799c;
	color: #fff;
}

.tab .tab_content .tab_sp_ttl.active::after {
	content: "";
}
.tab .tab_content .tabBody {
	background: #fff;
	padding: 5% 0;
}

/* ------------------------------------------------------------ */
/* モーダル */
/* ------------------------------------------------------------ */
.modal_trigger {
	display: grid;
	grid-template-columns: repeat(auto-fill, 332px);
	justify-content: center;
	grid-row-gap: 20px;
	grid-column-gap: 20px;
	max-width: 1036px;
	margin: 0 auto;
}

.modal_btn{
	position: relative;
	margin: 0 0 1em 0;
	overflow: hidden;
}
@media screen and (min-width:769px){
	.modal_btn{
		aspect-ratio: 3/1;
	}
}
@media screen and (max-width:768px){
	.modal_btn{
		aspect-ratio:2/1;
	}
}
.modal_btn::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.4);
  z-index: 2;
}
.modal_btn .image {
  object-fit: cover;
  width: 100%;
	height: 100%;
  z-index: 1;
}
.btn_text_box {
	position: absolute;
	bottom: 8px;
	left: 8px;
	color: #fff;
  z-index: 3;
}
.btn_text_box .btn_ttl {
	font-size: 1.9rem;
	margin-bottom: 0.2em;
}
.modal_ttl {
  display: flex;
  flex-direction: column-reverse;
  margin: 0 0 1em;
}
.modal_textarea .modal_ttl_box p {
  margin: 0;
}
.modal_textarea .photographer {
  font-size: 10px;
  margin: 0;
}

.btn_text_box .num,
.modal_textarea .modal_ttl_box .num {
	display: inline-block;
	line-height: 1.5;
	padding: 0 0.5em;
	margin: 0 0.6em 0 0;
}
.scene_01 .num {
	background: #e29866;
}
.scene_02 .num {
	background: #69a3d8;
}
.scene_03 .num {
	background: #a2799c;
}
.btn_text_box .btn_place {
	font-size: 1.4rem;
}

.modal_btn:hover {
	cursor: pointer;
}

.modal_box {
	display: none;
	height: 100%;
	left: 0;
	position: fixed;
	top: 0;
	width: 100%;
	z-index: 9999;
}

.modal_bg {
	background-color: rgba(30, 30, 30, 0.8);
	height: 100%;
	width: 100%;
}

.modal_inner {
	background-color: #fff;
	position: absolute;
	width: 90%;
	max-height: 90%;
	left: 50%;
	top: 50%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	max-width: 900px;
	overflow-y: scroll;
}

.modal_textarea {
	padding: 0.8em 0.8em 0 0.8em;
}

.modal_textarea .modal_ttl_box .sub_tit {
	font-size: 2.4rem;
}
.modal_textarea .modal_ttl_box .num {
	color: #fff;
}
.modal_textarea .hash {
	display: block;
}
.modal_textarea p {
	margin: 0 0 1em 0;
}
.modal_close {
	cursor: pointer;
	position: absolute;
	display: block;
	/* right: 10px;
	top: 10px; */
	right: 2%;
	top: 2%;
	/* font-size: 5rem; */
	/* line-height: 0.8; */
	font-size: 32px;
	line-height: 28px;
	letter-spacing: 0;
	text-align: center;
	background: rgba(255, 255, 255, 0.5);
	border-radius: 50%;
	width: 32px;
	height: 32px;
	/* border-radius: 30px;
	width: 46px;
	height: 46px; */
}

.modal_block .test {
	/*  padding-top: calc(9/16*100%);*/
	position: relative;
	overflow: hidden;
}
.modal_block .test img {
	width: 100%;
	height: 100%;
	/*  object-fit: cover;*/
	/*  position: absolute;*/
	/*
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
*/
}

/* ------------------------------------------------------------ */
/* section  */
/* ------------------------------------------------------------ */
.first_area {
	text-align: center;
}

.detail_box {
	border: 2px solid #2a9a9c;
	margin: 2em auto;
}
.detail_box .detail_ttl {
	font-size: 2rem;
	background: #2a9a9c;
	color: #fff;
	padding: 1em;
}
.detail_box .p {
	padding: 1em 2em;
}
.detail_box .p:first-child {
	padding: 1em 1em 0 1em;
}
.detail_box .parson {
	padding: 1em;
}
.detail_box .parson .bold {
	color: #2a9a9c;
	font-weight: 700;
	display: block;
	margin: 0 0 0.5em 0;
}

.link_area {
	margin: 0 auto;
}
.link_area.wide {
	margin: 0 auto 4rem;
}

.link_area .link {
	position: relative;
	text-align: center;
}

.link_area .link a {
	display: inline-block;
	color: #fff;
	background: #2a9a9c;
	font-size: 2.4rem;
	font-weight: 900;
	padding: 0.8em 1em;
	margin: 2em auto;
}
.link_area .flex a {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	margin: 0.8rem auto;
}
.link_area.wide .link a {
	padding: 4.8rem 1.6rem;
	width: 100%;
}

.link_area .link a span {
	display: inline-block;
	font-size: 1.6rem;
	margin: 0 0 0 1em;
}
.link_area .link a .font-sizeL {
	font-size: 2.4rem;
	margin: 0;
}
.link_area .link a span.line {
	width: 100%;
	height: 1px;
	background: #fff;
	margin: 1.6rem auto;
}

.gallery_item {
	text-align: center;
}

#map .h2 {
	font-size: 3.2rem;
	text-align: center;
}

#map {
	width: 100%;
	height: 700px;
}

#map #map_target {
	width: 100%;
	height: 650px;
}

.notice {
}
.notice p {
	position: relative;
	color: #2a9a9c;
	/*  border: 3px solid #2a9a9c;*/
	padding: 0 0 0 1.5em;
}
.notice p::before {
	position: absolute;
	content: "\e900";
	font-family: "icomoon";
	left: 0;
	top: 0;
	font-size: 1.8rem;
}

/* ------------------------------------------------------------ */
/* footer */
/* ------------------------------------------------------------ */
.main-footer {
	width: 100%;
	padding: 2rem 0 0;
	background: #2a9a9c;
	color: #fff;
}

.main-footer .flx_box {
	display: block;
}

.main-footer .place_area {
	position: relative;
	font-size: 1.4rem;
	text-align: center;
	padding: 1em 0;
}

.main-footer .place_area span {
	display: block;
	font-weight: 700;
}

.main-footer .place_area::before {
	position: absolute;
	content: "";
	width: 80%;
	height: 1px;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	background: #fff;
}

.main-footer .place_area:last-child::before {
	display: none;
}

.main-footer .place_area .place_ttl {
	font-size: 2rem;
	font-weight: 700;
	letter-spacing: 0.5rem;
	margin: 0.5rem 0;
}
.main-footer .footer_logo {
	width: 90%;
	text-align: center;
	margin: 0 auto;
}

.address {
	font-size: 1.4rem;
	text-align: center;
}

.copy {
	padding: 1.5em 0;
	text-align: center;
	font-size: 1rem;
}

@media screen and (min-width: 480px) {
	/* スマートフォン横 */
	.sp-only {
		display: none;
	}
	.sp {
		display: block;
	}

	.spnav {
		width: 350px;
	}

	.base {
		padding: 3em 0;
	}

	/* ------------------------------------------------------------ */
	/* section */
	/* ------------------------------------------------------------ */
	.wh_box {
		padding: 3% 4%;
	}
	.main_ttl span::before {
		width: 250px;
	}
	.main_ttl span::after {
		width: 250px;
	}
}

@media screen and (min-width: 750px) {
	/* タブレット縦 / スマートフォン横 */
	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */
	.inner {
		padding: 0 2em;
	}

	.tablet {
		display: none;
	}

	.base {
		padding: 4em 0;
	}
	.main-header {
		height: 50vh;
	}
	.main-header .main-logo {
		width: 140px;
		height: 260px;
	}
	.main-header .hakubavalley_logo {
		top: 20px;
/* //		right: 20px; */
		left:auto;
		right:130px;
		width: 200px;
		height: 30px;
	}
	/* ------------------------------------------------------------ */
	/* flx_box */
	/* ------------------------------------------------------------ */
	/* 2カラム */
	.flx_37 .flx_item:first-child {
		width: calc(45% - 1em);
	}
	.flx_37 .flx_item:last-child {
		width: 55%;
	}

.eng .flx_37 .flx_item:first-child,
.eng .flx_37 .flx_item:last-child{
	width:100%;
}

	/* ------------------------------------------------------------ */
	/* section */
	/* ------------------------------------------------------------ */
	.first_area.base {
		padding: 4em 0 0;
	}

	.tab .tab_content .flx_box {
		display: flex;
	}
	.tab .tab_content .flx_box .flx_item {
		width: calc(100% / 2 - 1em);
	}
	.btn_text_box .btn_ttl {
		font-size: 2.3rem;
		margin-bottom: 0.2em;
	}
	.modal_inner {
		width: 630px;
	}
	.scene_01 .num {
		background: #e29866;
	}
	.scene_02 .num {
		background: #69a3d8;
	}
	.scene_03 .num {
		background: #a2799c;
	}

	.modal_textarea {
		padding: 1em 1em 0 1em;
	}

	.modal_textarea .modal_ttl_box {
		position: relative;
		margin-left: 5.5em;
	}

	.modal_textarea .modal_ttl_box::before {
		position: absolute;
		content: "";
		left: -5.5em;
		top: 50%;
		transform: translateY(-50%);
		width: 4em;
		height: 4em;
	}

	.scene_01 .modal_textarea .modal_ttl_box::before {
		background: url("../img/scene_01.svg") center / contain no-repeat;
	}
	.scene_02 .modal_textarea .modal_ttl_box::before {
		background: url("../img/scene_02.svg") center / contain no-repeat;
	}
	.scene_03 .modal_textarea .modal_ttl_box::before {
		background: url("../img/scene_03.svg") center / contain no-repeat;
	}

	.tab .tab_content .flx_37 {
		display: flex;
		margin: 0 0 1em 0;
	}
.eng .tab .tab_content .flx_37 {
	display:block;
}
	/* ------------------------------------------------------------ */
	/* footer */
	/* ------------------------------------------------------------ */
	.copy {
		font-size: 1.2rem;
	}

	.link_area .link a span.line {
		width: 1px;
		height: 72px;
		margin: 0 1.6rem;
	}
}

@media screen and (min-width: 1025px) {
	/* デスクトップ/タブレット横 */
	.pc {
		display: block;
	}

	.sp {
		display: none;
	}

	/* ------------------------------------------------------------ */
	/* header */
	/* ------------------------------------------------------------ */
	.main-header {
		height: 80vh;
	}
	.main-header .main-logo {
		width: 180px;
		height: 300px;
	}
	/* ------------------------------------------------------------ */
	/* common content */
	/* ------------------------------------------------------------ */
	.inner {
		max-width: 1200px;
	}

	.base {
		padding: 5em 0;
	}

	/* ------------------------------------------------------------ */
	/* section */
	/* ------------------------------------------------------------ */
	.link_area .link a {
		padding: 0.8em 2em;
	}
	.link_area.wide {
		margin: 0 auto 8rem;
	}
	.link_area .link {
		padding: 0 5%;
	}

	.btn_text_box .btn_ttl {
		font-size: 3rem;
		letter-spacing: 0.3rem;
		margin-bottom: 0.2em;
	}

	.tab {
		position: relative;
	}

	.tab .tab_ttlbox {
		position: relative;
		display: flex;
		box-sizing:border-box;
		width: 100%;
		padding:0 15%;
		margin: 0 auto;
	}

	.tab .tab_ttlbox::before {
		position: absolute;
		content: "";
		left: 0;
		bottom: 0;
		width: 100%;
		height: 2px;
		background: #e19766;
		z-index: 2;
	}

	.tab .tab_ttlbox li {
		width: calc(100% / 3);
		text-align: center;
		position: relative;
	}

	.tab .tab_ttlbox li a {
		display: block;
		width: 100%;
		font-weight: 900;
		padding: 0.5em 0;
	}

	.tab .tab_ttlbox li:nth-of-type(1) a,
	.tab .tab_ttlbox li:nth-of-type(2) a {
		border-right: none;
	}

	.tab .tab_ttlbox li.active {
		position: relative;
	}

	.tab .tab_ttlbox li.active a::before {
		position: absolute;
		content: "";
	}
	.tab .tab_ttlbox li a {
		color: #fff;
		font-size: 2.2rem;
		font-weight: 600;
		letter-spacing: 0.1rem;
	}
	.tab .tab_ttlbox li.active:nth-of-type(1) a {
		background: #e19766;
		color: #fff;
		border: 2px solid #e19766;
	}

	.tab .tab_ttlbox li.active:nth-of-type(2) a {
		background: #69a3d8;
		color: #fff;
		border: 2px solid #69a3d8;
	}

	.tab .tab_ttlbox li.active:nth-of-type(3) a {
		background: #a2799c;
		color: #fff;
		border: 2px solid #a2799c;
	}

	.tab .tab_ttlbox li:nth-of-type(1) a {
		color: #e19766;
		border: 2px solid #e19766;
		background: #fff;
	}

	.tab .tab_ttlbox li:nth-of-type(2) a {
		color: #69a3d8;
		border: 2px solid #69a3d8;
		background: #fff;
	}

	.tab .tab_ttlbox li:nth-of-type(3) a {
		color: #a2799c;
		border: 2px solid #a2799c;
		background: #fff;
	}

	.tab .tabBox .curara_page3 {
		border-bottom: none;
	}

	.tab .tab_content .tabBody {
		background: #fff;
		padding: 5%;
		transition-property: all;
		transition: 0.3s linear;
	}

	.tab .tab_content .tabBody .flx_box {
		justify-content: space-between;
		align-items: center;
		margin: 2em auto;
	}

	.tab .tab_content {
		position: relative;
	}
	.tab .tab_content .flx_box {
		display: flex;
	}
	.tab .tab_content .flx_box .flx_item {
		width: calc(100% / 2 - 1em);
	}
	.modal_inner {
		/* width: 900px; */
		width: 60vw;
	}

	/* .modal_textarea {
    max-height: 240px;
    overflow-y: scroll;
	} */

	.main-footer .place_container {
		margin: 2em 0;
	}
	.main-footer .flx_box {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.main-footer .place_area .flx_box .flx_item:nth-of-type(2) {
		margin-left: 1em;
	}
	.main-footer .flx_box .place_area {
		padding: 1em 2em;
	}

	.main-footer .flx_box .place_area .flx_box .flx_item {
		width: auto;
		text-align: left;
	}
	.main-footer .place_area::before {
		position: absolute;
		content: "";
		width: 1px;
		height: 100%;
		left: auto;
		right: 0;
		bottom: 0;
		transform: inherit;
		background: #fff;
	}
}
