@charset "UTF-8";

/*=============================================

#page_top

===============================================*/

#page_top{
  width: 100px;
  height: 89px;
  position: fixed;
  right: 10px;
  bottom: 10px;
	padding: 20px 0 0;
	
}
#page_top a{
	position: relative;
	display: block;
	width: 100px;
	height: 89px;
	text-decoration: none;
	transition: .3s;
}
#page_top a:hover {
	transform: translateY(-10px);
}
#page_top a::before{

}



/* ページトップボタン */
#page-top {
  bottom: 0;
  position: fixed;
  right: 0;
}



/*=============================================

common class

===============================================*/
.w100 { width: 100%!important; }
.w90 { width: 90%!important; }
.w80 { width: 80%!important; }


.mb0 { margin-bottom: 0 !important; }
.mb10 { margin-bottom: 10px !important; }
.mb15 { margin-bottom: 15px !important; }
.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }
.mb50 { margin-bottom: 50px !important; }
.mb60 { margin-bottom: 60px !important; }

.mt0 { margin-top: 0px !important; }
.mt10 { margin-top: 10px !important; }
.mt20 { margin-top: 20px !important; }
.mt30 { margin-top: 30px !important; }
.mt40 { margin-top: 40px !important; }
.mt50 { margin-top: 50px !important; }
.mt60 { margin-top: 60px !important; }
.mt80 { margin-top: 80px !important; }
.mt100 { margin-top: 100px !important; }

.al_left { text-align: left !important; }
.al_right { text-align: right !important; }
.al_center { text-align: center !important; }


.f_pink { color: #ed1e79; }
.f_orange { color: #F7931E; }
.f_green { color: #39b54a; }
.f_blue { color: #00B1C5; }
.f_red { color: #ff0000; }

.f_big { font-size: 1.25em; }

.f_mincho {
	font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;}


.marker_pink {
	background: linear-gradient(transparent 40%, #f9bbc0 0%);
	padding: 0 3px; margin: 0 3px;
}
.marker_pink2 {
	background: linear-gradient(transparent 70%, #f9bbc0 0%);
	padding: 0 3px; margin: 0 3px;
}
.marker_pink3 {
	background: linear-gradient(transparent 40%, #f9e5e5 0%);
	padding: 0 3px; margin: 0 3px;
}
.marker_yellow {
	background: linear-gradient(transparent 80%, #f4e7bd 0%);
	padding: 0 3px; margin: 0 3px;
}
.marker_green {
	background: linear-gradient(transparent 80%, #b6e0ba 0%);
	padding: 0 3px; margin: 0 3px;
}

.sp { display: none;} 
.pc { display: block; }
@media screen and (max-width: 640px){
	.sp { display: block;} 
	.pc { display: none; }	
}
/*=============================================

00. 共通

===============================================*/
.flex { display: flex; flex-wrap: wrap; }
.flex_s_b {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}
.flex_s_a {
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
}
.flex_c {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.flex_start {
	align-items: flex-start;
}

.align_c { align-items: center; }

.box_1_2 {
	width: 48%; margin-bottom: 10px;
}
.box_1_3 {
	width: 32%; margin-bottom: 10px;
}
.box_2_3 {
	width: 66%;
}
.box_1_4 {
	width: 25%;
}
.box_3_4 {
	width: 73%;
}
.box_1_5 {
	width: 20%;
}
.box_4_5 {
	width: 78%;
}
.box_3_7 {
	width: 41.71%;
}
.box_4_7 {
	width: 56.28%;
}


@media screen and (max-width: 640px){
	.box_1_2,
	.box_1_3,
	.box_2_3,
	.box_1_4,
	.box_3_4,
	.box_1_5,
	.box_4_5,
	.box_3_7,
	.box_4_7 {
		width: 100%; margin-bottom: 10px;
	}
}

/*=============================================

main

===============================================*/
main#contents {
	background-color: rgba(255,255,255,.8);
	padding: 3em 0;
}
main#contents .inner {
	width: 95%; max-width: 1060px;
	margin: 0 auto; padding: 0;
	
}
main#contents section {
	margin: 5em auto 0;
}

@media screen and (max-width: 640px){
	main#contents section {
		margin: 2em auto 0;
	}	
}


/*=============================================

404

===============================================*/
.error404 {
	background: #000 url("../images/bg_index.png") center top;
	background-size: auto 100%;
}
.error404 footer {
	background-color: rgba(255,255,255,.9);
}
.error404 .index__bnr_area {
	background-color: rgba(0,0,0,.9);
}
.wrap_404 {
	text-align: center;
	position: relative;
	height: 100%;
}
.wrap_404 .inner {
	padding: 200px 0;
}
.wrap_404 h1 {
	color: #ccc;
	font-size: 5em;
	line-height: 2;
}

@media screen and (max-width: 640px){
	.wrap_404 .inner {
		padding: 150px 0;
	}	
	.wrap_404 h1 {
		font-size: 3em;
		line-height: 1.5;
	}
}




/*==========================================================================================

SLD

============================================================================================*/
.sld {
	background-color: #534741;
	position: relative;
	display: flex;
	flex-flow: column;
	justify-content: center;
	height: 40rem;
	padding: 160px 0 0;	
}
.sld .sld__bg {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;	
}
.sld__bg img {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 50%;
  left: 50%;
  margin: auto;
  transform: translate(-50%, -50%);
  -o-object-fit: cover;
  object-fit: cover;
  font-family: "object-fit: cover;";
}
 .sld__inner {
	position: relative;
	max-width: 1080px;
	width: 95%;
	margin: auto;
  }
h1.sld__ttl { 
	color: #fff; text-shadow: 0 0 10px rgba(0,0,0,.5); 
	font-family: "Noto Serif JP", serif;
	font-weight: 400;	
	font-size: 2.4em;
	text-align: center;
}
h1.sld__ttl::before {
	content: attr(data-ttl-en);
	display: block;
	line-height: 1.2;
	font-size: 0.5em;
}

.sld .btn_box {
	position: absolute;
	left: 50%; bottom: 30px; transform: translateX(-50%);
}
.sld .btn_box a {
	background-color: #62C370;
	border-radius: 50vh;
	color: #fff;
	font-size: 1.25em;
	width: auto;
	margin: 20px auto 0;
	padding: 10px 3em;
	display: flex; justify-content: space-between; align-items: center;
	text-decoration: none;
	transition: .3s;
	border: solid 2px #fff;
	font-weight: bold;
	box-shadow: 0 0 30px rgba(0,0,0,.3);
}
.sld .btn_box a:hover { background-color: #16DB93; }


@media screen and (max-width: 640px){
	.sld {
		height: 20rem;
		padding: 65px 0 0;	
	}	
	.sld__ttl { text-align: center;}
	.sld__ttl::before {
	  font-size: 2rem;
	}	
}

/*==========================================================================================

SLD2

============================================================================================*/
.sld2 {
	width: var(--inner-width);
	margin: 10em auto 0;	
}
.sld2 h2 {
	border-left:solid 6px #e95517;
	font-size: 2em;
	padding: 10px 0 10px 50px;
	line-height: 1;
	margin: 30px auto 30px;
}

.sld2 h2 .eng {
	display: block;
	font-size: 2em;
	font-weight: 400;
	margin: 0 0 10px;
}

@media screen and (max-width: 640px){
.sld2 {
	width: var(--inner-width);
		margin: 65px auto 0;	
	}
}



/*==========================================================================================

h2.head_section

============================================================================================*/
h2.head_section {
	font-size: 2em;
	padding: 1em 0;
	line-height: 1;
	margin: 0 auto 30px;
	position: relative;
	text-align: center;
}
h2.head_section::after {
	content: "";
	background-image: url("../images/bar_head.png");
	background-size: cover;
	width: 76px; height: 10px;
	position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
}





/*==========================================================================================

ボタン

============================================================================================*/
/* buttonタグのリセット */
button {
  padding: 0;
  font-family: inherit;
  appearance: none;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

/* ボタンのスタイル */
.buttonNeumorphism {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%; height: 80px;
	margin: 3em auto;
	font-size: 2.0em;
	font-weight: 400;
	letter-spacing: .2em;
	text-decoration: none !important;
  color: #222;
  background-color: rgba(244,224,117,.75);
  border-radius: 15px;
  box-shadow:
    -4px -4px 8px #fff,
    4px 4px 8px rgb(0 0 0 / 24%);
}

.buttonNeumorphism i {
font-family: 'Font Awesome 6 Free';
font-weight: 900;
padding: 0 7px 0 0
}

@media (any-hover: hover) {
  .buttonNeumorphism {
    transition: box-shadow 0.2s;
  }

  .buttonNeumorphism:hover {
    box-shadow:
      -2px -2px 4px #fff,
      2px 2px 4px rgb(0 0 0 / 50%);
  }

  .buttonNeumorphism:active {
    background-color: #ebebeb;
    box-shadow: inset 4px 4px 8px rgb(0 0 0 / 25%);
  }
}
@media screen and (max-width: 640px){
  .buttonNeumorphism {
	  width: 100%; height: 60px;
	  margin: 2em auto;
  }	
}
.wrap_btn {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
}
.btn_oubo {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 30%; height: 50px;
	margin: 0 .5% 2em;
	font-size: 1.125em;
	font-weight: 400;
	text-decoration: none !important;
	color: #222;
	background-color: #fff;
	border: solid 2px #339966;
	border-radius: 50vh;
	box-shadow:
	-4px -4px 8px #fff,
	4px 4px 8px rgb(0 0 0 / 24%);
}
.btn_oubo i {
font-family: 'Font Awesome 6 Free';
font-weight: 900;
padding: 0 7px 0 0
}
@media (any-hover: hover) {
  .btn_oubo {
    transition: box-shadow 0.2s;
  }

  .btn_oubo:hover {
    box-shadow:
      -2px -2px 4px #fff,
      2px 2px 4px rgb(0 0 0 / 50%);
  }

  .btn_oubo:active {
    background-color: #ebebeb;
    box-shadow: inset 4px 4px 8px rgb(0 0 0 / 25%);
  }
}
@media screen and (max-width: 640px){
	.wrap_btn {
		padding-bottom: 2em;
	}	
	.btn_oubo {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 90%; height: 50px;
		margin: 0 auto 10px;
		font-size: 1.125em;
		font-weight: 400;
		text-decoration: none !important;
		color: #222;
		background-color: #fff;
		border: solid 2px #339966;
		border-radius: 50vh;
		box-shadow:
		-4px -4px 8px #fff,
		4px 4px 8px rgb(0 0 0 / 24%);
	}
}

/*==========================================================================================

index

============================================================================================*/
.category_period {
	margin: 0 auto 3em;
	border: solid 4px #339966;
	padding: 2em 2em 1em;
	border-radius: 30px;
	position: relative;
}
.category_period table {
	border-collapse: collapse;
}
.category_period th,
.category_period td {
	border-bottom: dotted 3px #339966;
}
.category_period tr:last-of-type th,
.category_period tr:last-of-type td {
	border-bottom: none;
}
.category_period th {
	padding: .5em 0;
	font-size: 2em;
	width: 20%;
}
.category_period td {
	padding: .5em 1em;
	font-size: 2em;
	line-height: 1.2;
}
.category_period td small {
	font-size: .65em;
}
.category_period td .atten {
	font-size: .5em;
	text-align: center;
	color: #292929;
}

ul.nav_bumon {
	display: flex;
	justify-content: space-between;
}
ul.nav_bumon li {
	width: calc(100% / 3);
	text-align: center;
	padding: 0 20px 20px;
}
ul.nav_bumon li img {
	max-width: 150px;
}
ul.nav_bumon li a {
	display: block;
	transition: .3s;
}
ul.nav_bumon li a:hover {
	transform: scale(1.05,1.05);
}

section.details {
	margin: 0 auto 5em;
}
section#shodou .inner,
section#kaiga .inner,
section#photo .inner {
	background-color: rgba(255,255,255,.8);
	border-radius: 30px;
}


section.details h2 {
	background-color: #339966;
	color: #fff;
	display: table;
	min-width: 12em;
	padding: .2em 1em;
	margin: 0 auto 1em;
	text-align: center;
}

section.details#kaiga h2 {
	background-color: #208cd1;
}
section.details#photo h2 {
	background-color: #f5c749;
}
section.details#shodou h2 {
	background-color: #6cad58;
}

section.details .category_period h2 {
	position: absolute; top: 0; left: 50%;
	transform: translate(-50%, -50%);
}

section.details h3 {
	/* border-bottom: solid 2px #00A99D; */
	font-size: 1.75em;
	padding: .2em 0 1em;
	margin: 2em auto 1em;
	text-align: center;
	width: 90%;
	position: relative;
	line-height: 1;
}
section.details h3 span {
	font-size: .6em;
}
section.details h3::after {
  position: absolute;
  left: 0;
  bottom: 0;
  content: "";
  width: 100%;
  height: 5px;
  /* background: repeating-linear-gradient(-45deg, #F7E792, #F7E792 2px, #fff 2px, #fff 4px); */
	background: repeating-linear-gradient(-45deg, #51BCB2, #51BCB2 2px, #fff 2px, #fff 6px);
}

section.details#privacy h3::after {
  display: none;
}


section#shodou .intro_txt,
section#kaiga .intro_txt,
section#photo .intro_txt {
	width: 90%;
	padding: 1em 0; margin: 0 auto 1em;
	border-bottom: dotted 1px #ccc;
	font-size: 1.125em;
	text-align: center;
}

.tbl_youkou {
	width: 90%;
	margin: 0 auto;
	border-collapse: collapse;
}
.tbl_youkou th,
.tbl_youkou td {
	padding: 1em 1em;
	vertical-align: top;
	border-bottom: dotted 2px #fff;
}
.tbl_youkou th {
	text-align: left;
	min-width: 8em;
}
section.details .head_box span,
.tbl_youkou th span {
	display: block;
	border: solid 1px #fff;
	box-shadow: 0 0 10px rgba(255,255,255,.5);
	width: 5em; line-height: 5em;
	border-radius: 50vh;
	font-size: 1.0em;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
}

section.details .head_box span.shodou,
.tbl_youkou th span.shodou {
	background-image: -webkit-linear-gradient(#dbe9f6, #a6c7e6);
	background-image: -o-linear-gradient(#dbe9f6, #a6c7e6);
	background-image: linear-gradient(#dbe9f6, #a6c7e6);
}
section.details .head_box span.kaiga,
.tbl_youkou th span.kaiga {
	background-image: -webkit-linear-gradient(#faeead, #f4e074);
	background-image: -o-linear-gradient(#faeead, #f4e074);
	background-image: linear-gradient(#faeead, #f4e074);
}
section.details .head_box span.shasin,
.tbl_youkou th span.shasin {
	background-image: -webkit-linear-gradient(#dce7b1, #c1d684);
	background-image: -o-linear-gradient(#dce7b1, #c1d684);
	background-image: linear-gradient(#dce7b1, #c1d684);
}

.tbl_youkou th span.th_txt {
	display: block;
	width: 8em; line-height: 2em;
	border-radius: 50vh;
	font-size: 1.0em;
	font-weight: bold;
	text-align: center;
	margin: 0 auto;
	background-color: #086375;
	color: #fff;
}
.tbl_youkou td > .atten {
	background: linear-gradient(transparent 90%, rgba(255,205,0,.3) 90%);
	padding:5px 0;
}

section.details ol {
  list-style: none;
  counter-reset: number;
}
section.details ol li {
  position: relative;
  padding-left: 2.0em;
	margin: 0 0 1em;
}
section.details ol li::before {
  counter-increment: number;
  content: counter(number);
  position: absolute;
  top: 5px;
  left: 0;
  width: 18px;
  height: 18px;
  border: 1px solid #000;
  border-radius: 50%;
  font-size: 14px;
  text-align: center;
  line-height: 18px;
}

@media screen and (max-width: 640px){
	.category_period {
		border: solid 3px #339966;
		padding: 1em 1em 1em;
		border-radius: 20px;
	}	
	.category_period th {
		padding: 1em 0 .5em;
		font-size: 1.25em;
		display: block;
		width: 100%;
		border-bottom: none;
	}
	.category_period td {
		padding: 0 1em 1em;
		font-size: 1.25em;
		display: block;
		width: 100%;
		text-align: center;
		line-height: 1.5;
	}	
	.category_period td small,
	.category_period td .atten {
		font-size: .65em;
	}	
	
	ul.nav_bumon li {
		padding: 0 10px 10px;
	}	
	
	.tbl_youkou {
		width: 100%;
		margin: 0 auto 3em;
	}
	.tbl_youkou th,
	.tbl_youkou td {
		display: block;
		width: 100%;
	}
	.tbl_youkou th {
		text-align: center;
		border-bottom: none;
		padding: 1em 0 0;
		font-size: 1.25em;
	}	
	.tbl_youkou th span {
		margin: 0 auto;
	}	
	.tbl_youkou td h3 {
		text-align: center;
		margin-top: 1em;
	}
	.tbl_youkou td {
		padding: 1em 2em;
	}		
}


/*=========================
flow
=========================*/

.box_flow {
	/* width: 22%; */
	width: 100%;
	display: flex;
	border-radius: 10px;
	border: solid 1px #fff;
	padding: 0 0;
	margin: 0 auto 2em;
}
#shodou .box_flow,
.box_flow:nth-of-type(1) {
	background-image: -webkit-linear-gradient(#dce7b1, #c1d684);
	background-image: -o-linear-gradient(#dce7b1, #c1d684);
	background-image: linear-gradient(#dce7b1, #c1d684);
	

}
#kaiga .box_flow,
.box_flow:nth-of-type(2),
.box_flow:nth-of-type(3) {
	background-image: -webkit-linear-gradient(#dbe9f6, #a6c7e6);
	background-image: -o-linear-gradient(#dbe9f6, #a6c7e6);
	background-image: linear-gradient(#dbe9f6, #a6c7e6);
}
#photo .box_flow,
.box_flow:nth-of-type(4) {
	background-image: -webkit-linear-gradient(#faeead, #f4e074);
	background-image: -o-linear-gradient(#faeead, #f4e074);
	background-image: linear-gradient(#faeead, #f4e074);
}


.box_flow h3 {
	font-size: 1.8rem;
	padding: 0 1em;
	font-weight: bold;
	background-color: #fff;
	border-radius: 50vh;
	margin: 0 1em 1em;
	text-align: center;
}
.box_flow h3 small {
	font-size: .75em;
}
.box_flow p {
	padding: .5em 1em 1em;
	line-height: 1.6;
}
.box_flow p.txt_step {
	padding: 1em 1em 0;
	font-weight: bold;
}
.box_flow p.atten {
	line-height: 1.2 !important;
	font-size: 1.2rem;
	padding: 0 1em;
}
.box_flow .step {
	position: relative;
	padding: 0 20px 20px 0;
	width: calc(100% / 3);
}
.box_flow .step::after {
	content: "";
	width: 30px; height: 100%;
	background-image: url("../images/flow_arrow2.png");
	background-size: auto 100%;
	background-repeat: no-repeat;
	position: absolute;
	right: 0; top: 0;
}
.box_flow .step:last-of-type::after {
	display: none;
}

@media screen and (max-width: 640px){
	.box_flow {
		width: 80%;
		margin:0 10% 1em;
		flex-wrap: wrap;
	}	
	.box_flow .step {
		position: relative;
		padding: 0 20px 20px 0;
		width: 100%;
	}
	.box_flow .step::after {
		content: "";
		width: 100%; height: 30px;
		background-image: url("../images/flow_arrow.png");
		background-size: 100% auto;
		background-repeat: no-repeat;
		position: absolute;
		right: 0; bottom: 0; top: inherit;
	}	
}

#privacy iframe {
	padding: 2em 2em;
	border: solid 2px #339966;
	border-radius: 2em;
}

#privacy ul {
	padding: 0 1.25em;
}
#privacy ul li {
	list-style: disc;
	list-style-position: outside;
	padding: 0 0 10px;
}
#privacy h3 {
	border-bottom: dotted 1px #ccc;
	font-size: 1.125em;
	margin: 1em 0 .5em;
	padding: .5em 0;
}



/*=========================
readmore
=========================*/
.readmore {
  position: relative;
  margin: 50px auto 0;
  padding: 0px 0px 75px;
}

.readmore-content {
  position: relative;
  height: 160px;
  transition: all .4s;
  overflow: hidden;
}

.readmore-content::before {
  position: absolute;
  display: block;
  content: "";
  left: 0;
  bottom: 0;
  width: 100%;
  height: 75px;
  transition: all .4s;
	background: linear-gradient( rgba(255,255,255,0) 0%, rgba(255,255,255,0.8) 50%, #fff 100% );
}

.readmore-content.is_open:before{
  display: none;
}

.readmore button{
  position: absolute;
  display: table;
  left: 50%;
  bottom: 0px;
  margin: 0 auto;
  width: 200px;
  padding: 10px 0;
  color: #fff;
  text-align: center;
  border-radius: 5px;
  background-color: #333;
  transform: translateX(-50%);
  cursor: pointer;
  z-index: 1;
  transition: all .4s;
}


/*==========================================================================================

entry

============================================================================================*/
.wrap_form {
	padding: 0 0;
}
.wrap_form h2 {
	background-color: #339966;
	color: #fff;
	display: table;
	width: 8em;
	padding: .2em 1em;
	margin: 0 auto 1em;
	text-align: center;
}
.wrap_form .bumon_img {
	text-align: center;
	margin: 2em 0 0;
}
.wrap_form .bumon_img img {
	width:120px; height: auto;
}

form#mailformpro dl dt {
  float: left;
  width: 200px;
  clear: both;
  font-size: 1em;
  padding: 10px 0px;
  text-align: right;
  border-top: solid 1px #CCC;
  margin: 0px;
}
form#mailformpro dl dd {
	border-top: solid 1px #CCC;
	margin: 0px;
	padding: 10px 5px 20px 210px;
	font-size: 12px;
	line-height: 1.5em;
	text-align: left;
}


.tbl_entry {
	width: 100%;
	border-collapse: collapse;
	margin: 1em 0 3em;
}
.tbl_entry tr {
	border-bottom: solid 1px #fff;
}
.tbl_entry th,
.tbl_entry td {
	vertical-align: top;
	padding: 1em;
	text-align: left;
}
.tbl_entry th {
	width: 25%;
}
.tbl_entry td {
	width: 75%;
}

.tbl_entry input[type="text"],
.tbl_entry input[type="email"],
.tbl_entry input[type="tel"],
.tbl_entry input[type="number"],
.tbl_entry input[type="date"],
.tbl_entry input[type="file"],
.tbl_entry select,
/* .tbl_entry button, */
form#mailformpro .tbl_entry label {
	width: 100%;
	min-width: 100%;
	word-break: break-all;
	white-space: normal;
}
.tbl_entry input,
.tbl_entry textarea {
	padding: 1em 1em;
}

form#mailformpro label.mfp_checked {
	padding: 3px;
	border: solid 0px #CCC;
	background-color: transparent;
	box-shadow: 0px 0px 0px #CCC inset;
}
form#mailformpro label.mfp_not_checked {
	padding: 3px;
	border: solid 0px #EEE;
}

/* buttonタグのリセット */
form#mailformpro button.mfp_element_submit {
  padding: 0;
  font-family: inherit;
  appearance: none;
  cursor: pointer;
  background-color: transparent;
  border: none;
}

/* ボタンのスタイル */
form#mailformpro .mfp_element_submit {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 50%; height: 60px;
	margin: 3em auto;
	font-size: 1.25em;
	font-weight: 400;
	letter-spacing: .2em;
	text-decoration: none !important;
  color: #222;
  background: rgba(244,224,117,.75) !important;
  border-radius: 15px;
  box-shadow:
    -4px -4px 8px #fff,
    4px 4px 8px rgb(0 0 0 / 24%);
}
form#mailformpro .mfp_element_submit:hover {
	box-shadow: -2px -2px 4px #fff, 2px 2px 4px rgb(0 0 0 / 50%);
}
@media (any-hover: hover) {
  form#mailformpro .mfp_element_submit {
    box-shadow: -2px -2px 4px #fff, 2px 2px 4px rgb(0 0 0 / 50%);
  }
}

@media screen and (max-width: 640px){
	.wrap_form {
		padding: 0 0 3em;
	}	
	.wrap_form .bumon_img img {
		width:90px; height: auto;
	}
	#contact .inner {
		padding: 2em .5em !important;
	}	
	.tbl_entry th {
		width: 100%; display: block;
		padding-bottom: 0;
	}
	.tbl_entry td {
		width: 100%; display: block;
	}	
}


/*=========================
thanks
=========================*/
.thanks h3 {
	margin-bottom: 1em; 
	color: #E95517; 
	font-size: 2em;
}
.thanks p {
	line-height: 2;
}

@media screen and (max-width: 640px){
	.thanks {
		font-size: 1.25rem;
	}
	.thanks p {
		text-align: left;
		padding: 0 2em;
	}
}



