/* -------------------------------------
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;
}


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

.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.jpg);
}
.slider-img-02 {
background-image: url(img/photo_02.jpg);
}
.slider-img-03 {
background-image: url(img/photo_03.jpg);
}
.slider-img-04 {
background-image: url(img/photo_04.jpg);
}
.slider-img-05 {
background-image: url(img/photo_05.jpg);
}
.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.jpg) 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.png);
background-repeat: no-repeat;
background-size: 40px;
}

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

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

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

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

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

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

#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;
}
