/* -------------------------------------
GANREF
Copyright (c) 2018 Impress Corporation. All rights reserved.
------------------------------------- */

/* http://meyerweb.com/eric/tools/css/reset/ 
   v2.0 | 20110126
   License: none (public domain)
*/

html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,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,intro,aside,canvas,details,embed,figure,figcaption,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
intro,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
}

body {
	line-height: 1.4;
	-webkit-text-size-adjust: 110%;
}

ol,
ul {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
	content: '';
	content: none;
}

#wrapper img {
	width: auto;
}

.contents p {
	line-height: 1.3;
	margin-bottom: 1rem;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

b,
strong {
	font-weight: bold;
}

img {
	vertical-align: bottom;
}

figure {
	margin: 0;
	text-align: center;
}

h3 {
	font-size: 1rem;
}

.help-link {
	font-size: 0.9rem;
	margin-top: 5px;
}

.help-link::before {
	display: inline-block;
	font: normal normal normal 14px / 1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
	content: "";
	margin-right: 0.2rem;
}

/***********************************************************************/

:root {
	--theme-color: #e1d5c6;
}


.onlyPC {
	display: none !important;
}

.sns {
	display: flex;
	justify-content: center;
	margin-bottom: 20px;
	align-items: center;
}

.sns li {
	margin: 0 5px;
}


/***********************************************************************/

.sp-page {
	/* margin: 10px; */
	position: relative;
	font-feature-settings: "palt";
}

/* === .zoom === */
.zoom {
	display: inline-block;
	position: relative;
	vertical-align: top;
}

.zoom:after {
	content: "";
	width: 22px;
	height: 22px;
	background: url(img/zoom.png) no-repeat 0 0;
	position: absolute;
	bottom: 5px;
	right: 5px;
}

.zoom:hover:after {
	background-position: -22px 0;
}

span.zoom:after {
	display: none;
}

/**/

.ext-link::before {
	display: inline-block;
	font: normal normal normal 14px/1 FontAwesome;
	font-size: inherit;
	text-rendering: auto;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	transform: translate(0, 0);
	content: "";
	margin-right: 0.2rem;
}

.notice {
	padding: 10px;
	border: 2px dotted #ccc;
	border-radius: 6px;
}

p.notes,
ul.notes li {
	font-size: 0.9rem;
	text-indent: -1rem;
	padding-left: 1rem;
	line-height: 1.2rem;
	margin-bottom: 0.4rem;
}

p.notes::before,
ul.notes li::before {
	content: '※';
	margin-right: 0.1rem;
}

h2 {
	font-size: 32px;
	margin: 10px 0 20px;
	text-align: center;
	font-family: "sictype", sans-serif;
	font-weight: 400;
	font-style: normal;
	color: #3e2401;
	min-height: 94px;
	background: url(img/bg_h2.png) no-repeat center bottom;
	background-size: 220px;
	padding-top: 15px;
}

#lead h2 {
	font-size: 22px;
	letter-spacing: -0.1rem;
	min-height: auto;
	background: none;
	padding-top: 0px;
	margin-bottom: 20px;
}

.font-sictype {
	font-family: "sictype", sans-serif;
	font-weight: 400;
	font-style: normal;
}


.titleArea {
	position: relative;
	width: 100%;
	height: 80vw;
	max-height: 400px;
}

.titleArea::after {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	background: url(img/bg1.svg);
	background-size: 101% 30px;
	z-index: 3;
	position: absolute;
	bottom: -1px;
}

.titleArea .h1Area {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	width: 70vw;
	max-width: 280px;
	max-height: 280px;
	box-sizing: border-box;
	margin: auto;
	z-index: 3;
}

.slider {
	width: 100%;
	height: 80vw;
	max-height: 400px;
	margin-left: auto;
	margin-right: auto;
	overflow: hidden;
	padding: 0;
	margin: 0;
	position: absolute;
	z-index: 1;
}

/*スライドは背景画像にする*/
.slider-img {
	content: "";
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	height: 80vw;
	max-height: 400px;
	/*スライド画像の高さ*/
}

/*スライダー画像を指定*/
.slider-img-01 {
	background-image: url(img/photo_01.webp);
}

.slider-img-02 {
	background-image: url(img/photo_02.webp);
}

.slider-img-03 {
	background-image: url(img/photo_03.webp);
}

.slider-img-04 {
	background-image: url(img/photo_04.webp);
}

.slider-img-05 {
	background-image: url(img/photo_05.webp);
}

.slick-list {
	width: 100%;
}

@keyframes fadezoom {
	0% {
		transform: scale(1);
	}

	100% {
		transform: scale(1.1);
		/* 拡大率 */
	}
}

.add-zoom {
	animation: fadezoom 10s 0s forwards;
}


/* lead */

#lead {
	background: #fff;
	padding: 30px 0;
}


/* prize */

#prize {
	background: #fff073 url(img/prize_bg.png) repeat 0 0;
	padding: 10px;
	border-radius: 12px;
	text-align: center;
	font-size: 14px;
	/* box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15); */
	margin: 0 1rem;
	margin: auto;
}

#prize b {
	display: block;
	margin: 0 0 15px;
	border-radius: 8px;
	background: #fff;
	padding: 5px;
	font-size: 18px;
	padding: 10px;
}

#prize em {
	/* font-size: 1.3rem; */
	/* color: #ff6600; */
	background: linear-gradient(transparent 70%, #ffb580 70%);
	font-style: normal;
}

/* about Yamatane */

#aboutYamatane {
	background: url(img/bg_yamatane.webp) no-repeat;
	background-size: cover;
	position: relative;
	z-index: 1;
	/* background-attachment: fixed; */
}

#aboutYamatane::before {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	background: url(img/bg2.svg);
	background-size: 101% 30px;
	background-position: 0 0;
	margin-bottom: 20px;
}

#aboutYamatane::after {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	z-index: 2;
	background: url(img/bg3.svg);
	background-size: 101% 30px;
	z-index: 2;
	background-position: 0 100%;
	margin-top: 20px;
}

#aboutYamatane h3 {
	font-family: "sictype", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 1.5em;
	line-height: 1.5;
	margin-bottom: 10px;
	text-align: center;
}

#aboutYamatane h3 em {
	color: #073190;
	font-size: 1.3em;
}


.colYamatane {
	background-color: #fff;
	line-height: 1.4rem;
	margin: 20px;
	background: #fff;
	padding: 20px;
	border-radius: 10px;
	align-items: center;
	line-height: 1.7;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.5);
}

.colYamatane .companyInfo {
	display: flex;
	flex-wrap: wrap;
	width: 100%;
	margin-bottom: 20px;
}

.colYamatane .companyInfo dt {
	width: 9rem;
	padding-bottom: 5px;
	flex-shrink: 0;
}

.colYamatane .companyInfo dd {
	width: calc(100% - 10rem);
	padding-bottom: 5px;
}

.colYamatane dd ul {
	display: flex;
	margin-top: 20px;
}

.colYamatane dd ul li {
	position: relative;
}

.colYamatane dd ul li:first-of-type {
	margin-right: 2vw;
}

.colYamatane dd ul li img {
	width: 100%;
}

.colYamatane dd .caption {
	margin: 10px 0 0;
	text-align: center;
}

.linkBtn {
	display: inline-block;
	background-color: #FDE823;
	border-radius: 6px;
	font-weight: bold;
	color: #000;
	font-size: 1.1rem;
	margin: 0;
	text-decoration: none !important;
	padding: 10px 20px;
}

.linkBtn:visited {
	color: #000;
}

.linkBtn:hover {
	background-color: #ffef5b;
	color: #000;
}


/* judges */

#judges {
	background: #e9f1e0;
	overflow: hidden;
}

#judges::after {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	z-index: 2;
	background: url(img/bg4.svg);
	background-size: 101% 30px;
	z-index: 2;
	background-position: 0 100%;
	margin-top: 30px;
}

#judges dl dt {
	text-align: center;
}

#judges dl dt img {
	max-width: 240px;
	border-radius: 50%;
}

#judges dl dd em {
	font-size: 1.5em;
}

#judges h2 {
	color: #228701;
	min-height: 88px;
}

/* === .photos === */
.photos {
	text-align: center;
	border-bottom: 2px dotted #9fcd90;
	padding: 0;
	margin: 20px;
}

.photos ul {
	margin: 1rem 0 20px;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.photos ul li {
	flex-basis: calc((100% - 20px)/3);
	margin-bottom: 10px;
}

.photos ul li:nth-of-type(2),
.photos ul li:nth-of-type(3),
.photos ul li:nth-of-type(5) {
	margin-left: 10px;
}

.photos ul li a {
	position: relative;
	display: block;
	border: 1px solid #ccc;
	width: 100%;
	background: #fff;
	box-sizing: border-box;
	border-radius: 8px;
}

.photos ul li a:hover {
	border-color: #03f;
}

.photos ul li a::before {
	content: "";
	display: block;
	padding-top: 100%;
	/* 高さを幅の100%に固定 */
}

.photos ul li a img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	bottom: 0;
	right: 0;
	max-width: 96%;
	max-height: 96%;
	box-sizing: border-box;
	margin: auto;
}


/* requirements */

#requirements::after {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	z-index: 2;
	background: url(img/bg5.svg);
	background-size: 101% 30px;
	z-index: 2;
	background-position: 0 100%;
	margin-top: 30px;
}

#requirements dt {
	margin: 1.5em 0 0.3em 0;
	padding: 3px 0 3px 50px;
	min-height: 30px;
	/* border-left:6px solid var(--theme-color); */
	font-family: "sictype", sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 20px;
	background-image: url(img/onigiri01.webp);
	background-repeat: no-repeat;
	background-size: 40px;
}

#requirements dt:nth-of-type(2) {
	background-image: url(img/onigiri02.webp);
}

#requirements dt:nth-of-type(3) {
	background-image: url(img/onigiri03.webp);
}

#requirements dt:nth-of-type(4) {
	background-image: url(img/onigiri04.webp);
}

#requirements dt:nth-of-type(5) {
	background-image: url(img/onigiri05.webp);
}

#requirements dt:nth-of-type(6) {
	background-image: url(img/onigiri06.webp);
}

#requirements dt:nth-of-type(7) {
	background-image: url(img/onigiri07.webp);
}

#requirements dd {
	padding-left: 50px;
}

#requirements .prizeList>li {
	list-style-type: disc;
	margin: 0.3em 0 0.5em 1.5em;
	line-height: 1.7;
}

@media screen and (max-width: 589px) {
	.flexCol2 .prizeImg {
		width: 80vw;
		max-width: 280px;
		margin: 0 auto 10px;
	}
}

@media screen and (min-width: 590px) {
	.flexCol2 {
		display: flex;
	}

	.flexCol2 ul {
		flex-shrink: 0;
	}

	.flexCol2 .prizeImg {
		width: 100%;
		max-width: 380px;
		margin: 10px 0 10px 30px;
	}
}

.flexCol2 .prizeImg img {
	max-width: 200px;
	margin-bottom: 5px;
	display: block;
	margin: 0 auto 5px;
}

/* rule */

#rule {
	margin-bottom: 60px;
}


#rule h3:not(:first-of-type) {
	font-size: 1rem;
	font-weight: bold;
	margin-top: 20px;
	margin-bottom: 10px;
	border-top: 2px dotted var(--theme-color);
	padding-top: 20px;
}

#rule::before {
	content: "";
	display: block;
	width: 100%;
	height: 30px;
	z-index: 2;
	background: url(img/bg6.svg);
	background-size: 101% 30px;
	z-index: 2;
	background-position: 0 0;
}

#rule li {
	list-style-type: disc;
	margin: 0.4rem 0 0.5rem 1.5rem;
	line-height: 1.5;
}

#rule li b {
	font-weight: normal;
	color: #c00;
}

#rule p {
	margin: 0.4rem 0 0.8rem 1.5rem;
	line-height: 1.7;
}


/* method */

#method {
	background: #fbf4e0;
	overflow: hidden;
	padding-bottom: 40px;
}

#method .flow {
	counter-reset: number;
	/* display: flex;
flex-wrap: wrap;
justify-content: space-between; */
}

#method .flow li {
	/* width: 49%; */
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
	background: #fff;
	border-radius: 8px;
	padding: 10px;
	position: relative;
	text-align: center;
	list-style-type: none !important;
	margin: 0 0 20px 0;
}

#method .flow li:last-child {
	margin: auto;
}

#method .flow li b {
	background-color: #eee;
	display: block;
	line-height: 1.7rem;
	border-radius: 3px;
	padding: 5px;
}

#method .flow li b::before {
	counter-increment: number;
	content: counter(number);
	background: #874e01;
	display: inline-block;
	width: 24px;
	height: 24px;
	text-align: center;
	border-radius: 50%;
	color: #fff;
	margin-right: 5px;
	line-height: 24px;
	font-family: Arial, Helvetica, sans-serif;
	font-size: 16px;
	vertical-align: middle;
	margin-bottom: 2px;
}

#method .flow p {
	margin: 0.5em 0 0 0;
	line-height: 1.4rem;
	font-size: 1rem;
	;
}

#method .flow li em {
	font-weight: bold;
	font-style: normal;
}




.sp-form {
	/* border: 2px solid var(--theme-color); */
	background: #fff;
	padding: 10px;
	margin: 1rem 0;
	border-radius: 8px;
	text-align: center;
	box-shadow: 0px 0px 10px 0px rgba(0, 0, 0, 0.15);
}

.sp-form p {
	margin: 0.3rem 0 0 0;
}

.entry-btn {
	text-align: center;
	margin-bottom: 1rem;
}

.entry-btn {
	display: block;
	padding: 1rem;
	background-color: #FDE823;
	border-radius: 6px;
	font-weight: bold;
	color: #000;
	font-size: 16px;
	margin: 0;
	text-decoration: none !important;
}

.entry-btn:visited {
	color: #000;
}

.entry-btn:hover {
	background-color: #ffef5b;
	color: #000;
}

/* === timer === */
.timerHidden {
	display: none;
}

.timerVisible {
	display: block;
	clear: both;
}

.sp-page section {
	padding: 0
}

/* ////////// prize-contents ////////////////////////////// */

#prize-contents {
	margin-top: 1rem;
}

#prize-contents .work-wrapper {
	letter-spacing: -0.4em;
}

#prize-contents .work-wrapper .work {
	margin-bottom: 2rem;
	overflow: hidden;
	vertical-align: top;
	letter-spacing: normal;
}

#prize-contents .work-item {
	margin: 0;
	background: #eee;
	display: block;
	position: relative;
	text-align: center;
	padding: 5px;
	margin-bottom: 10px;
}

#prize-contents .work-item.mb1 {
	margin-bottom: 1rem;
}

#prize-contents .work-item img {
	display: block;
	border: 4px solid #fff;
	-webkit-box-shadow: 0 0 3px 0 #cccccc;
	box-shadow: 0 0 3px 0 #cccccc;
	box-sizing: border-box;
	margin: auto;
	max-height: calc(100vw - 38px);
}

#prize-contents .work .data {
	font-size: 0.9rem;
	line-height: 1.2rem;
	background: #eee;
	padding: 0 5px 5px;
}

#prize-contents .work h4 {
	font-size: 1.2rem;
	font-weight: bold;
	margin: 0 0 0.2rem 0;
	display: inline-block;
}

#prize-contents .work-data .author {
	margin-bottom: 1rem;
}


#prize-contents .work-data dl {
	clear: both;
}

#prize-contents .work-data dt {
	margin-bottom: 0.2rem;
	border-left: 4px solid #666;
	padding-left: 6px;
	margin-top: 1rem;
	font-weight: bold;
	line-height: 1.2rem;
}

#prize-contents .work-data dt:first-child {
	margin-top: 0;
}

#prize-contents .work-data dd {
	display: inline;
	line-height: 1.4;
}

#prize-contents .work-data .detail {
	position: absolute;
	top: 3px;
	right: 0;
	margin: 0;
}

#prize-contents .work-data .detail a {
	font-size: 85%;
	font-weight: bold;
	text-decoration: none;
	color: #fff;
	padding: 2px 6px;
	background: #1FB1D5;
	border: 1px solid #1FB1D5;
	border-radius: 5px;
}

#prize-contents .work-data .detail a:hover {
	color: #0036ff;
	background: #fff;
	border-color: #0036ff;
}

#prize-contents .prize-2nd {
	padding-top: 40px
}

#prize-contents .prize-3rd {
	padding-top: 20px
}

#prize-contents h2 {
	font-size: 1.2rem;
	margin-top: 2rem;
	line-height: 1.5rem;
	padding: 10px 5px 9px;
}

#prize-contents #inko h2 {
	border: 1px solid #55adff;
	background: #ddefff;
	border-width: 1px 0 1px 0;
}

#prize-contents #neko h2 {
	border: 1px solid #ffa99e;
	background: #fff6f4;
	border-width: 1px 0 1px 0;
}

#prize-contents #issho h2 {
	border: 1px solid #f6d95d;
	background: #fdf7de;
	border-width: 1px 0 1px 0;
}

#prize-contents #shiba h2 {
	border: 1px solid #66eea7;
	background: #e0fbed;
	border-width: 1px 0 1px 0;
}

#prize-contents h2:before {
	display: inline-block;
	background: #0ba29a;
	border-radius: 50%;
	margin-right: 5px;
	color: #fff;
	line-height: 1.5rem;
	width: 1.5rem;
	text-align: center;
	font-size: 1rem;
	vertical-align: middle;
}

#prize-contents h3 {
	font-size: 1.3rem;
	font-weight: bold;
	color: #000;
	border: 1px solid #fff;
	border-width: 1px 0;
	margin-bottom: 20px;
	background-repeat: repeat;
	padding: 5px;
	border-radius: 8px;
}

#prize-contents .prize-1st h3 {
	background-image: url(img/prize_bg.png);
}

#prize-contents .prize-2nd h3 {
	background-image: url(img/prize_bg_2nd.png);
}

#prize-contents .prize-3rd h3 {
	background-image: url(img/prize_bg_3rd.png);
}

#prize-contents .prize-yamatane h3 {
	background-image: url(img/prize_bg_yamatane.png);
}


#prize-contents h3 div {
	height: 66px;
	display: table-cell;
	vertical-align: middle;
	line-height: 1;
	padding-left: 76px;
	background-repeat: no-repeat;
	background-position: 3px 3px;
	background-size: 65px 60px;
	padding-right: 10px;
}

#prize-contents h3 div span {
	color: #666;
	font-weight: normal;
	font-size: 0.8rem;
	line-height: 1rem;
}

#prize-contents .prize-1st h3 div {
	background-image: url(img/prize_1st_s.png);
}

#prize-contents .prize-2nd h3 div {
	background-image: url(img/prize_2nd_s.png);
}

#prize-contents .prize-3rd h3 div {
	background-image: url(img/prize_3rd_s.png);
}

#prize-contents .prize-yamatane h3 div {
	background-image: url(img/prize_yamatane_s.png);
}


#prize-contents .prize-1st,
#prize-contents .prize-2nd,
#prize-contents .prize-3rd {
	overflow: hidden;
}

#prize-contents .prize-1st h3 span:before {
	background-position: 0 0;
}

#prize-contents .prize-2nd h3 span:before {
	background-position: -100px 0;
}

#prize-contents .prize-3rd h3 span:before {
	background-position: -200px 0;
}

#prize-contents .thumbListx4 {
	margin-bottom: 1em;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	flex-wrap: wrap;
}


#prize-contents .thumbListx4 li {
	text-align: center;
	font-size: 0.7rem;
}


.prize-3rd .thumbListx4 li .thumb-wrapper {
	display: block;
	position: relative;
	text-align: center;
	width: 100%;
	padding-top: 100%;
	box-sizing: border-box;
	border: 1px solid #ccc;
	background-color: #fff;
	margin-bottom: 10px;
}

.prize-3rd .thumbListx4 li .thumb-wrapper img {
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	max-width: 96%;
	max-height: 96%;
	object-fit: contain;
}

@media screen and (max-width: 589px) {
	#prize-contents .thumbListx4 li {
		margin-bottom: 2rem;
		width: calc((100% - 10px)/2);
		margin-right: 10px;
	}

	#prize-contents .thumbListx4 li:nth-child(even) {
		margin-right: 0;
	}
}


@media screen and (min-width: 590px) {
	.prize-3rd .thumbListx4 li {
		margin: 0 20px 20px 0;
		width: calc((100% - 60px)/ 4);
	}

	.prize-3rd .thumbListx4 li:nth-of-type(4n) {
		margin-right: 0;
	}
}


#prize-contents .thumbListx4 li p {
	font-size: 0.9rem;
	word-break: break-all;
	margin-bottom: 0;
}

#prize-contents .thumbListx4 li p span {
	font-size: 0.8rem;
}

#prize-contents #lead p {
	margin-bottom: 0;
}

.prize-yamatane .work .work-data .about {
	font-size: 0.9rem;
	border: 2px dotted #f90;
	padding: 5px;
	margin-top: 1rem;
	font-weight: bold;
	color: #666;
}


.review {
	background: #e9f1e0;
	padding: 20px;
	border-radius: 10px;
	margin-bottom: 40px;
	position: relative;
}


.review dl dt {
	text-align: center;
	margin-bottom: 10px;
}

.review dl dt img {
	width: 150px !important;
	border-radius: 50%;
	margin-right: 20px;
}

.review dl dt:last-of-type {
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid #c3dda5;
}

.review dl dt img {
	width: 150px !important;
	border-radius: 50%;
	margin-right: 20px;
}

#wrapper p,
#wrapper dd {
	font-size: 15px;
	line-height: 1.4;
}

#prize-contents .prize-1st .work-item-wrapper {
	margin: 0;
	background: #eee;
	display: block;
	position: relative;
	text-align: center;
	padding: 5px;
	margin-bottom: 10px;
}

#prize-contents .prize-1st .work-item-wrapper a img {
	border: 4px solid #fff;
	-webkit-box-shadow: 0 0 3px 0 #ccc;
	box-shadow: 0 0 3px 0 #ccc;
	object-fit: contain;
}