/***** 共通 *****/
html {
	scroll-behavior: smooth;
}

#greenwallart .main {
   padding: 0;
}

#greenwallart .single_detail {
    margin: 0;
}

#greenwallart .single_detail p {
    margin-bottom: 0;
}

body {
	font-family: "Zen Old Mincho", serif !important;
}

.tang {
	font-family: "Tangerine", cursive;
}
#greenwallart a{
	text-decoration:none;
}
a:hover {
	opacity: .7;
	transition: all .3s ease-in-out;
}

.container {
	max-width: 500px;
	margin: 0 auto;
}

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

.katari-inner {
	display: flex;
	flex-direction: column;
	gap: 30px;
	padding: 0 1rem;
	text-align: left;
	font-size: 1.1rem;
	font-weight: 100;
}

.katari-inner p span {
    display: block;
    padding-bottom: 5px;
    font-weight: 600;
    font-size: 1.2rem;
}

.katari-inner p.bold {
	font-weight: 600;
}

.katari-inner p.right {
	text-align: right;
	font-size: 0.9rem;
}

.section-ttl {
	text-align: center;
	display: flex;
	flex-direction: column;
	gap: 10px;
	margin-bottom: 30px;
}

.section-ttl h2 {
	color: #40E0D0;
	font-size: 2.7rem;
}

.section-ttl p {
	font-size: 1.1rem;
}

.sub-txt {
	font-size: 1.1rem;
	text-align: center;
	line-height: 1.5;
	margin-bottom: 30px;
}

.inner {
	padding: 0 1rem;
}

.btn {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 10px;
	color: #40E0D0 !important;
	font-size: 1rem;
}

.btn img {
	width: 27px;
	aspect-ratio: 1 !important;
	object-fit: contain;
}

.btn.todetail {
	display: flex;
	padding: 15px 20px 15px 30px;
	background: linear-gradient(45deg, #FF73B3, #DE5694);
	color: #ffffff !important;
	text-decoration: none;
	border-radius: 50px;
	font-size: 1.2em;
	font-weight: 600;
	transition: all 0.3s ease;
	box-shadow: 0 10px 30px rgba(255, 107, 107, 0.3);
	position: relative;
	overflow: hidden;
	width: fit-content;
	margin: auto;
}

.btn.todetail:hover {
	transform: translateY(-2px);
	box-shadow: 0 15px 40px rgba(255, 107, 107, 0.4);
}

.btn.todetail::before {
	content: '';
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
	transition: left 0.5s;
}

.btn.todetail:hover::before {
	left: 100%;
}

header,
footer {
	background-color: #FFFFF4 !important;
}

.footer_link_btns {
	display: none !important;
}

/***** 本体 *****/
.wallart {
	background: #FFFFF4;
	overflow-x: hidden;
}

.wallart-inner {
	display: flex;
	flex-direction: column;
	gap: 100px;
}

/***** メインビジュアル *****/
.wallmv {
	/*height: 90vh;
	padding-top: 20vh;*/
	padding-top: 10vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 100px;
}

.wallmv h1 {
	text-align: center;
	font-size: 2.0rem;
	line-height: 1.2;
}

.wallmv h1 span {
	display: block;
}

.wallmv h2 {
	text-align: right;
	font-size: 1.6rem;
	line-height: 1.7;
	padding: 0 1rem;
	color: #373741;
	font-weight: 100;
}

.wallmv .mv-img {
	position: relative;
}

.wallmv .mv-img img {
	aspect-ratio: 1;
	object-fit: cover;
}

.wallmv .mv-img p {
	font-size: 8rem;
	font-weight: normal;
	color: #E6DFCD;
	position: absolute;
	top: 0;
	left: 0;
	transform: translate(-10%, -100%);
}

/*****　イントロ *****/
.wallintro {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.wallintro .img-wrap {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.wallintro .img-wrap .square {
	width: 80%;
	aspect-ratio: 1;
	object-fit: cover;
	margin-left: auto;
}

.wallintro .img-wrap .yokonaga {
	width: 80%;
	aspect-ratio: 2 / 1;
	object-fit: cover;
}

.wallintro .img-wrap .img-wrap-2col {
	width: 90%;
	display: flex;
	gap: 1rem;
	margin-left: auto;
}

.wallintro .img-wrap .img-wrap-2col img {
	width: calc((100% - 1rem) / 2);
	aspect-ratio: 1;
	object-fit: cover;
}

/***** フォトスポット *****/
.card-slider {
	width: 100%;
}

.card-slider .slick-slide {
	width: calc(500px * 0.8);
	padding-left: 1rem;
}

.card-slider .slick-slide .item {
	display: flex !important;
	flex-direction: column;
	gap: 10px;
}

.card-slider .slick-slide h3 {
	text-align: left;
	font-size: 2.3rem;
	color: #373741;
	font-weight: 600;
	margin: 0;
	line-height: 1;

}

.card-slider .slick-slide .noto {
	font-size: 1rem;
	color: #717171;
}

.card-slider .slick-slide img {
	aspect-ratio: 2.7 / 3;
	object-fit: cover;
}

/***** 撮影リクエスト *****/
.wallrequest {
	padding: 100px 1rem;
	background: #F9F9F9;
}

.peop-list {
	display: flex;
	flex-direction: column;
	gap: 30px;
	font-size: 1rem;
	padding: 0 1.5rem;
}

.peop-list p {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: -20px;
}

.peop-list p span {
	font-weight: 300;
	display: block;
	margin-top: 10px;
}

.peop-list li {
	font-weight: 100;
	margin-bottom: 5px;
	list-style: disc;
}

.peop-list li span {
	display: block;
	background: #ffffff;
	padding: 10px;
	margin: 0.5em 0 0 -1.5rem;
	font-size: 0.9rem;
}


/***** 撮影事業者　*****/
.wallvendor {
	background: #fff;
	padding: 100px 1rem;
}

.vendor-list {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.vendor-list .item {
	width: 70%;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.vendor-list .item:nth-child(odd) {
	margin-left: auto;
}

.vendor-list .item img {
	aspect-ratio: 1;
	object-fit: cover;
}

.vendor-list .item .vendor_name {
	font-size: 1rem;
	font-weight: 600;
}

.vendor-list .item .vendor_name .sub_txt {
	font-size: .9rem;
	font-weight: 100;
}

.acc-under_request {
	padding: 100px 1rem;
	background: #fff;
}

/***** フッター追加スタイル *****/
footer .add-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 15px;
	font-size: 1rem;
}

footer .add-link .logo {
	width: 100px;
	margin: auto;
}

footer .add-link .logo_title {
	width: 150px;
}

ul.snslink {
	display: flex;
	gap: 10px;
}

@media screen and (max-width: 767px) {

	/***** 共通 *****/
	.container {
		max-width: 390px;
	}

	.katari-inner {
		font-size: 1rem;
	}

	.section-ttl {
		gap: 5px;
	}

	.section-ttl h2 {
		font-size: 1.7rem;
	}

	.section-ttl p {
		font-size: 1rem;
	}

	.sub-txt {
		font-size: 1rem;
	}

	/***** 本体 *****/
	.wallart-inner {
		gap: 60px;
	}

	/***** メインビジュアル *****/
	.wallmv {
		padding-top: 10vh;
	}

	.wallmv h2 {
		font-size: 1.2rem;
	}

	.wallmv .mv-img p {
		font-size: 7rem;
	}

	/*****　イントロ *****/
	.wallintro .img-wrap .square {
		display: none;
	}

	.wallintro .img-wrap .yokonaga {
		width: 100%;
	}

	/***** フォトスポット *****/
	.card-slider {
		padding: 0 1rem;
	}

	.card-slider .slick-slide {
		width: calc(100vw - 2rem);
		padding-left: 0;
	}

	/*****　関わった人々 *****/
	.peop-list {
		padding: 0 1rem;
	}

	/***** 撮影事業者　*****/
	.wallvendor {
		background: #fff;
		padding: 100px 1rem;
	}

	.vendor-list {
		flex-wrap: wrap;
		flex-direction: row;
		gap: 10px;
	}

	.vendor-list .item {
		width: calc((100% - 10px) / 2);
	}

	.vendor-list .item:nth-child(odd) {
		margin-left: 0;
	}

}

/**********************************
　　　　　　　スポット紹介
**********************************/
/***** スポットMV *****/
.wallspotmv {
	height: 90vh;
	padding-top: 20vh;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	gap: 10px;
}

.wallspotmv h2 {
	text-align: left;
	font-size: 4.7rem;
	color: #373741;
	line-height: 1;
}

.mv-inner .main-ttl {
	font-size: 1.6rem;
	letter-spacing: .1em;
	line-height: 1;
	padding-bottom: 1rem;
}

.mv-inner .img-wrap {
	padding-left: .5rem;
	display: flex;
	gap: .5rem;
}

.mv-inner .img-wrap p {
	font-size: 1.1rem;
	writing-mode: vertical-rl;
	text-orientation: sideways;
	letter-spacing: .1em;
}

.mv-inner .img-wrap p span {
	font-weight: 900;
}

.mv-inner .img-wrap img {
	aspect-ratio: 1 / 1.1;
	object-fit: cover;
}

/***** 作品について *****/
.wallsummary {
	display: flex;
	flex-direction: column;
	gap: 30px;
}

.midokoro {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 0 1rem;
}

.midokoro .label {
	font-size: 1.1rem;
	font-weight: 600;
}

.midokoro .label span {
	font-weight: normal;
	margin-left: 30px;
}

.midokoro img {
	aspect-ratio: 1;
	object-fit: cover;
}

.midokoro .txt {
	font-size: 1rem;
}

/******撮影の楽しみ方*****/
.wallspot-list .card-slider .slick-slide h3 {
	font-size: 1.3rem;
}

/***** 制作秘話 *****/
.walluntold {
	padding: 100px 1rem;
	background: #fff;
}

/***** アクセス *****/
.wallaccess .access-inner {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.wallaccess .access-inner iframe {
	width: 100%;
	aspect-ratio: 3 / 2;
}

.wallaccess .access-inner p {
	font-size: 1rem;
	line-height: 1.6;
}

.wallaccess .access-inner p span {
	display: flex;
	gap: 5px;
	align-items: center;
}

.wallaccess .access-inner p span:before {
	content: '';
	display: inline-block;
	width: 20px;
	height: 20px;
	background-image: url(https://www.tabi-wedding.com/shootingplace/cms/wp-content/themes/shooting/img/greenwallart/car.svg);
	background-size: contain;
	vertical-align: middle;
}

a.outlink {
	background: #333333;
	display: flex;
	width: fit-content;
	margin-left: auto;
	color: #ffffff;
	padding: 0.5rem 1rem;
	border-radius: 50px;
	position: relative;
	align-items: center;
	gap: 10px;
}

a.outlink:after {
	content: '';
	display: inline-block;
	width: 16px;
	height: 16px;
	background-image: url(https://www.tabi-wedding.com/shootingplace/cms/wp-content/themes/shooting/img/greenwallart/outlink.svg);
	background-size: contain;
	vertical-align: middle;
}


/*******撮影の流れページ********/
.requestpage p {
	font-size: 1.0rem;
}

.wallpage-ttl {
	padding-top: 100px;
}

.wallpage-ttl h2 {
	color: #373741;
	font-size: 2rem;
	text-align: left;
	line-height: 1.4;
}

section.wallflow {
	padding: 0 15px 30px;
	display: flex;
	flex-direction: column;
	gap: 50px;
}


.wallflow .item {
	background: #ffffff;
	padding: 15px;
	border: 2px solid #41ABB6;
	border-radius: 5px;
	box-shadow: 0 0 10px #00000025;
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 15px;
}

.wallflow .item:after {
	content: "";
	border: 12.5px solid #41ABB640;
	position: absolute;
	bottom: -60px;
	height: 60px;
	left: 50px;
}

.wallflow .item:last-child:after {
	content: none;
}

.wallflow .item h3 {
	font-size: 1.3rem;
	text-align: left;
	margin-bottom: 0;
}

a.btn-form {
	color: #ffffff;
	background: #40E0D0;
	display: flex;
	align-items: center;
	gap: 10px;
	border-radius: 50px;
	margin: auto;
	font-size: 1.0rem;
	padding: 1.0rem 2.0rem;
	width: 100%;
	justify-content: center;
}

.wallflow .item .item {
	border: none;
	box-shadow: none;
	line-height: 1;
	gap: 0;
	background: none;
	border-radius: 0;
}

.wallflow .item .peop-list {
	gap: 20px;
}

section.wallfee {
	background: #fff;
	padding: 100px 1rem;
}

.requestpage .table-wrap p {
	font-weight: 600;
	font-size: 1.1rem;
	line-height: 1.4;
}

.requestpage .table-wrap p span {
	font-weight: 300;
	font-size: 1.0rem;
	display: block;
}

.requestpage .table-wrap table {
	border-collapse: separate;
	border-spacing: 10px;
	font-size: 1.0rem;
	text-align: center;
	width: 100%;
}

.requestpage .table-wrap table th {
	color: #ffffff;
	background: #40e0d0;
	font-weight: 600;
	padding: 16px;
	width: 50%;
	border-radius: 5px;
	text-align:center;
}

.requestpage .table-wrap table td {
	padding: 16px;
	border-bottom: 1px solid #ccc;
}

section.wallattention {
	padding: 0 1rem;
}

.attentiondetail {
	background: #ffffff;
	padding: 1rem;
	margin-top: 30px;
	border-radius: 5px;
	box-shadow: 0 0 10px #00000025;
}

.attentiondetail h4 {
	color: #000000;
	text-align: left;
	font-size: 1.1rem;
	font-weight: 600;
}

.attentiondetail h3 {
	text-align: left;
	color: #373741;
	font-weight: 600;
	font-size: 1.0rem;
}

.attentiondetail p {
	line-height: 1.4;
}

section.wallline {
	background: #fff;
	padding: 100px 1rem;
}

section.wallline .section-ttl {
	margin-bottom: 15px;
}

section.wallline .section-ttl.inner p {
	width: fit-content;
	display: inline-flex;
	margin: auto;
}

section.wallline .section-ttl.inner p:before,
section.wallline .section-ttl.inner p:after {
	width: 1px;
	height: 40px;
	background-color: #000000;
	content: '';
}

section.wallline .section-ttl.inner p:before {
	transform: rotate(-35deg);
	margin-right: 30px;
}

section.wallline .section-ttl.inner p:after {
	transform: rotate(35deg);
	margin-left: 30px;
}
.wallart-inner.requestpage {
    gap: 50px;
}

@media screen and (max-width: 767px) {

	/**********************************
　　　　　　　スポット紹介
**********************************/
	/***** スポットMV *****/
	.wallspotmv {
		height: 70vh;
		padding-top: 10vh;
	}

	.wallspotmv h2 {
		font-size: 2.5rem;
	}

	.mv-inner .main-ttl {
		font-size: 1rem;
	}

	/***** 制作秘話 *****/
	.walluntold {
		padding: 50px 1rem;
	}
}

.ib-bnr {
    display: flex;
	margin-top:-30px;
	margin-bottom:30px;
}