@charset "UTF-8";


/*================================================
 *  CSSリセット
 ================================================*/

html,body{margin:0;padding:0;}

/*================================================
 *  一般・共通設定
 ================================================*/
body {
	font-family: 'Noto Sans JP',sans-serif;
	font-size: 1.2em;
	line-height: 1.2;
	font-weight: 500;
	background-color: #ecc26f;
	color: #473622;
	overflow-x: hidden;
}

html {
	-moz-text-size-adjust:100%;
	-webkit-text-size-adjust:100%;
	-ms-text-size-adjust:100%;
	height: 100%;
	overflow-x: hidden;
}

a {
	text-decoration: none;
}

ul {
	list-style: none;
	padding-inline-start: 0;
}

.wrap {
	width: 95%;
	max-width: 900px;
	margin: 0 auto;
	padding: 0.5em
}

.title {	
	margin: 0 auto;
	width: 25%;
	padding: 1.5em 0;
}

.title img {	
	width: 100%;
}

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

#header {
	width: 100%;
	background-image: url("../img/bg.jpg");
	background-repeat: no-repeat;
	background-position: top;
	background-size: cover;
}

.header_contain {
	width: 100%;
	max-width: 900px;
	margin: 0 auto;
}

.header_pc_img {
	width: 100%;
}
/*================================================
 *  コンテンツ1
 ================================================*/
#contents1 {
	width: 100%;
	background-color: #f8ecd3;
	background-image: url("../img/bg2.png");
	background-size: cover; 
	background-position: center;
	background-repeat: no-repeat;
	text-align: center;
	margin: -4px auto;
	padding: 1em 0;
}

.schedule_img {
	margin: 0 auto;
	text-align: center;
	padding: 0em 0;
	width: 100%;
	position: relative;
}

.schedule_img img {
	width: 100%;
}

/*================================================
 *  キャラ
 ================================================*/

.chara {
	z-index: 1;
	position: absolute;
	bottom: 90%;
	right: -5%;
	width: 24%;
}

.chara img {
	width: 100%;
}

.chara2 {
	z-index: 1;
	position: absolute;
	bottom: 0%;
	left: -2%;
	width: 21%;
}

.chara2 img {
	width: 100%;
}

/*================================================
 *  ループ
 ================================================*/

.contents2 {
	margin: 0 auto;
	text-align: center;
	padding: 1.5em 0;
	width: 100%;
	position: relative;
}

.loop {
	display: flex;
	overflow: hidden;
}
.loop_box {
    display: flex;
    animation: loop-list 60s linear infinite;
}

.loop_item a {
    width: 250px;
    display: block;
}
.loop_item img {
    width: 100%;
}

@keyframes loop-list {
    from {
        transform: translateX(0);
    }
    to {
        transform: translateX(-50%);
    }
}

.loop:hover .loop_box {
    animation-play-state: paused;
}

.loop_item img:hover {
  	transform: scale(1.2);
	transition: .2s;
}

/*================================================
 *  メイン
 ================================================*/
#main {
	width: 100%;
	background-color: #ecc26f;
	text-align: center;
	margin: -1px auto;
	padding: 1em 0 0 0;
}

.details {
	width: 95%;
	max-width: 900px;
	margin: 0 auto;
	display: flex;
	border-radius: 20px;
	flex-flow: row wrap;
        border: 4px solid #6a3906;
}

.details dt {
        border: 1px solid #6a3906;
        background-color: #d39000;
	color: #fff;
	flex-basis: 25%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 0.8em;
        margin: 0px;
        padding: 1em;
	box-sizing: border-box;
}

.details dd {
        border: 1px solid #6a3906;
        background-color: #fff;
	text-align: left;
	flex-basis: 75%;
	font-size: 0.8em;
        margin: 0px;
        padding: 1em;
	box-sizing: border-box;
}

.details dd p {
	font-weight: 700;
	font-size: 1.6em;
	margin: 5px;
}

.radius_top1 {
	border-radius: 16px 0 0 0;
}

.radius_top2 {
	border-radius: 0 16px 0 0;
}

.radius_bottom1 {
	border-radius: 0 0 0 16px;
}

.radius_bottom2 {
	border-radius: 0 0 16px 0;
}
/*================================================
 *  スケジュール
 ================================================*/

.schedule {
	width: 100%;
	margin: 0 auto;
	flex-wrap: wrap;
	display: flex;
        border: 0px;
}

.schedule dt {
        border: 1px solid #fff;
        background-color: #eee;
	font-weight: 700;
	color: #473622;
	flex-basis: 16%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1em;
        padding: 0.5em;
	margin: 0.1em 0;
}

.schedule dd {
        border: 1px solid #fff;
        background-color: #fff;
	text-align: left;
	flex-basis: 84%;
	align-items: center;
	font-size: 1em;
        padding: 0.5em;
}

/*================================================
 *  応募フォームリンクボタン
 ================================================*/
a.btn {
	display: block;
	border: 4px solid #6a3906;
	color: #6a3906;
	background: #f8ecd3;
	width: 95%;
	max-width: 908px;
	padding: 0.5em 0;
	border-radius: 100vh;
	text-align: center;
	vertical-align: middle;
	font-weight: 700;
	font-size: 2em;
	margin: 1em auto 2em auto;
	transition: .2s;
	text-decoration: none;
	cursor: pointer;
	position: relative;
}

a.btn:hover {
  	transform: scale(1.03);
	color: #6a3906;
	background: #fff;
}

.arrow {
	display: block;	
	position: absolute;
	padding: 0.5em 0;
	left: -25px;
	top: -8%;
	height: 2em;
	text-align: center;
    	animation: slide 1.7s infinite linear;
}

@keyframes slide {
	0% {
        transform: translateX(0);
	opacity: 0.2;
	}

	30% {
        transform: translateX(15px);
	opacity: 1;
	}

	100% {
        transform: translateX(15px);
	}

}

/*================================================
 *  フッター
 ================================================*/
footer {
	width: 100%;
	background-color: #f8ecd3;
	background-image: url("../img/bg2.png");
	background-size: cover; 
	background-position: center;
	background-repeat: no-repeat;
	color: #6a3906;
	font-size: 0.8em;
	text-align: center;
	padding: 1em 0;
}

.logo {
	width: 300px;
	padding: 3em 0;
}

/*================================================
 *  レスポンシブ対応
 ================================================*/
 /*　画面サイズ700pxまで適用　*/

@media screen and (max-width: 700px) {

.header_pc_img {
	width: 100%;
}

#main {
	padding: 0;
}

.title {	
	padding: 0.5em 0;
	width: 30%;
}

#contents1 {
	background-size: cover;
	padding: 0.5em 0;
}

.contents2 {
	padding: 1.5em 0 0 0;
}

.chara {
	z-index: 1;
	position: absolute;
	bottom: 90%;
	width: 25%;
}

.chara img {
	width: 100%;
}

.chara2 {
	z-index: 1;
	position: absolute;
	bottom: -3%;
	left: -2%;
	width: 23%;
}

.chara2 img {
	width: 100%;
}

.chara_text2 {
	z-index: 1;
	position: absolute;
	bottom: 100%;
	right: 30%;
	width: 100%;
}

.chara_text2 img {
	width: 100%;
}

.loop_item a {
    width: 200px;
}

.details {
	width: 95%;
	flex-flow: column;
        border: 2px solid #6a3906;
}

.details dt, dd {
	font-size: 0.7em;
        padding: 0.8em;
}

.details dt {
	font-size: 0.7em;
        padding: 0.8em;
}

.details dd {
	font-size: 0.7em;
        padding: 0.8em;
}

.schedule dt {
	font-size: 1em;
        padding: 0.5em;
}

.schedule dd {
	font-size: 1em;
        padding: 0.5em;
}

.radius_top1 {
	border-radius: 18px 18px 0 0;
}

.radius_top2 {
	border-radius: 0 0 0 0;
}

.radius_bottom1 {
	border-radius: 0 0 0 0;
}

.radius_bottom2 {
	border-radius: 0 0 18px 18px;
}

a.btn {
	border: 3px solid #6a3906;
	padding: 0.5em 0;
	font-size: 1.3em;
	margin: 1em auto 1em auto;
}

a.btn:hover {
  	transform: scale(1.03);
}

.arrow {
	height: 1.7em;
	left: -25px;
	top: -5%;
}

.logo {
	width: 200px;
}

footer {
	background-size: cover;
	font-size: 0.6em;
}
}