@charset "utf-8";
body{
	font-size: 18px;
    line-height: 1.5em;
    font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
    overflow-wrap: break-word;
	word-break: normal;
	color: #232F3E;
	font-feature-settings: "palt";
}
::selection {background: #E2DED7;}

img{
	width:auto;
	height: auto;
	max-width:100%;}
p{
	line-height: 1.7em;
	margin-bottom: 1.7em;
}p:last-child{margin-bottom: 0;}

.big{font-size: 1.2em;}
.small{font-size: .7em;}
.b{font-weight: 700;}
.u{text-decoration: underline;}
.red{color: #F19000;}
.center{text-align: center;}
.sp{display: none!important;}

.right{
	width: 300px;
	display: block;
    float: right;
	padding: 0 1%;
}
.img_b{
	text-align: center;
	margin: 0 auto 3% auto;
	display: block;
}

/*追従*/
.cont{
    width: 170px;
    height: auto;
    position:fixed;
    bottom :10px;
    right: 10px;
	z-index: 1000;
}

/*header*/
header{text-align: center;}
header::after,header::before {
    content: "";
    display: inline-block;
    width: 100%;
    height: 70px;
    background: url(../img/head_bar.png) center/cover;
    vertical-align: bottom;
}
header::after{transform: scale(1, -1);}


/**/
.bg{background: #EDEDEF;}
.bg2{
	background: url(../img/2023/main_bg.png)center/cover;
  background-repeat: none;
}
.bg2 p{}

.wrap{
	max-width: 800px;
	margin: 0 auto;
	padding: 3% 2%;
}

h2{
	font-size: 1.8em;
	line-height: 1.6em;
	font-weight: 700;
	padding: 3% 2%;
	text-align: center;
	position: relative;
	margin: 3% auto;
}
h2:first-child{margin-top: 0;}
h2 span:not([class]) {
    background: #F19000;
	padding:.5% 0;
	border: solid #F19000;
	border-width: 0 0.5em;
	-webkit-box-decoration-break: clone;
	color: #fff;
}

h4{
	font-size: 1.4em;
	line-height: 1.4em;
	font-weight: 700;
	text-align: center;
	margin-bottom: 3%;
}
h4 span{
	color: #f19000;
	font-size: 1.2em;
}

/**/
.intro{
	background: #F19000;
	text-align: center;
	padding: 2%;
}

/*form*/
.form{
	background: #EAEDED;
	padding: 4% 2% 5% 2%;
}
.form h3{
	text-align: center;
	font-size: 1.8em;
	line-height: 1.5em;
	font-weight: 700;
	margin-bottom: 2%;
}
.form h3 span{font-size: 1.4em;}

form{
	background: #fff;
	padding: 3%;
	max-width: 700px;
	margin: 0 auto;
}
.form-mail p{
	text-align: center;
	font-size: 1.2em;
	margin-bottom: 1%;
}
form p:not(.rule p){
	margin: 0 auto;
	text-align: center;
	line-height: 1.7em;
	margin-top: 1%;
}

.form-item {
    padding-bottom: 2%;
    width: 95%;
    display: flex;
    align-items: center;
	margin: 0 auto;
}
.label {
    width: 100%;
    max-width: 180px;
    letter-spacing: 0.05em;
}
.input {
    border: 1px solid #aaa;
	border-radius: 5px;
    margin-left: 40px;
    padding: 0 1em;
    height: 48px;
    flex: 1;
    width: 100%;
    max-width: 530px;
}

.form_btn{
	display: block;
	margin: 3% auto;
	-webkit-box-shadow: 0 0 0 0 rgb(240 220 230 / 50%);
	box-shadow: 0 0 0 0 rgb(240 220 230 / 50%);
	-webkit-animation: anime_pulse 1.5s infinite;
	animation: anime_pulse 1.5s infinite;
	border-radius: 10px;
}
/*アニメーション*/
@-webkit-keyframes anime_pulse {
	0% { -webkit-transform: scale(0.95);
	transform: scale(0.95); }
	70% { -webkit-transform: scale(1);
	transform: scale(1);
	-webkit-box-shadow: 0 0 0 30px rgba(240,220,230, 0);
	box-shadow: 0 0 0 30px rgba(240,220,230, 0); }
	100% { -webkit-transform: scale(0.95);
	transform: scale(0.95);
	-webkit-box-shadow: 0 0 0 0 rgba(240,220,230, 0);
	box-shadow: 0 0 0 0 rgba(70, 40, 55, 0); }
}

.flash{
    -webkit-animation:blink 1s ease-in-out infinite alternate;
    -moz-animation:blink 1s ease-in-out infinite alternate;
    animation:blink 1s ease-in-out infinite alternate;
}
@-webkit-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}@-moz-keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}@keyframes blink{
    0% {opacity:0;}
    100% {opacity:1;}
}

.rule{
	border: solid 2px #aaa;
	padding: 3%;
	overflow-y: scroll;
	height: 100px;
	margin-top: 3%;
	font-size: .8em;
}
.rule a{color: #F19000;}

/**/
.items{
	column-count: 2;
	border: solid 2px #EAEDED;
	padding: 3%;
}
.items_2{column-count: auto;}
.items .item {
	margin: 0 0 64px 0;
	break-inside: avoid;
}
.items .item:last-child{margin-bottom: 0;}

h5{
	font-size: 1.1em;
	font-weight: 600;
	color: #F19000;
	margin-bottom: 2%;
}
.list{margin-bottom: 3%;}
.list li{margin-bottom: 1%;}
.list li span{
	color: #F19000;
	font-weight: 600;
	padding-right: 3%;
}

/*footer*/
footer{
	background: #1A1A1A;
	padding: 30px 2%;
	text-align:center;
	font-size:14px;
}
footer p{
    line-height: 1em;
	color:#fff;
}
footer a{
	font-size:13px;
	color:#fff;
	margin: 0 .5%;
}

@media screen and (max-width: 768px) {
   /*--- 表示領域が768px以下の場合に適用するスタイル ---*/

}/*///media*/

@media screen and (max-width: 640px) {
   /*--- 表示領域が640px以下の場合に適用するスタイル ---*/
	.sp{display: block!important;}
	.pc{display: none!important;}

	.text p br{display: none;}
	.text p.br br,.text p br.br{display: block;}

	.right{
		float: none;
		width: 90%;
		margin: 0 auto 5%;
	}

	.center_text{font-size: 1.15em;}

	/*追従*/
	.cont{
		width: 130px;
	}

	/*header*/
	header::after,header::before {height: 30px;}
	h1{padding: 0 2%;}

	/*main*/	
	/**/
	h2{
		font-size: 1.4em;
		line-height: 1.4em;
		padding: 6% 3%;
	}
.bg2 .big p{font-size: .9em;}
	/**/
	.form h3{font-size: 1.2em;}
	.form-item{width: 100%;}
	.label{display: none;}
	.input{
		width: 100%;
		margin-left: 0;
	}
	.form_btn{width: 100%;}
.center{text-align: left;}
	/**/
	.items{column-count: 1;}

}/*///media*/