@charset "utf-8";

/***************************************************
基本設定
**************************************************/

html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, dialog, figure, footer, header,
hgroup, menu, nav, section,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-size: 1em;
}

html {
	font-size: 62.5%; /* font-size 1em = 10px */
}
body {
	font-size: 1.6em; /* font-size = 16px */
	font-family: 'Open Sans', 'Noto Sans JP', '游ゴシック', 'Yu Gothic', YuGothic, メイリオ, Meiryo, sans-serif;
}

body * {
	box-sizing: border-box;
}

ol, ul {
	list-style: none;
}

img {
	vertical-align: top;
	max-width: 100%;
	height: auto;
}

table {
	border-collapse: collapse;
}

a {
	color: #00a85f;
}

:focus {
	outline: 0;
}

/*----------------------------
デバイス
----------------------------*/

@media screen and (min-width:768px){
	.for_sp {
		display: none;
	}
}

@media screen and (max-width: 767px) {
	.for_pc {
		display: none !important;
	}
}


/***************************************************
共通設定
**************************************************/

/*----------------------------
レイアウト
----------------------------*/

.l-inner {
	width: 1100px;
	margin: 0 auto;
	position: relative;
}

@media screen and (max-width: 1099px) {
	.l-inner {
		width: 100%;
	}
}

@media screen and (max-width: 767px) {
	.l-inner {
		width: 80%;
		margin-bottom: 40px;
	}
}

/*----------------------------
電話＆FAX（Gナビ/フッター/アクセス）
----------------------------*/

.phone-txt {
	margin-bottom: 5px;
	padding: 4px 0;
	background: #00a85f;
	color: #fff;
	font-size: 1.4rem;
	letter-spacing: .05em;
	text-align: center;
	line-height: 1;
}

.freedial {
	display: inline-block;
	padding-left: 45px;
	background: url("../img/icon-freedial.png") no-repeat left center;
	color: #00a85f;
	font-size: 2.4rem;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
	letter-spacing: -0.025em;
	white-space: nowrap;
	line-height: 1;
}

.dial {
	color: #00a85f;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
	letter-spacing: .1em;
	line-height: 1.5;
}
.dial small {
	font-size: 95%;
	letter-spacing: .05em;
}

.freedial a ,
.dial a {
	text-decoration: none;
}


/***************************************************
MV　スライド
**************************************************/

.mv {
	width: 100%;
	max-height: 670px;
	overflow: hidden;
}

.mv img {
	width: 100%;
}

.bx-wrapper ,
.bx-wrapper .bx-viewport {
	max-height: 670px;
}


/***************************************************
ヘッダー
**************************************************/

#header {
	position: relative;
	z-index: 10;
	max-width: 900px;
	margin: -176px auto 0;
	padding: 34px 0 15px;
	border-radius: 100px 100px 0 0 ;
	background: rgba(255,255,255,0.8);
	text-align: center;
}

#header .l-inner {
	max-width: 700px;
}

@media screen and (max-width: 767px) {
	#header {
		width: 90%;
		margin-top: -100px;
		padding: 15px 0 19px;
		border-radius: 50px 50px 0 0 ;
	}
}

/*----------------------------
グローバルナビ
----------------------------*/

#gnav ul li {
	width: 100%;
	text-align: center;
	line-height: 1;
}

#gnav ul li a {
	display: block;
	color: #000;
	text-decoration: none;
}

#gnav ul li a::after {
	display: block;
	width: 100px;
	height: 1px;
	margin: 10px 0 0 calc(50% - 50px);
	background: #3bbf31;
	content: "";
}

#gnav ul li a:hover::after {
	background: #8dc21f;
}


@media screen and (min-width: 768px) {
	#gnav {
		position: absolute;
		width: 100%;
		-webkit-transition: 0.3s ease-in-out;
			 -moz-transition: 0.3s ease-in-out;
			 -o-transition: 0.3s ease-in-out;
				transition: 0.3s ease-in-out;
	}
	#gnav .l-inner {
		height: 100px;
	}
	#gnav ul {
		max-width: 770px;
		margin: 0 auto;
	}
	#gnav ul {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 100px;
	}
	.gnav-ttl ,
	.gnav-phone {
		display: none;
	}

	/*追従*/

	#gnav.fixed {
		position: fixed;
		z-index: 10;
		left: 0;
		top: 0;
		width: 100%;
		background: rgba(255, 255, 255, 0.95);
	}
	#gnav.fixed .l-inner {
		display: flex;
		justify-content: space-between;
		align-items: center;
		height: 100px;
	}
	#gnav.fixed ul {
		width: 100%;
		align-items: center;
		height: 100px;
		padding: 0 20px;
	}
	#gnav.fixed ul li {
		width: auto;
	}
	#gnav.fixed .gnav-ttl {
		display: block;
	}
	#gnav.fixed .gnav-ttl img {
	}
	#gnav.fixed .gnav-phone {
		display: block;
		width: 175px;
	}
	#gnav.fixed .phone-txt {
		display: inline-block;
		width: 175px;
	}
	#gnav.fixed .freedial {
		padding-left: 34px;
		background-size: 32px auto;
	}
}

@media screen and (min-width: 1100px) {
	#gnav.fixed .gnav-ttl img {
		max-width: none;
	}
}

@media screen and (max-width: 1099px) {
	#gnav ul li a::after {
			width: 60px;
			margin: 10px 0 0 calc(50% - 30px);
		}
}

@media screen and (max-width: 767px) {
	#gnav {
		display: none;
		position: fixed;
		top: 0;
		left: 0;
		background: rgba(255, 255, 255, 0.9);
		height: 100vh;
		margin-top: 0;
		overflow: auto !important;
		z-index: 10;
	}

	#gnav ul {
		display: inherit;
	}

	#gnav ul {
		width: 100%;
	}

	#gnav ul li {
		margin: auto;
	}

	#gnav ul li a {
		display: block;
		padding: 10px 0 15px;
	}

	#gnav ul li a::after {
		width: 120px;
		margin: 10px 0 0 calc(50% - 60px);
	}
	.gnav-ttl {
		margin: 25px 18vw 55px 0;
	}
	.gnav-phone {
		margin-top: 30px;
		text-align: center;
		
	}
}

/*----------------------------
スマホメニューボタン
----------------------------*/

@media screen and (max-width: 767px) {
	#menu_sp {
		display: block;
		position: fixed;
		top: 0;
		right: 0;
		z-index: 10000;
		width: 18vw;
		height: 18vw;
		padding-top: 4vw;
		background: #00a85f;
		color: #fff;
		font-size: 3.2vw;
		text-align: center;
		text-decoration: none;
	}

	#menu_sp div {
		width: 6vw;
		height: 4.4vw;
		margin: 1vw auto;
		position: relative;
	}

	#menu_sp span {
		position: absolute;
		display: block;
		width: 6vw;
		height: 2px;
		background: #fff;
		left: 0;
		transform: rotate(0);
	}
	#menu_sp div span:nth-child(1) { top: 0; }
	#menu_sp div span:nth-child(2) { top: 2vw; }
	#menu_sp div span:nth-child(3) { top: 4vw; }

	#menu_sp p {
		display: block;
		text-align: center;
		font-weight: normal;
	}
}


/***************************************************
フッター
**************************************************/

#footer {
	padding-bottom: 70px;
	text-align: center;
}

.footer-copy img {
	width: 332px;
}

.footer-ttl img {
	width: 392px;
}

#footer .freedial {
	margin: 10px 0 5px;
	font-size: 2.6rem;
}

.footer-address {
	margin: 40px 0 30px;
	font-size: 1.4rem;
}

/* コピーライト */

.copyright {
	color: #9b9b9b;
	font-size: 1.4rem;
	letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
	.copyright {
		font-size: 1.1rem;
	}
}


/*----------------------------
ページトップへ戻る
----------------------------*/

#pagetop a {
	display: block;
	width: 60px;
	height: 60px;
	position: fixed;
	bottom: 10px;
	right: 10px;
	z-index: 200;
	border-radius: 50%;
	background: #00a85f;
	text-indent: -9999px;
}
#pagetop a::before {
	position: absolute;
	top: 7px;
	right: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 14px;
	height: 14px;
	margin: auto;
	content: '';
	transform: rotate(-45deg);
	border-top: 1px solid #FFF;
	border-right: 1px solid #FFF;
}

@media screen and (max-width: 767px) {
	#pagetop a {
		width: 40px;
		height: 40px;
		opacity: .8;
	}
	#pagetop a::before {
		width: 10px;
		height: 10px;
	}
}


/***************************************************
コンテンツ
**************************************************/

/*----------------------------
各セクション共通
----------------------------*/

.section {
	position: relative;
}

.txt {
	line-height: 2;
}

@media screen and (max-width: 767px) {
	.txt {
		font-size: 1.4rem;
		line-height: 1.75;
	}
}

/* セクションMV */

.section-mv {
	height: 600px;
	/*max-width: 68.75%;*/
	width: 68.75%;
	background-size: cover;
	background-position: 30% 50%;
}
.mv-r {
	margin-left: auto;
	border-radius: 100px 0 0 0;
}
.mv-l {
	margin-right: auto;
	border-radius: 0 100px 0 0;
}

@media screen and (max-width: 1600px) {
	.section-mv {
		width: 1100px;
	}
}

@media screen and (max-width: 767px) {
	.section-mv {
		max-width: 100%;
		height: 300px;
	}
	.mv-r ,
	.mv-l {
		border-radius: 0;
	}
}

/* セクションヘッダー */

.section-head {
	margin-bottom: 40px;
	padding-top: 50px;
}

.section-head .ttl {
	color: #00a85f;
	font-size: 3.8rem;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
	font-weight: normal;
	text-align: center;
	letter-spacing: .05em;
	line-height: 1.1;
}
.section-head .ttl .en {
	display: block;
	margin-top: 15px;
	font-size: 1.8rem;
	font-family: "EB Garamond";
}

.section-head .ttl::before {
	display: block;
	width: 100%;
	height: 44px;
	margin-bottom: 20px;
	background: url("../img/ico-leaf.png") no-repeat center top;
	content: "";	
}

@media screen and (max-width: 767px) {
	.section-head {
		margin-bottom: 30px;
		padding-top: 30px;
	}
	.section-head .ttl {
		font-size: 2.7rem;
	}
	.section-head .ttl .en {
		margin-top: 10px;
		font-size: 1.3rem;
	}
	.section-head .ttl::before {
		margin-bottom: 5px;
		background-size: auto 32px;
	}
}


/*----------------------------
コンセプト
----------------------------*/

#concept {
	margin-top: 120px;
	margin-bottom: 286px;
	padding-top: 15px;
}

#concept .txt {
	margin-bottom: 70px;
	text-align: center;
}

#concept .txt strong {
	color: #007117;
	font-weight: normal;
}

@media screen and (max-width: 767px) {
	#concept {
		margin-top: 0;
		margin-bottom: 410px;
		padding-top: 0;
	}
	#concept .txt {
		margin-bottom: 25px;
		text-align: left;
	}
}

/* このような方へ */

.recommend {
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 50px;
	border-top: solid 35px #fff;
	background: #fefeed;
	text-align: center;
}

.recommend-head {
	margin: -35px 0 35px;
}

.recommend-ttl {
	margin-bottom: 20px;
}

.reco-list {
	display: flex;
	justify-content: space-between;
	padding: 0 10%;
	color: #007117;
	font-size: 1.8rem;
	text-align: left;
	position: relative;
	z-index: 5;
}

.reco-list li {
	padding-bottom: .85em;
	padding-left: 35px;
	background: url("../img/reco-list.png") no-repeat 0 0;
}

@media screen and (max-width: 767px) {
	.recommend {
		padding-bottom: 30px;
	}
	.recommend-head {
		margin: -25px 0 15px;
	}
	.recommend-ttl {
		margin: 0 10px 10px;
	}
	.reco-list {
		flex-direction: column;
		padding: 0 5% 0 10%;
		font-size: 1.6rem;
		line-height: 1.3;
	}
	.reco-list li {
		padding-left: 20px;
		background-size: 14px auto;
		background-position: 0 5px;
	}
}


/*----------------------------
グリーンメモリアルパーク花巻とは
----------------------------*/

#about {
	margin-bottom: 100px;
	padding-bottom: 85px;
	border-top: solid 1px #fff;
	background: url("../img/about-bg.jpg");
	background-size: cover;
}
#about::before {
	display: block;
	position: absolute;
	left: 0;
	top: -487px;
	width: 468px;
	height: 487px;
	background: url("../img/illust-tree1.png") no-repeat;
	background-size: cover;
	content: "";
	transform: translate(15px,50%); 
}

@media screen and (max-width: 767px) {
	#about {
		margin-bottom: 70px;
		padding-bottom: 30px;
	}
	#about::before {
		top: -571px;
		width: 222px;
		height: 258px;
		background-position: right;
	}
}

/* MV */

#about .section-mv {
	height: 570px;
	margin-top: -185px;
	background-image: url("../img/about-mv.jpg");
}
@media screen and (max-width: 767px) {
	#about .section-mv {
		height: 285px;
	}
}

/* ヘッダー */

.about-head {
	width: calc(50vw + 290px);
	margin: -200px 0 30px;
	padding: 65px 50px 65px calc(50vw - 500px);
	border-radius: 0 100px 0 0 ;
	background: rgba(255,255,255,0.8);
}

.about-head .ttl {
	margin-bottom: 25px;
}

@media screen and (max-width: 767px) {
	.about-head {
		width: inherit;
		margin-right: 10%;
		margin-top: -75px;
		padding: 30px 9% 30px 10%;
		border-radius: 0 40px 0 0 ;
	}
	.about-head .ttl {
		margin-bottom: 10px;
	}
}

/* コンテンツ */

.about-contents {
	background: url("../img/about-img.png") no-repeat right top;
}

.about-contents dl {
	max-width: 730px;
	padding-left: 50px;
}

.about-contents dt {
	margin-bottom: 20px;
	padding: 5px 0 5px 50px;
	border-bottom: solid 1px #00a85f;
	background: url("../img/ico-leaf2.png") no-repeat;
	color: #00a85f;
	font-size: 2.4rem;
	font-family: "游明朝体", "Yu Mincho", YuMincho, "Noto Serif JP", serif;
}

.about-contents dd {
	margin-bottom: 35px;
	line-height: 2;
}

@media screen and (min-width:768px) and ( max-width:1099px) {
	.about-contents {
		background-size: 30% auto;
	}
	.about-contents dl {
		width: 66.36%;
	}
}

@media screen and (max-width: 767px) {
	.about-contents {
		padding-bottom: 310px;
		background-position: center bottom;
		background-size: auto 295px
	}
	.about-contents dl {
		max-width: none;
		padding-left: 0px;
	}
	.about-contents dt {
		margin-bottom: 7px;
		padding-left: 25px;
		background-size: 19px auto;
		background-position: 0 40%;
		font-size: 1.7rem;
		line-height: 1.25;
	}
	.about-contents dd {
		margin-bottom: 20px;
		font-size: 1.4rem;
		line-height: 1.7;
	}
}


/*----------------------------
各区画のご案内
----------------------------*/

#guide {
	margin-bottom: 530px;
	border-top: solid 1px #fff;
}
#guide::before {
	display: block;
	position: absolute;
	right: 0;
	top: -166px;
	width: 832px;
	height: 515px;
	background: url("../img/illust-leafs1.png") no-repeat;
	background-size: cover;
	content: "";
}

@media screen and (max-width: 767px) {
	#guide {
		margin-bottom: 455px;
	}
	#guide::before {
		top: -150px;
		width: 344px;
		height: 211px;
	}
}

/* MV */

#guide .section-mv {
	background-image: url("../img/guide-mv.jpg");
}

/* コンテンツ（区画表） */

#guide .l-inner {
	margin-top: -142px;
	background: rgba(255,255,255,0.8);
}

.guide-contents {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}

.guide-contents figure {
	margin: 30px 0 20px;
}

.guide-contents .notes {
	color: #df2147;
	font-size: 1.8rem;
	letter-spacing: .05em;
	text-align: left;
}

@media screen and (max-width: 767px) {
	.guide-contents .ttl {
		width: 240px;
		margin: auto;
	}
	.guide-contents figure {
		margin: 20px 0 10px;
	}
	.guide-contents .notes {
		font-size: 1.6rem;
		line-height: 1.4;
	}
}


/*----------------------------
ご入陵までの流れ
----------------------------*/

#flow {
	margin-bottom: 65px;
	padding-bottom: 130px;
	border-top: solid 1px #fff;
	background: #fefeed;
}
#flow::before {
	display: block;
	position: absolute;
	left: 0;
	top: -481px;
	width: 885px;
	height: 515px;
	background: url("../img/illust-leafs2.png") no-repeat right top;
	content: "";
}

#flow::after {
	display: block;
	position: absolute;
	right: 0;
	bottom: 0;
	width: 547px;
	height: 511px;
	background: url("../img/illust-tree2.png") no-repeat;
	content: "";
}

@media screen and (max-width: 767px) {
	#flow {
		margin-bottom: 30px;
		padding-bottom: 150px;
	}
	#flow::before {
		top: -450px;
		width: 336px;
		height: 208px;
		background-size: 132%;
	}
	#flow::after {
		width: 193px;
		height: 217px;
		background-size: cover;
	}
}

/* MV */

#flow .section-mv {
	margin-top: -310px;
	background-image: url("../img/flow-mv.jpg");
}

/* タイトル */

@media screen and (min-width: 768px) {
	#flow .section-head {
		padding-top: 65px;
	}
}

/* コンテンツ（フロー） */

#flow .l-inner {
	margin-top: -123px;
	padding: 0 25px 100px;
	background: rgba(255,255,255,0.8);
	text-align: center;
}

.flow-contents figure {
	position: relative;
	z-index: 1;
}

@media screen and (max-width: 767px) {
	#flow .l-inner {
		padding-bottom: 40px;
	}
}


/*----------------------------
アクセス
----------------------------*/

#access {
	margin-bottom: 130px;
}

#access .l-inner {
	max-width: 800px;
}

.access-ttl {
	margin-bottom: 40px;
	font-size: 2rem;
	font-weight: normal;
	text-align: center;
}

.access-contents .txt {
	margin-bottom: 25px;
	text-align: center;
}
.access-contents .txt a {
	color: #000;
	text-decoration: none;
}
.access-contents .txt a:hover {
	text-decoration: underline;
}

.access-info {
	display: flex;
	justify-content: space-between;
	margin-top: 30px;
}

.access-address {
	margin-bottom: 20px;
	font-size: 1.5rem;
	text-align: center;
}

.access-address p {
	margin-top: 10px;
}

.access-phone {
	width: 242px;
	margin: auto;
}

.access-phone .phone-txt {
	display: inline-block;
	padding: 4px 15px;
	font-size: 1.6rem;
	letter-spacing: .1em;
}

.access-phone .freedial {
	padding-left: 45px;
	background: auto;
	font-size: 3rem;
}

.access-phone .dial {
	margin-left: 30px;
	line-height: 1.2;
}

.btn-wrap {
	position: relative;
	z-index: 1;
	text-align: center;
}

a.btn {
	display: inline-block;
	width: 350px;
	max-width: 100%;
	padding: 20px 0;
	background: #00a85f url("../img/btn-arrow@2x.png") no-repeat calc(100% - 30px) center;
	background-size: 5px 9px;
	color: #fff;
	text-decoration: none;
}
a.btn:hover {
	opacity: .9;
}

@media screen and (max-width: 767px) {
	#access {
		margin-bottom: 165px;
	}
	.access-info {
		flex-direction: column;
		text-align: center;
		margin: 15px 0;
	}
	.access-address {
		margin-bottom: 15px;
	}
	.access-address p {
		letter-spacing: .1em;
	}
	.access-contents {
		text-align: center;
	}
	.access-contents .txt {
		display: inline-block;
		text-align: left;
	}
	a.btn {
		padding: 15px 0;
	}
}


/*----------------------------
お問い合わせ
----------------------------*/

#contact {
	margin-bottom: 45px;
	padding: 100px 0 120px;
	border-top: solid 1px #fff;
	background: #fefeed;
}
#contact::after {
	display: block;
	position: absolute;
	left: 0;
	top: -163px;
	width: 577px;
	height: 377px;
	background: url("../img/illust-leafs3.png") no-repeat right top;
	content: "";
}

#contact .l-inner {
	padding: 0 25px 70px;
	background: #fff;
}

@media screen and (max-width: 767px) {
	#contact {
		margin-bottom: 40px;
		padding: 50px 0 30px;
	}
	#contact::after {
		top: -131px;
		width: 346px;
		height: 211px;
		background-size: cover;
	}
	#contact .l-inner {
		padding-bottom: 20px;
		background: #fff;
	}
}

/* コンテンツ（メールフォーム） */

#contact .section-contents {
	max-width: 900px;
	margin: auto;
}

input[type="text"],
input[type="email"],
input[type="tel"],
textarea,
select {
	width: 100%;
	margin: 10px 0;
	padding: 15px !important;
	border:1px solid #ddd;
	background:#efefef;
	font-size: 1.6rem !important;
	vertical-align:middle;
}

button[type="submit"],
button[type="reset"] {
	width: 300px;
	margin: 0 10px !important;
	padding: 15px 0 !important;
	border:0;
	background-image: url("../img/btn-arrow@2x.png");
	background-repeat: no-repeat;
	background-position: calc(100% - 30px) center;
	background-size: 5px 9px;
	color:#fff;
}

button[type="submit"] {
	background-color: #d33c5a;
}
button[type="reset"] {
	background-color: #00a85f;
}

button[type="submit"]:hover,
button[type="reset"]:hover {
	opacity: .8;
}

/* メールフォームプロ 上書き */

form#mailformpro dl {
	border-bottom: solid 1px #e5e5e5;
}
form#mailformpro dl dt {
	position: relative;
	width: 270px;
	padding-left: 85px;
	padding-top: 33px;
	border-top: solid 1px #e5e5e5;
	font-size: 1.6rem;
	text-align: left;
}
form#mailformpro dl dt:first-child {
	padding-top: 13px;
}

form#mailformpro dl dd {
	padding-left: 270px;
	border-top: solid 1px #e5e5e5;
	font-size: 1.6rem;
}

form#mailformpro dl dd.column {
	display: flex;
	padding-left: 0;
}

form#mailformpro dl dd.column dl {
	display: flex;
	justify-content: space-between;
	width: 50%;
	border: none;
}

form#mailformpro dl dd.column dl dt {
	width: 3em;
	padding: 23px 0 0;
	border: none;
}

form#mailformpro dl dd.column dl dd {
	width: 100%;
	padding: 0;
	border: none;
}

form#mailformpro dl dd.column dl:nth-of-type(1) dd {
	padding-right: 10px;
}
form#mailformpro dl dd.column dl:nth-of-type(2) dt {
	margin-left: 10px;
}

.mfp ul li {
	display: block;
}

.must {
	position: absolute;
	left: 0;
	top: 33px;
	padding: 5px 15px 7px;
	background-color: #d33c5a;
	border-radius: 0;
	box-shadow: none;
	font-size: 1.5rem;
	line-height: 1;
}
form#mailformpro dl dt:first-child .must {
	top: 13px;
}

div.mfp_buttons {
	padding-top: 40px;
}

@media screen and (min-width: 768px) {
	input.half {
		width: 40%;
	}
}
@media screen and (max-width: 767px) {
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	textarea,
	select {
		margin-bottom: 0;
	}
	button[type="submit"],
	button[type="reset"]{
		width: 100%;
		margin: 0 !important;
	}
	button[type="reset"]{
		margin-bottom: 15px !important;
	}

	form#mailformpro dl dt {
		float: none;
		width: inherit;
		font-size: 1.5rem;
		padding: 20px 0 0;
	}
	form#mailformpro dl dd {
		padding: 0 0 20px;
		border: none;
		font-size: 1.5rem;
	}
	form#mailformpro dl dd.column dl dt {
		width: 3.5em;
	}
	form#mailformpro dl dd.column dl:nth-of-type(1) dd {
		padding-right: 5px;
	}
	form#mailformpro dl dd.column dl:nth-of-type(2) dt {
		margin-left: 5px;
	}
	div.mfp_buttons button {
		margin-bottom: 2vw;
	}
	.must {
		position: inherit;
		top: 0;
		float: none;
		display: inline-block;
		padding: 4px 10px;
		margin-left: 10px;
	}
	textarea {
		height: 100px;
	}
}

/* 確認画面 */

button#mfp_button_send ,
button#mfp_button_cancel {
	width: 100px;
	margin: 0 10px !important;
	padding: 10px 0 !important;
	border:0;
	color:#fff;
}

button#mfp_button_send {
	background-color: #d33c5a;
}
button#mfp_button_cancel {
	background-color: #00a85f;
}

button#mfp_button_send:hover,
button#mfp_button_cancel:hover {
	opacity: .8;
}

div#mfp_overlay_inner {
	max-width: 90%;
}

table#mfp_confirm_table {
	margin-top: 10px;
	border-bottom: solid 1px #e5e5e5;
}
table#mfp_confirm_table tr th, table#mfp_confirm_table tr td {
	font-size: 1.4rem;
	border-top: solid 1px #e5e5e5;
	padding: 10px;
}

@media screen and (max-width: 767px) {
	table#mfp_confirm_table tr th {
		white-space: normal;
		width: auto;
	}
}

/* 送信完了 */

#contact.thanks::after {
	top: 0;
}

#contact.thanks .l-inner {
	padding-top: 70px;
	text-align: center;
}

@media screen and (max-width: 767px) {
	#contact.thanks {
		padding: 10% 0;
	}
	#contact.thanks::after {
		display: none;
	}
	#contact.thanks .l-inner {
		margin-bottom: 0;
		padding: 30px 10px;
	}
}

