/* CSS Document */
section{
	position: relative;
}
/*************************************************************
ヘッダー
*************************************************************/

#header{
	position: absolute;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: nowrap;
	width: 100%;
	z-index: 999;
}

#header .logo-box{
	width: 23.8%;
	aspect-ratio: 914 / 370;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	background-image: url("../img/common/header-01@2x.webp");
	background-size: cover;
	background-position: center;
}

#header .logo-box .logobox-inner{
	width: 80%;
	transform: translateY(-16%);
}

#header .header-title{
	width: 92%;
}

#header .time{
	font-size: 1.5rem;
	line-height: 1;
	letter-spacing: 0.05em;
	font-weight: 600;
	margin-top: 0.6em;
}

#header .menu-list{
	width: 14.6%;
	aspect-ratio: 560 / 790;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	background-image: url("../img/common/header-02@2x.webp");
	background-size: cover;
	background-position: center;
}

#header .menu-list ul{
	width: 70%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-end;
	border-right: 3px solid #ffffe9;
	font-size: 1.8rem;
	line-height: 1;
	letter-spacing: 0.07em;
	color: #ffffe9;
	padding: 0.5em 1em 0.5em 0;
	transform: translateY(-5%);
	margin: 0.9em 3em 0 0;
}

#header .menu-list ul li a{
	display: flex;
	padding: 0.6em 0;
}

@media (max-width: 1440px) {
	#header .logo-box{
		width: 30%;
	}

	#header .menu-list{
		width: 20%;
	}

	#header .menu-list ul{
		margin: 0.9em 2.5em 0 0;
	}

	@media (max-width: 1024px) {
		#header .logo-box{
			width: 40%;
		}

		#header .menu-list{
			width: 25%;
		}

		#header .menu-list ul{
			font-size: 1.7rem;
			margin: 0.9em 2em 0 0;
		}

		@media (max-width: 840px) {
			#header .menu-list ul{
				font-size: 1.5rem;
				margin: 0.5em 1.4em 0 0;
			}

			@media (max-width: 520px) {
				#header .logo-box{
					width: 50%;
				}

				#header .header-title {
					width: 98%;
				}

				#header .time{
					font-size: 1.2rem;
					margin-top: 0.4em;
				}

				#header .menu-list{
					background-image: none;
				}

				#header .menu-list ul {
					font-size: 1.2rem;
					margin-top: 0.5em;
				}

				#header .menu-list ul{
					border-right: 3px solid #00616a;
					color: #00616a;
				}

			}
		}
	}
}

/*************************************************************
メインビジュアル
*************************************************************/
#ttl{
	height: 90.5rem;
	background-color: #ffffea;
	width: 100%;
	position: relative;
}

#ttl .pp-ttl{
	margin: 0 auto;
	height: 46rem;
	width: fit-content;
	padding-top: 31rem;
	margin-bottom: 2.4em;
	position: relative;
}

#ttl .ttl-txt{
	font-size: 1.7rem;
	letter-spacing: -0.01em;
	line-height: 1.8;
	margin: 0 auto;
	color: #00616a;
}

#ttl .inner{
	position: relative;
}

#ttl .inner:before{
	content: '';
	display: block;
	width: 130%;
	top: 25.7%;
	left: -19%;
	position: absolute;
	aspect-ratio: 3060 / 832;
	background-image: url("../img/pp/pp-back-01@2x.webp");
	background-size: cover;
	background-position: center;
}

#ttl .abs-box {
    position: absolute;
    width: 20rem;
    aspect-ratio: 217 / 221;
    top: 45.7%;
    left: -20.8%;
}

#ttl .pp-ttl img {
    max-width: initial;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#ttl .pp-res{
	height: 42rem;
}

@media (max-width: 1440px) {
	@media (max-width: 1024px) {
		#ttl{
			height: 77.5rem;
		}

		#ttl .inner:before{
			top: 40.7%;
			left: -21%;
		}

		@media (max-width: 840px) {

			#ttl .ttl-txt{
				font-size: 1.6rem;
			}
			
			#ttl .pp-res{
				height: 41rem;
			}

			@media (max-width: 520px) {
				#ttl{
					height: 60rem;
				}

				#ttl .inner:before{
					top: 22%;
				}

				#ttl .inner{
					height: 100%;
					display: flex;
					flex-direction: column;
					justify-content: center;
					align-items: center;
				}
				#ttl .pp-ttl{
					padding-top: 0;
                    aspect-ratio: auto;
                    height: 9rem;
				}

				#ttl .ttl-txt{
					font-size: 1.2rem;
				}
				
				#ttl .pp-res{
					height: 13rem;
				}

				@media (max-width: 375px) {

				}
			}
		}
	}
}

/*************************************************************
PP
*************************************************************/
#txt{
	background-color: #00616a;
	position: relative;
	padding-bottom: 30.6em;
	color: #00616a;
	font-size: 1.6rem;
	padding-top: 6.3em;
}

#txt .inner{
	background-color: #ffffe9;
	display: block;
	border-radius: 9rem;
	width: 135.6rem;
	height: 236rem;
	position: relative;
	max-width: 80%;
}

#txt:before{
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 3836 / 552;
	position: absolute;
	bottom: 100%;
	left: 0;
	background-image: url("../img/pp/pptxt-back-01@2x.webp");
	background-size: cover;
	background-position: center;
}

#txt .txt-box{
	margin-bottom: 6.6rem;
}

#txt .txt-box p{
	line-height: 2;
	letter-spacing: 0.1rem;
}

#txt .txt-box h2{
	font-size: 2.5rem;
	font-weight: 500;
	margin-bottom: 0.6em;
	border-bottom: 4px solid #00616a;
	padding-bottom: 0.6em;
	letter-spacing: 0.4rem;
}

#txt .pp-box{
	padding: 10em 11.1em;
}

#txt .third p{
	margin-bottom: 3em; 
}

#txt ul li {
	margin-bottom: 0.8rem;
}

#txt ul li:last-of-type {
	margin-bottom: 0;
}

@media (max-width: 1440px) {

	@media (max-width: 1024px) {
		#txt{
			padding-bottom: 17.5em;
		}

		#txt .pp-box{
			padding: 6em;
		}

		#txt .inner{
			height: 241rem;
		}

		@media (max-width: 840px) {
			#txt{
				font-size: 1.6rem;
			}

			#txt .txt-box h2{
				font-size: 2.2rem;
				margin-bottom: 0.4em;
				padding-bottom: 0.4em;
			}

			@media (max-width: 520px) {
				#txt{
					padding-top: 3em;
					padding-bottom: 15em;
				}

				#txt:before {
					aspect-ratio: 3836 / 828;
					background-size: 150%;
				}

				#txt .inner{
					border-radius: 3rem;
					height: 224rem;
				}

				#txt .pp-box{
					padding: 2em;
				}

				#txt{
					font-size: 1.2rem;
				}

				#txt .txt-box h2{
					font-size: 1.6rem;
					margin-bottom: 0.4em;
					padding-bottom: 0.4em;
				}

				#txt .txt-box {
					margin-bottom: 5rem;
				}

				@media (max-width: 375px) {

				}
			}
		}
	}
}

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

#footer{
	background-color: #ffffe9;
	position: relative;
	padding-bottom: 30.6em;
	color: #00636c;
}

#footer .footer-inner{
	max-width: 152.4rem;
	width: 86%;
	margin:0 auto;
	position: relative;
}


#footer:before{
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1920 / 301;
	position: absolute;
	bottom: 100%;
	left: 0;
	background-image: url("../img/common/fotter-back-01@2x.webp");
	background-size: cover;
	background-position: center;
}



#footer .footer-ttl{
	width: fit-content;
	text-align: center;
	position: absolute;
	bottom: 133%;
	left: 4%;
}

#footer .abs-box h2{
	font-size: 2rem;
	letter-spacing: 0.1em;
}




#footer .footer-wrap{
	padding-left: 3.2%;
	align-items: flex-end;
	row-gap: 3rem;
	padding-top: 0.8em;
}

#footer .footer-wrap .notice-block{
	width: 35.6%;
	font-size: 1.8rem;
	letter-spacing: 0.2em;
}
#footer .footer-wrap .notice-block .addr-txt{
	margin-bottom: 0.4em;
	line-height: 1.5;
}
#footer .footer-wrap .notice-block .notice{
	line-height: 1.9;
}
#footer .footer-wrap .notice-block .notice .en{
	font-size: 105.5555%;
	letter-spacing: 0.15em;
}


#footer .footer-wrap .right-nav{
	width: 64.4%;
	display: flex;
	justify-content: space-between;
	align-items: center;
}

#footer .footer-wrap .right-nav .nav-block{
	font-size: 1.7rem;
	letter-spacing: 0.1em;
	line-height: 1.1;
	width: calc(100% - 15rem);

	display: flex;
	justify-content: flex-start;
	align-items: center;
	flex-wrap: wrap;
	gap: 1em;
}

#footer .footer-wrap .right-nav .nav-block li{
	width: calc((100% - 2em) / 3);
}

#footer .footer-wrap .right-nav .nav-block li a{
	position: relative;
	display: inline-block;
	padding: 0.1em 1em 0.1em 2em;
	transition: border 0.3s;
	border-bottom: 0.1rem solid transparent;
}

#footer .footer-wrap .right-nav .nav-block li a:before {
	content: "";
	position: absolute;
	top: 50%;
	left: 0.62em;
	transform: translateY(-50%);
	width: .76em;
	height: .76em;
	background-color: #ff7514;
	border-radius: 50%;
}

#footer .footer-wrap .right-nav .nav-block li a:hover{
	border-bottom: 0.1rem solid #00636c;
}


#footer .footer-wrap .right-nav .copy-right{
	font-size: 1.3rem;
	letter-spacing: 0.1em;
	line-height: 1.5;
	width: 11em;
}


#footer .left-img{
	/*
	width: 60%;
	aspect-ratio: 1036 / 349;
	*/
	width: 52.8%;
	height: auto;
	position: absolute;
	bottom: 0;
	left: 0;
}



#footer .right-img{
	/*
	width: 60%;
	aspect-ratio: 1012 / 407;
	*/
	width: 52%;
	max-width: 110rem;
	height: auto;
	position: absolute;
	bottom: 0;
	right: 0;
}
#footer .right-img img{
	max-width: initial;
	width: 100%;
}


@media (max-width: 1440px) {

	@media (max-width: 1024px) {
		#footer{
			padding-bottom: 16em;
		}

		#footer .footer-ttl{
			bottom: 119%;
		}

		#footer .footer-wrap{
			padding-top: 2.5%;
		}

		#footer .abs-box h2{
			font-size: 1.4rem;
		}

		#footer .footer-wrap .notice-block{
			font-size: 1.5rem;
		}

		#footer .footer-wrap .right-nav .nav-block{
			font-size: 1.5rem;
		}

		@media (max-width: 840px) {
			#footer{
				padding-bottom: 14em;
			}

			#footer .footer-ttl{
				bottom: 103%;
				left: 2%;
			}

			#footer .footer-wrap {
				align-items: flex-start;
				padding-left: 1.4%;
				padding-top: 3.5%;
			}

			#footer .footer-wrap .right-nav .nav-block {
				width: 100%;
			}

			#footer .footer-wrap .right-nav{
				flex-direction: column;
				justify-content: center;
				align-items: flex-end;
			}


			@media (max-width: 520px) {
				#footer{
					padding-bottom: 6em;
				}

				#footer:before {
					aspect-ratio: 1920 / 601;
					background-size: 200%;
					background-position: 10% center;
				}

				#footer .abs-box h2 {
					font-size: 1.2rem;
				}

				#footer .footer-wrap {
					padding-left: 1.4%;
				}

				#footer .footer-wrap .notice-block {
					width: 100%;
					font-size: 1.2rem;
				}

				#footer .footer-wrap .right-nav{
					align-items: flex-start;
				}

				#footer .footer-wrap .right-nav .nav-block li{
					width: calc((100% - 2em) / 2);
				}

				#footer .footer-wrap .right-nav .nav-block li a {
					padding: 0.1em 1em 0.1em 1.3em;
				}

				#footer .footer-wrap .right-nav .nav-block li a:before {
					left: 0em;
					width: .66em;
					height: .66em;
				}

				#footer .footer-wrap .right-nav{
					width: 100%;
				}

				#footer .footer-wrap .right-nav .copy-right{
					margin-top: 2em;
				}

				@media (max-width: 375px) {

				}
			}
		}
	}
}


/* ----------------------------------------------------------------------
ブログ
---------------------------------------------------------------------- */
#blog-archive {
	padding: 10rem 0 40rem;
	background-color: #00636c;
	position: relative;
}
#blog-archive:before {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1918 / 464;
	position: absolute;
	bottom: calc(100% - 1px);
	left: 0;
	background-image: url(../img/top/news-back-01@2x.webp);
	background-size: cover;
	background-position: center;
}
#blog-archive .inner {
	max-width: 120rem;
	flex-direction: row-reverse;
	row-gap: 8rem;
}
/* 一覧 */
#blog-archive .inner .contents {
	width: 70%;
	max-width: 76.8rem;
}
#blog-archive .inner .contents .post-list {
	width: 100%;
	margin-bottom: 5%;
}
#blog-archive .inner .contents .post-list li {
	width: 100%;
	margin-bottom: 2em;
	color: #00636c;
	background: #ffffe9;
	border-radius: 2rem;
	position: relative;
}
#blog-archive .inner .contents .post-list li:after{
	content: '';
	display: block;
	max-width: 4.25rem;
	width: 100%;
	aspect-ratio: 85 / 86;
	position: absolute;
	left: 95%;
	transform: translateY(-124%);
	background-image: url(../img/top/news-button-01@2x.webp);
	background-size: cover;
	background-position: center;
}
#blog-archive .inner .contents .post-list li .post-box {
	padding: 1.6em 9.7em 1.6em 3.5em;
	display: block;
}
#blog-archive .inner .contents .post-list li .post-box .title-box {
	width: 100%;
	font-size: 2rem;
	line-height: 1.5;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	padding: 0.2em 0;
}
#blog-archive .inner .contents .post-list li .post-box .day {
	font-size: 1.5rem;
	line-height: 1.75em;
	letter-spacing: 0.1em;
	color: #828282;
}


/* シングルページ */
#blog-archive .inner .contents.single{
	background: #ffffe9;
	border-radius: 2rem;
	padding: 6rem 0;
}
#blog-archive .inner .contents .post-ttl{
	width: 92%;
	margin: 0 auto;
	max-width: 65rem;
	color: #00636c;
}
#blog-archive .inner .contents .post-ttl .day-cate {
	font-size: 1.8rem;
	line-height: 1.4;
	letter-spacing: 0.1em;
}
#blog-archive .inner .contents .post-ttl > h3 {
	font-size: 3.4rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.7em;
	border-bottom: 1px solid #828282;
	font-weight: 800;
}
#blog-archive .inner .contents .post-ttl .news-text {
	margin-bottom: 8rem;
}
#blog-archive .inner .contents .post-ttl .news-text * {
	line-height: 1.75;
}
#blog-archive .inner .contents .post-ttl .news-text *:first-child {
	margin-top: 0;
}
#blog-archive .inner .contents .post-ttl .news-text > h1,
#blog-archive .inner .contents .post-ttl .news-text > h2,
#blog-archive .inner .contents .post-ttl .news-text > h3,
#blog-archive .inner .contents .post-ttl .news-text > h4 {
	letter-spacing: 0.14em;
	font-weight: 600;
}

#blog-archive .inner .contents .post-ttl .news-text > h2 {
	font-size: 2.4rem;
	margin-top: 2em;
	color: #ff7514;
	line-height: 6rem;
}
#blog-archive .inner .contents .post-ttl .news-text > h3 {
	font-size: 2rem;
	margin-top: 2em;
	color: #fff;
	padding: 0.2em 1em;
	background-color: #00636c;
}
#blog-archive .inner .contents .post-ttl .news-text > h4 {
	font-size: 2rem;
	margin-top: 2em;
	color: #00a943;
	border-bottom: 1pcx solid #00a943;
}
#blog-archive .inner .contents .post-ttl .news-text > p {
	font-size: 1.8rem;
	margin-top: 2em;
}
#blog-archive .inner .contents .post-ttl .news-text > figure {
	width: 100%;
	margin-top: 3.6rem;
}
#blog-archive .inner .contents .post-ttl .news-text > figure img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
#blog-archive .inner .contents .post-ttl .news-text iframe.wp-embedded-content {
	position: relative !important;
	visibility: initial !important;
}

/* ページナビ */
#blog-archive .inner .contents .blog-navi .wp-pagenavi {
	font-size: 1.8rem;
	justify-content: flex-end;
	align-items: center;
	gap: 2em;
	color: #fff;
}
#blog-archive .inner .contents .blog-navi .wp-pagenavi * {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.1em;
	border: none;
}

/* ページナビ(シングル) */
#blog-archive .inner .contents .np-link {
	font-size: 1.8rem;
	justify-content: center;
	align-items: center;
	gap: 4%;
}
#blog-archive .inner .contents .np-link * {
	padding: 0.1em;
	border: none;
}

/* サイドバー */
#blog-archive .inner .side-box {
	width: 27%;
	max-width: 32.6rem;
}
#blog-archive .inner .side-box .list-box {
	padding: 5%;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: relative;
	border-radius: 2rem;
	background: #ffffe9;
}
#blog-archive .inner .side-box .list-box h4 {
	font-size: 2rem;
	line-height: 1;
	position: absolute;
	inset: auto auto calc(100% + 1em) 0;
	color: #fff;
}
#blog-archive .inner .side-box .list-box .post-data {
	width: 100%;
}
#blog-archive .inner .side-box .list-box .post-data li.postlist-txt a {
	font-size: 1.4rem;
	line-height: 1.5;
	letter-spacing: 0.1em;
	padding: 0 1em 1em;
	margin-bottom: 1em;
	border-bottom: 2px solid #00636c;
	display: block;
	width: 100%;
	color: #00636c;
}
#blog-archive .inner .side-box .list-box .post-data li.postlist-txt a h5{
	font-weight: 900;
	font-size: 110%;
}
#blog-archive .inner .side-box .list-box.cate-box {
	background-color: #828282;
	color: #fff;
}
#blog-archive .inner .side-box .list-box.blog-post {
	color: #828282;
}

@media (max-width: 840px) {
	#blog-archive {
		padding: 15rem 0 20rem;
	}
	#blog-archive .inner .side-box,
	#blog-archive .inner .contents {
		max-width: initial;
		width: 100%;
	}
}
@media (max-width: 520px) {
	#blog-archive {
		padding: 5rem 0 23rem;
	}
	#blog-archive .inner .contents .post-list li .post-box {
		padding: 1em 2em;
	}
	#blog-archive .inner .contents .post-list li .post-box .box-right .title-box {
		font-size: 1.8rem;
	}
	#blog-archive .inner .contents .post-list li .post-box .box-right .day {
		font-size: 1.2rem;
	}
	#blog-archive .inner .contents .post-ttl > h3 {
		font-size: 1.8rem;
	}
	#blog-archive .inner .contents .post-ttl .day-cate {
		font-size: 1.4rem;
	}
	#blog-archive .inner .contents .blog-navi .wp-pagenavi {
		font-size: 1.4rem;
	}
	#blog-archive .inner .contents .np-link {
		font-size: 1.2rem;
	}
	#blog-archive .inner .side-box .list-box h4 {
		font-size: 1.6rem;
	}
	#blog-archive .inner .side-box .list-box .post-data li.postlist-txt a {
		font-size: 1.3rem;
	}
}

/* ----------------------------------------------------------------------
問い合わせフォーム
---------------------------------------------------------------------- */
#contact-area{
	padding: 10rem 0 40rem;
	background-color: #00636c;
	position: relative;
}
#contact-area:before {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1918 / 464;
	position: absolute;
	bottom: calc(100% - 1px);
	left: 0;
	background-image: url(../img/top/news-back-01@2x.webp);
	background-size: cover;
	background-position: center;
}

#contact-area .inner {
	max-width: 92rem;
}
#contact-area .inner .form-ttl {
	font-size: 3rem;
	line-height: 1;
	letter-spacing: 0.1em;
	text-align: center;
	position: relative;
	color: #fff;
	width: fit-content;
	margin: 0 auto 3em;
}
#contact-area .inner .form-ttl:before,#contact-area .inner .form-ttl:after{
	content: '';
	display: block;
	width: 1em;
	height: 2px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
#contact-area .inner .form-ttl:before{left: calc(100% + 0.5em);}
#contact-area .inner .form-ttl:after{right: calc(100% + 0.5em);}


#contact-area .inner form {
	width: 100%;
}
#contact-area .inner form dl {
	width: 100%;
	margin-bottom: 4%;
	font-size: 1.8rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}
#contact-area .inner form dl dt {
	width: 100%;
	position: relative;
	margin-bottom: 0.6em;
	color: #fff;
}
#contact-area .inner form dl dt > p {
	display: inline-block;
}
#contact-area .inner form dl dt.hissu:after {
	content: "必須";
	display: inline-block;
	font-size: 80%;
	width: -moz-fit-content;
	width: fit-content;
	color: #fff;
	border-radius: 0.3em;
	background-color: #ff7514;
	padding: 0.1em 1em;
	margin-left: 0.7em;
}
#contact-area .inner form dl dd {
	width: 100%;
}
#contact-area.confir .inner form dl dd{
	color: #fff;
}
#contact-area .inner form dl dd input[type="text"],
#contact-area .inner form dl dd textarea {
	width: 100%;
	background-color: #ffffea;
	padding: 1em 0.4em;
}
#contact-area .inner form dl dd input[type="text"]{
	border-radius: 999px;
}
#contact-area .inner form dl dd textarea{
	border-radius: 2em;
}
#contact-area .inner form dl dd .kakuninarea {
	width: 100%;
	background-color: #fff;
	font-size: 81.8%;
	text-align: center;
	padding: 1em 0.4em;
}
#contact-area .inner form dl dd .kakuninarea a {
	color: #136ca3;
	border-bottom: 1px solid #136ca3;
}
#contact-area .inner form .contact-btn {
	font-size: 2.2rem;
	line-height: 1.75;
	letter-spacing: 0.1em;
}
#contact-area .inner form .contact-btn input {
	display: block;
	width: 100%;
	max-width: 27.3rem;
	color: #ff7514;
	background-color: #ffffea;
	margin: 0 auto;
	text-align: center;
	padding: 0.5em 1em;
	transition: 0.3s;
	border-radius: 999px;
	border: 2px solid #ff7514;
}
#contact-area .inner form .contact-btn input:hover {
	background-color: #ff7514;
	color: #fff;
}

@media (max-width: 520px) {
	#contact-area {
		padding: 8rem 0 18rem;
	}
	#contact-area .inner .form-ttl {
		font-size: 4rem;
		padding-bottom: 1em;
		margin-bottom: 1.5em;
	}
	#contact-area .inner form dl {
		font-size: 1.6rem;
		margin-bottom: 10%;
	}
}

/* ----------------------------------------------------------------------
サンクスページ&404ページ
---------------------------------------------------------------------- */
#thanks-404{
	padding: 10rem 0 40rem;
	background-color: #00636c;
	position: relative;
}
#thanks-404:before {
	content: '';
	display: block;
	width: 100%;
	aspect-ratio: 1918 / 464;
	position: absolute;
	bottom: calc(100% - 1px);
	left: 0;
	background-image: url(../img/top/news-back-01@2x.webp);
	background-size: cover;
	background-position: center;
}
#thanks-404 .inner{
	color: #fff;
	text-align: center;
}
#thanks-404 .inner h4{
	font-size: 4rem;
	width: fit-content;
	margin: 0 auto 2em;
	position: relative;
	font-weight: 800;
	line-height: 1.2;
}
#thanks-404 .inner h4:before,#thanks-404 .inner h4:after{
	content: '';
	display: block;
	width: 1em;
	height: 2px;
	background-color: #fff;
	position: absolute;
	top: 50%;
	transform: translatey(-50%);
}
#thanks-404 .inner h4:before{left: calc(100% + 0.5em);}
#thanks-404 .inner h4:after{right: calc(100% + 0.5em);}

#thanks-404 .inner p{
	text-align: center;
	font-size: 1.8rem;
	margin-bottom: 3em;
}
#thanks-404 .inner .gotop{
	display: block;
	width: fit-content;
	margin: 0 auto;
	font-size: 1.8rem;
	padding: 0.3em 1em;
	border-radius: 999px;
	border: 2px solid #fff;
	color: #fff;
	background-color: transparent;
}
#thanks-404 .inner .gotop:hover{
	color: #00636c;
	background-color: #fff;
}
@media (max-width: 520px) {
	#thanks-404 {padding: 10rem 0 20rem;}
	#thanks-404 .inner h4 {font-size: 2rem;}
	#thanks-404 .inner p {font-size: 1.2rem;}
	#thanks-404 .inner .gotop {font-size: 1.4rem;}
	
}