/*
======================================
 Reset
======================================
 * http://meyerweb.com/eric/tools/css/reset/ 
 * v2.0b2 | 201101
 * NOTE: THIS IS A BETA VERSION (see previous line)
 * USE WITH CAUTION AND TEST WITH ABANDON
*/
*, *:before, *:after {
	-webkit-appearance: none
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	-webkit-text-size-adjust: none;
}
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
.clear { clear: both; }
.button::-moz-focus-inner { border: none; }
a { outline: 0; }





/*
======================================
 Base
======================================
*/
html {
	font-size: 62.5%;
	height: 100%;
}
body {
	background: #fff;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-feature-settings : "palt" 1;
	font-weight: 500;
	font-size: 1.6rem;
	color: #000;
	height: 100%;
	line-height: 1.5em;
}
a {
	color: #1a0dab;
	text-decoration: none;
}
a:hover {
	color: #1a0dab;
	text-decoration: underline;
}
.clear{
	clear: both;
	line-height: 0;
}
.clearfix:after {
	content: ".";
	display: block;
	clear: both;
	height: 0;
	visibility: hidden;
}
.clearfix {min-height: 1px;}
* html .clearfix {
	height: 1px;
	/*\*//*/
	height: auto;
	overflow: hidden;
	/**/
}
::-moz-selection {
	background: #f15a24;
	color: #fff;
}
::selection {
	background: #f15a24;
	color: #fff;
}
.skip {
	display: none;
}
.HiddenContent {
	position: absolute;
	top: -10000px;
	left: -10000px;
}





/*
======================================
 Event End
======================================
*/
.end-message {
	background: #f00;
	padding: 1em 10px 1.25em;
	font-weight: bold;
	text-align: center;
	color: #fff;
	line-height: 1.5em;
}
.end-message br {
	display: none;
}
@media screen and (max-width: 640px) {
	.end-message br {
		display: inline;
	}
}





/*
======================================
 Header
======================================
*/
#GlobalHeader {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 90%;
	background: url(../gifs/hero.jpg?20250826000000) no-repeat;
	background-position: bottom center;
	background-size: 100% auto;
	z-index: 1;
}
#GlobalHeader.sub {
	padding-top: 90%;
	background: url(../gifs/hero.jpg?20250826000000) no-repeat;
	background-position: bottom center;
	background-size: 100% auto;
}
#GlobalHeader::after {
	content: "";
	display: block;
	width: 100%;
	height: 115px;
	background: rgba(255,255,255,0.75);
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
}
#GlobalHeader h1 {
	position: absolute;
	top: 2.5em;
	left: 2em;
}
#GlobalHeader h1 a {
	transition: all .25s ease-in-out;
}
#GlobalHeader h1 a:hover {
	opacity: .75;
}
#GlobalHeader h1 figure {
	width: 300px;
}
#GlobalHeader h1 figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
#GlobalHeader .dial {
	position: absolute;
	top: 2em;
	right: 2em;
}
#GlobalHeader .dial figure {
	width: 400px;
}
#GlobalHeader .dial figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
#GlobalHeader .copy {
	position: absolute;
	top: 3em;
	left: 50%;
	transform: translateX(-50%);
	width: 96%;
}
#GlobalHeader .copy figure {
	width: 100%;
}
#GlobalHeader .copy figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width: 1050px) {
	#GlobalHeader {
		padding-top: 96%;
	}
	#GlobalHeader .copy {
		top: 5em;
	}
}
@media screen and (max-width: 800px) {
	#GlobalHeader {
		padding-top: 100%;
	}
	#GlobalHeader h1 figure {
		width: 240px;
	}
	#GlobalHeader .dial figure {
		width: 300px;
	}
	#GlobalHeader::after {
		height: 100px;
	}
}
@media screen and (max-width: 640px) {
	#GlobalHeader {
		padding-top: 96%;
	}
	#GlobalHeader h1 {
		position: absolute;
		top: 10px;
		left: 10px;
	}
	#GlobalHeader h1 figure {
		width: 200px;
	}
	#GlobalHeader::after {
		display: none;
	}
	#GlobalHeader .dial {
		display: none;
	}
	#GlobalHeader.sub {
		background-position: top -60px left -100px;
		background-size: 150% auto;
	}
	#GlobalHeader .copy {
		top: 1.75em;
		width: 100%;
	}
}





/*
======================================
 Footer
======================================
*/
footer {
	padding: 4em 0 0;
	text-align: center;
}
footer a {
	display: inline-block;
	margin-bottom: 1em;
}
footer a img {
	max-width: 420px;
	width: 100%;
	height: auto;
	vertical-align: top;
}
footer .ask {
	margin: 1em 0 2em;
	padding: 1em 10px;
	background: #000;
	font-size: 1.8rem;
	line-height: 1.5em;
	color: #fff;
}
footer .dial {
	display: flex;
	justify-content: center;
	align-items: center;
}
footer .dial p {
	position: relative;
	display: inline-block;
	padding: .25em 1em;
	border: 3px solid #000;
	font-size: 1.4rem;
}
footer .dial p br {
	display: none;
}
footer .dial div {
	display: flex;
	align-items: center;
	margin-left: 1em;
}
footer .dial div a {
	margin: 0;
	font-size: 4.8rem;
	font-family: 'Roboto', sans-serif;
	font-weight: 700;
	color: #000;
	text-decoration: none;
}
footer .dial div span {
	display: block;
	margin-left: .5em;
}
footer em {
	display: block;
	margin-top: .5em;
	font-size: 1.4rem;
}
footer small {
	display: block;
	margin-top: 3em;
	padding: 2em 0;
	background: #000;
	font-size: 1.4rem;
	line-height: 1em;
	text-align: center;
	color: #fff;
}
@media screen and (max-width: 640px) {
	footer {
		padding: 2em 0 0;
	}
	footer a img {
		width: 86%;
	}
	footer address {
		font-size: 1.4rem;
	}
	footer address span {
		display: block;
	}
	footer .ask {
		font-size: 1.4rem;
		line-height: 1.5em;
	}
	footer .dial p {
		line-height: 1.25em;
	}
	footer .dial p br {
		display: inline;
	}
	footer .dial div {
		display: block;
	}
	footer .dial div a {
		display: block;
		font-size: 3.2rem;
		line-height: 1em;
	}
	footer .dial div span {
		display: block;
		margin: .15em 0 0;
		line-height: 1em;
		font-size: 1.4rem;
	}
	footer em {
		margin-top: .5em;
		font-size: 1.4rem;
		line-height: 1em;
	}
	footer small {
		margin-top: 3em;
	}
	footer small {
		padding: 1em 0;
	}
}





/*
======================================
 Common
======================================
*/
.wrap {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 10px;
}
.pc {
	display: block;
}
.sp {
	display: none;
}
@media screen and (max-width: 640px) {
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
}





/*
======================================
 Open
======================================
*/
.open {
	position: relative;
	overflow: hidden;
	margin-top: -4.5vw;
	margin-bottom: 2.5vw;
	z-index: 10;
}
.open figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}





/*
======================================
 Mission
======================================
*/
.mission {
	position: relative;
	overflow: hidden;
	margin-top: -4vw;
	padding-bottom: 2em;
	z-index: 2;
}
.mission .catch {
	width: 100%;
	height: 0;
	padding-top: 30.5%;
	background: url(../gifs/catch.png) no-repeat;
	background-position: top 0% center;
	background-size: 160% auto;
}
.mission .torikumi {
	width: 80%;
	margin: 4em auto 0;
}
.mission .torikumi picture {
	display: block;
	width: 100%;
}
.mission .torikumi picture img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width: 1024px) {
	.mission .catch {
		padding-top: 48%;
		background-position: top 0% center;
		background-size: 260% auto;
	}
	.mission .torikumi {
		width: 90%;
	}
}
@media screen and (max-width: 640px) {
	.mission .catch {
		padding-top: 52%;
		background-position: top 0% center;
		background-size: 280% auto;
	}
	.mission .torikumi {
		width: 100%;
	}
}
.mission .title {
	margin-bottom: 3em;
	transform: rotate(-3.5deg);
}
.mission .title::before {
	position: absolute;
	top: 4vw;
	left: -5%;
	content: "";
	display: block;
	width: 110%;
	height: 10vw;
	max-height: 120px;
	background: #fdd000;
	transform: skew(-3deg);
	z-index: 1;
}
@media screen and (min-width: 1150px) {
	.mission .title::before {
		top: -50px;
	}
}
.mission .title figure {
	position: relative;
	transform: rotate(3.5deg);
	z-index: 2;
}
.mission figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}





/*
======================================
 Merit
======================================
*/
.merit figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.merit .torikumi {
	padding: 1.5em 0;
	background: #000;
}
.merit .torikumi figure {
	width: 80%;
	margin: 0 auto;
}
.merit .mazuha {
	padding: 1em 0;
	background: #FFFF00;
}
.merit .mazuha figure {
	width: 90%;
	margin: 0 auto;
}
.merit .mazuha .wrap {
	position: relative;
}
.merit .mazuha .fukidashi {
	position: absolute;
	top: 25px;
	right: -230px;
	width: 300px;
}
.merit .mazuha .fukidashi img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.merit .nayami {
	padding: 1em 0;
	background: #8CC63F;
}
.merit .nayami figure {
	width: 90%;
	margin: 0 auto;
}
.merit .syokai {
	padding: 2em 0 4em;
	background: #fff;
}
.merit .syokai img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
.merit .deha {
	padding: 1em 0 3em;
}
.merit .deha ul {
	display: flex;
	justify-content: space-between;
	width: 80%;
	margin: 0 auto;
}
.merit .deha ul li {
	width: 48.25%;
}
@media screen and (max-width: 1400px) {
	.merit .mazuha .fukidashi {
		position: absolute;
		top: 0;
		left: 55%;
		max-width: 30%;
		width: 100%;
	}
}
@media screen and (max-width: 1100px) {
	.merit .mazuha .fukidashi {
		position: absolute;
		top: 0;
		left: 55%;
		max-width: 30%;
	}
}
@media screen and (max-width: 960px) {
	.merit .mazuha .fukidashi {
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
		max-width: 27%;
	}
}
@media screen and (max-width: 640px) {
	.merit figure {
		line-height: .5em;
	}
	.merit .torikumi {
		padding: .5em 0;
	}
	.merit .torikumi figure {
		width: 90%;
	}
	.merit .mazuha figure {
		width: 100%;
	}
	.merit .mazuha .fukidashi {
		position: absolute;
		top: 0;
		right: 0;
		left: auto;
		max-width: 27%;
	}
	.merit .nayami figure {
		width: 100%;
	}
	.merit .syokai img {
		transform: none;
		width: 100%;
	}
	.merit .deha {
		padding: 1em 0 2em;
		text-align: center;
	}
	.merit .deha img {
		width: 70%;
	}

}





/*
======================================
 Recruiting
======================================
*/
.recruiting {
	padding-bottom: 2em;
	background: #FCEE21;
}
.recruiting .date {
	width: 100%;
	margin: -1em auto 0;
}
.recruiting figure img {
	display: block;
	width: 100%;
	height: auto;
	vertical-align: top;
}
.recruiting .parking {
	width: 75%;
	margin: 3em auto 0;
	padding: .35em .5em .55em;
	background: #0071bc;
	color: #fff;
	text-align: center;
}
.recruiting .map {
	margin: 0 0 1.5em;
	text-align: center;
}
.recruiting .map iframe {
	margin: 0 auto;
	width: 75%;
	height: 400px;
	vertical-align: top;
}
.recruiting .map_text {
	font-weight: bold;
	font-size: 3.2rem;
	text-align: center;
	color: #0071bc;
	line-height: 1.25em;
}
.recruiting .map_text em {
	font-size: 2.4rem;
}
.recruiting .moshikomi {
	padding: 1.5em 1em;
	background: #000;
}
.recruiting .moshikomi img {
	width: 45%;
	margin: 0 auto;
}
.recruiting hr {
	margin: 3em 0 4em;
	border: none;
	width: 100%;
	height: 2px;
	background: #231815;
}
.recruiting .mensetsu {
	margin: 1em auto;
	width: 75%;
	font-size: 3.2rem;
	line-height: 1.25em;
	text-align: left;
}
.recruiting .mensetsu em {
	color: #f00;
}
.recruiting .mensetsu span {
	display: inline-block;
	font-size: 1.6rem;
	line-height: 1.5em;
}
@media screen and (max-width: 1024px) {
	.recruiting .title > div:first-of-type figure {
		width: 80%;
	}
}
@media screen and (max-width: 640px) {
	.recruiting {
		padding-bottom: 1em;
	}
	.recruiting .parking {
		width: 100%;
		margin: 3em auto 0;
	}
	.recruiting .moshikomi {
		padding: 1em 0;
		background: #000;
	}
	.recruiting .moshikomi img {
		width: 70%;
		margin: 0 auto;
	}
	.recruiting .date {
		width: 100%;
		margin-top: -0.5em;
	}
	.recruiting .map {
		margin-bottom: 1em;
	}
	.recruiting .map iframe {
		width: 100%;
	}
	.recruiting .map_text {
		font-size: 2.2rem;
	}
	.recruiting .map_text em {
		font-size: 1.8rem;
	}
	.recruiting hr {
		margin: 2em 0 3em;
		width: 100%;
	}
	.recruiting .mensetsu {
		width: 100%;
		font-size: 2.0rem;
		text-align: center;
	}
	.recruiting .mensetsu span {
		font-size: 1.3rem;
	}
}





/*
======================================
 Recruiting
======================================
*/
.puchi {
	padding: 2em 0;
	background: rgb(15,54,122);
	background: linear-gradient(90deg, rgba(15,54,122,1) 0%, rgba(57,104,177,1) 50%, rgba(15,54,122,1) 100%);
}
.puchi figure {
	width: 90%;
	margin: 0 auto;
}
.puchi figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}




/*
======================================
 Tour
======================================
*/
.tour {
	position: relative;
	background: #fff;
}
.tour .appearance {
	position: relative;
	display: block;
	width: 100%;
	margin: 2em auto 0;
	padding: 2em 1em 1em;
	z-index: 2;
	text-align: center;
}
.tour .appearance img {
	width: 100%;
	max-width: 1200px;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width: 768px) {
	.tour .appearance img {
		width: 100%;
	}
}
@media screen and (max-width: 640px) {
	.tour {
		padding-bottom: 0;
	}
	.tour .appearance {
		margin: 0 auto 0;
	}
}





/*
======================================
 Req
======================================
*/
.req .detail {
	margin: 0 auto;
	padding: 1em 0 0;
	width: 100%;
	max-width: 800px;
}
.req .detail .items .items-head {
	padding: .5em 0;
	border-top: 1px solid #000;
	border-bottom: 1px solid #000;
	font-size: 1.8rem;
	text-align: center;
	line-height: 1.25em;
}
.req .detail .items .items-detail.type {
	display: flex;
	justify-content: center;
}
.req .detail .items .items-detail.type ul {
	display: flex;
	flex-direction: column;
	margin: 1em 2em 2em;
}

.req .detail .items .items-detail.spot {
}
.req .detail .items .items-detail.spot .item {
	display: block;
	width: 540px;
	margin: 1em auto 0;
	text-align: left;
}
.req .detail .items .items-detail.spot .item ul li:first-child {
	margin-right: 2em;
}
.req .detail .items .items-detail .item p {
	display: flex;
	align-items: center;
	font-weight: 700;
}
.req .detail .items .items-detail .item .name em {
	width: 200px;
	font-size: 1.6rem;
}
.req .detail .items .items-detail .item p span {
	margin-left: 1.5em;
	font-size: 1.6rem;
	font-weight: 400;
}
.req .detail .items .items-detail .item ul {
	display: flex;
	margin: .25em 0 1em;
}
.req .detail .items .items-detail .item:last-of-type ul {
	margin: .25em 0 0;
}
.req .detail .items .items-detail .item ul li:first-child {
	margin-right: 1.5em;
}
.req .detail .items .items-detail .item ul li a {
	line-height: 1.25em;
}
.req .detail .items .items-detail .item ul li a::before {
	content: "■";
	margin-right: .25em;
}
.req .welcome {
	padding: 4em 0 0;
	text-align: center;
}
.req .welcome figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width:768px) {

}
@media screen and (max-width: 640px) {
	.req .detail .items .items-detail.type {
		flex-direction: column;
		padding: 1em 0;
	}
	.req .detail .items .items-detail.type ul {
		display: flex;
		flex-wrap: wrap;
		flex-direction: row;
		margin: 0;
	}
	.req .detail .items .items-detail.type ul li {
		width: 50%;
	}
	.req .detail .items .items-detail.spot .item {
		width: 100%;
	}
	.req .detail .items .items-detail .item p {
		display: block;
	}
	.req .detail .items .items-detail .item .name em {
		display: block;
		width: 100%;
	}
	.req .detail .items .items-detail .item p span {
		display: block;
		margin-left: 0;
	}
	.req .welcome {
		padding-top: 2em;
	}
}





/*
======================================
 Unei
======================================
*/
.unei {
	padding: 4em 0;
	background: #f4e8da;
}
.unei picture {
	display: block;
	width: 100%;
}
.unei picture img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width: 640px) {
	.unei {
		padding: 2em 0;
	}
}





/*
======================================
 Numbers
======================================
*/
.numbers {
	padding: 5em 0;
}
.numbers figure {
	width: 80%;
	margin: 0 auto;
}
.numbers figure img {
	width: 100%;
	height: auto;
	vertical-align: top;
}
@media screen and (max-width: 640px) {
	.numbers {
		padding: 2.5em 0 0;
	}
	.numbers figure {
		width: 100%;
	}
}





/*
======================================
 Entry
======================================
*/
.entry {
	position: relative;
	padding: 0 25px 0;
	background: #fdd000;
}
.entry::before {
	content: "";
	display: block;
	width: 100%;
	height: 205px;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.entry.confirm::before,
.entry.thanks::before {
	content: "";
	display: block;
	width: 100%;
	height: 141px;
	background: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}
.entry::after {
	content: "";
	display: block;
	width: 100%;
	height: 32px;
	background: #fff;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 2;
}
.entry .wrap {
	position: relative;
	z-index: 3;
}
.entry .heading {
	display: block;
	margin-bottom: 1em;
	font-size: 4.8rem;
	font-weight: 700;
	line-height: 1.35em;
	color: #f15a24;
	text-align:center;
}
.entry h1 {
	margin-bottom: 1em;
	font-size: 2.4rem;
	font-weight: 700;
	color: #000;
	line-height: 1.25em;
	text-align: center;
}
.entry .flow {
	display: flex;
	justify-content: center;
	margin-bottom: 3em;
}
.entry .flow li {
	width: 30%;
	text-align: center;
}
.entry .flow li:nth-of-type(2) {
	position: relative;
	margin: 0 40px;
}
.entry .flow li:nth-of-type(2)::before,
.entry .flow li:nth-of-type(2)::after {
	content: "";
	position: absolute;
	top: 18px;
	display: block;
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 10px 0 10px 15px;
	border-color: transparent transparent transparent #000;
}
.entry .flow li:nth-of-type(2)::before {
	left: -25px;
}
.entry .flow li:nth-of-type(2)::after {
	right: -29px;
}
.entry .flow li em {
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 0.8em .5em;
	background: #000;
	border: 5px solid #000;
	font-size: 2.0rem;
	line-height: 1em;
	color: #fff;
}
.entry .flow li.active em {
	background: #fff;
	color: #000;
}
.entry .onegai {
	margin: 3em 0;
}
.entry form table {
	width: 100%;
}
.entry form table td {
	padding: 1em;
	line-height: 1.5em;
	vertical-align: top;
}
.entry form table td.th {
	position: relative;
	width: 28%;
	padding-left: 4.5em;
}
.entry.confirm form table td.th {
	padding: 1em;
}
.entry form table td.th.pt {
	padding-top: 1.8em;
}
.entry form table td.th em {
	position: absolute;
	top: 16px;
	left: 0;
	display: inline-block;
	padding: .25em 1em;
	background: #fff;
	border: 1px solid #c5c5c5;
	font-size: 1.4rem;
	font-weight: 700;
	color: #f15a24;
	line-height: 1em;
}
.entry form table td.th.pt em {
	top: 30px;
}
.entry form table td.th span {
	position: absolute;
	top: 16px;
	left: 0;
	display: inline-block;
	padding: .25em 1em;
	background: #fff;
	border: 1px solid #c5c5c5;
	font-size: 1.4rem;
	font-weight: 700;
	color: #000;
	line-height: 1em;
}
.entry form .col {
	display: flex;
	flex-wrap: wrap;
}
.entry form .col li {
	margin-right: 1.75em;
}
.entry form .col.w2 li {
	margin-right: 3%;
	width: 47%;
}
.entry form .col.w3 li {
	margin-right: 3%;
	width: 30%;
}
.entry form .col li:last-child {
	margin-right: 0;
}
.entry form input,
.entry form textarea,
.entry form select,
.entry form option {
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-feature-settings : "palt" 1;
	font-weight: 500;
	font-size: 1.6rem;
}
label input[type="text"],
label input[type="number"],
label input[type="tel"],
label input[type="tel"],
label input[type="email"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 1px solid #000;
	width: 100%;
	margin: 0;
	padding: .95em;
	/*border-radius: 5px;*/
	font-size: 1.6rem;
	line-height: 1.25em;
}
.select {
	position: relative;
}
.select::after {
	position: absolute;
	top: 2rem;
	right: 1em;
	content: "";
	width: 0;
	height: 0;
	border-style: solid;
	border-right: 5px solid transparent;
	border-left: 5px solid transparent;
	border-top: 8px solid #000;
	border-bottom: 0;
}
select, option {
	-moz-appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 1px solid #000;
	width: 100%;
	margin: 0;
	padding: .85em;
	/*border-radius: 5px;*/
	font-size: 1.6rem;
	line-height: 1.25em;
}
textarea {
	background: #fff;
	border: 1px solid #000;
	width: 100%;
	height: 200px;
	margin: 0;
	padding: 8px;
	/*border-radius: 5px;*/
	resize: none;
	font-size: 1.6rem;
	line-height: 1.5em;
}
label.radio_text {
	display: block;
	position: relative;
	padding-left: 26px;
	overflow: hidden;
	cursor: pointer;
	line-height: 1.5em;
}
label.radio_text:before{
	position: absolute;
	width: 20px;
	height: 20px;
	border: 1px solid #000;
	border-radius: 50%;
	left: 0px;
	top: 3px;
	content: '';
	z-index: 3;
}
label.radio_text:after {
	content: '';
	position: absolute;
	width: 14px;
	height: 14px;
	border-radius: 100%;
	left: 3px;
	top: 6px;
	background: #000;
	z-index: 1;
}
label.radio_text input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	z-index: 2;
	width: 18px;
	height: 18px;
	left: -19px;
	top: 5px;
	margin: 0px;
	box-shadow: 20px -1px #fff;
	border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	background: #fff;
}
label.radio_text input[type="radio"]:checked {
	z-index: 0;
}
label.radio_text input[type="radio"]:disabled {
	box-shadow: 20px -1px #999;
}
label.checkbox_text {
	display: inline-block;
	position: relative;
	padding-left: 26px;
	overflow: hidden;
	cursor: pointer;
	line-height: 1.5em;
}
label.checkbox_text:before {
	content: '';
	position: absolute;
	width: 20px;
	height: 20px;
	left: 0px;
	top: 3px;
	border: 1px solid #000;
	z-index: 3;
}
label.checkbox_text:after {
	content: '';
	position: absolute;
	top: 4px;
	left: 6px;
	display: block;
	width: 8px;
	height: 14px;
	border-right: 3px solid #000;
	border-bottom: 3px solid #000;
	transform: rotate(45deg);
	-webkit-transform: rotate(45deg);
	-moz-transform: rotate(45deg);
	z-index: 1;
}
label.checkbox_text input[type="checkbox"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	position: absolute;
	top: 4px;
	left: -40px;
	width: 18px;
	height: 18px;
	display: block;
	box-shadow: 41px 0px #fff;
	z-index: 2;
	margin: 0px;
	padding: 0px;
	border-radius: 0;
}
label.checkbox_text input[type="checkbox"]:checked {
	z-index: 0;
}
label.checkbox_text input[type="checkbox"]:disabled {
	box-shadow: 41px 0px #999;
}
.entry form .attention {
	margin-top: .5em;
	padding-left: 1em;
	font-size: 1.4rem;
	line-height: 1.25em;
	text-indent: -1em;
	color: #666;
}
.entry form .attention.red {
	color: #f00;
}
.entry .privacy {
	padding: 25px;
	text-align: center;
}
.entry .privacy strong {
	font-size: 2.4rem;
	font-weight: 700;
}
.entry .privacy .text {
	margin: .5em 0;
}
.entry .privacy p a {
	display: inline-block;
	margin: 0 .5em;
}
.entry form .submit {
	display: flex;
	justify-content: center;
	margin-top: 1em;
	text-align: center;
}
.entry form .submit input#prev,
.entry form .submit input#next {
	-moz-appearance: none;
	-webkit-appearance: none;
	background: #fff;
	border: 5px solid #000;
	padding: 15px;
	border: none;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-feature-settings : "palt" 1;
	font-weight: 500;
	font-size: 1.6rem;
	color: #000;
	text-align: center;
	cursor: pointer;
	transition: all .25s ease-in-out;
}
.entry form .submit input#prev {
	width: 30%;
	margin-right: 1em;
	background: #fff;
	border: 5px solid #aaa;
	color: #666;
}
.entry form .submit input#next {
	width: 50%;
	background: #fff;
	border: 5px solid #000;
}
.entry form .submit input#prev:hover {
	background: #aaa;
	color: #fff;
}
.entry form .submit input#next:hover {
	background: #000;
	color: #fff;
}
.entry form .error {
	margin-top: .25em;
	padding-left: 18px;
	background: url(../gifs/icon_batsu.svg) no-repeat;
	background-size: 14px 14px;
	background-position: top 50% left 0%;
	font-size: 1.4rem;
	color: #d80000;
}
@media screen and (max-width: 900px) {
	.entry form .col {
		display: block;
	}
	.entry form .col li {
		width: 100%;
		margin-bottom: .25em;
	}
	.entry form .col.w2 li,
	.entry form .col.w3 li {
		width: 100%;
		margin-bottom: .25em;
	}
}
@media screen and (max-width: 640px) {
	.entry {
		padding: 3em 0;
	}
	.entry::before {
		height: 165px;
	}
	.entry.confirm::before,
	.entry.thanks::before {
		height: 108px;
	}
	.entry::after {
		height: 80px;
	}
	.entry.confirm::after {
		height: 32px;
	}
	.entry.thanks::after {
		height: 32px;
	}
	.entry .heading {
		font-size: 2.4rem;
	}
	.entry h1 {
		font-size: 2.4rem;
	}
	.entry .flow li em {
		font-size: 1.6rem;
	}
	.entry.confirm .flow,
	.entry.thanks .flow {
		margin-bottom: 1em;
	}
	.entry .onegai {
		margin: 0 0 1.5em;
	}
	.entry .onegai dl {
		display: block;
	}
	.entry .onegai dl dt {
		width: 100%;
		margin-bottom: .5em;
	}
	.entry .onegai dl dd {
		width: 100%;
	}
	.entry form table,
	.entry form table tbody,
	.entry form table tr,
	.entry form table td,
	.entry form table td.th {
		display: block;
		width: 100%;
	}
	.entry form table td.th,
	.entry form table td.th.pt {
		padding: .5em 1em .5em 4.75em;
		background: #000;
		color: #fff;
	}
	.entry.confirm form table td.th {
		padding: .5em 1em;
	}
	.entry form table td.th em,
	.entry form table td.th.pt em,
	.entry form table td.th span,
	.entry form table td.th.pt span {
		top: 50%;
		left: 10px;
		font-size: 1.4rem;
		transform: translateY(-50%);
	}
	.entry .privacy {
		padding: 10px;
	}
	.entry form .submit input#next {
		width: 60%;
	}
}

.confirm tr td:nth-of-type(2) {
	font-weight: 700;
}


.thanks {
	text-align: center;
}
.thanks .btn {
	margin-top: 4em;
}
.thanks .btn a {
	display: block;
	background: #fff;
	max-width: 50%;
	min-width: 30%;
	margin: 0 auto;
	padding: 15px;
	border: 5px solid #aaa;
	font-family: "Noto Sans JP", -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, "メイリオ", Meiryo, sans-serif;
	font-feature-settings : "palt" 1;
	font-weight: 500;
	font-size: 1.6rem;
	color: #666;
	text-align: center;
	text-decoration: none;
	transition: all .25s ease-in-out;
}
.thanks .btn a:hover {
	background: #aaa;
	color: #fff;
}
@media screen and (max-width: 640px) {
	.confirm,
	.thanks {
		padding: 1.5em 0 0;
	}
	.thanks .btn {
		margin-top: 2em;
	}
}




#goform {
	position: fixed;
	top: 50%;
	right: 0;
	z-index: 100;
	transform: translateY(-50%);
}
#goform a {
	width: 60px;
	height: 200px;
	display: block;
	transition: all .25s ease-in-out;
}
#goform a:hover {
	opacity: .85;
}
@media screen and (max-width: 640px) {
	#goform {
		top: unset;
		bottom: 0;
		right: unset;
		left: 0;
		width: 100%;
		background: #000;
		transform: none;
	}
	#goform a {
		display: block;
		width: auto;
		height: auto;
		transition: none;
	}
	#goform a img {
		width: 100%;
		max-width: 300px;
		height: auto;
		margin: 0 auto;
		vertical-align: top;
	}
	#goform a:hover {
		opacity: 1;
	}
}


.owabi {
	border: 3px solid #f80000;
	padding: 15px;
	text-align: center;
}
.owabi strong {
	display: block;
	margin-bottom: 10px;
	color: #f80000;
}
.owabi strong br {
	display: none;
}
.owabi p br {
		display: inline;
	}
@media screen and (max-width: 640px) {
	.owabi strong br {
		display: inline;
	}
	.owabi p {
		font-size: 1.4rem;
	}
	.owabi p br {
		display: none;
	}
}
