@charset "UTF-8";
/* CSS Document */
*,*::before,*::after{box-sizing:border-box;margin: 0;padding: 0;border: 0;font-size: 100%;font: inherit;vertical-align: baseline;}
html{-moz-text-size-adjust:none;-webkit-text-size-adjust:none;text-size-adjust:none}
ul[role='list'],ol[role='list']{list-style:none}
body{min-height:100vh;line-height:1.8}
h1,h2,h3,h4,button,input,label{line-height: 1.4;}
h1,h2,h3,h4{text-wrap:balance}
a:not([class]){text-decoration-skip-ink:auto;color:currentColor}
img,picture{max-width:100%;display:block}
input,button,textarea,select{font:inherit}
textarea:not([rows]){min-height:10em}:target{scroll-margin-block:5ex}
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {display: block;}
a,button{text-decoration: none;color: inherit;}
table{border-collapse: collapse;border-spacing: 0;}
/*
font-family: 
*/

/*共通*/
html {
font-size: 62.5%;
}
body{
font-size: 1.6rem;
font-family:  sans-serif;
font-weight: 400;
position: relative;
}
a,button{
display: block;
transition: 0.5s;
}
a:hover,button:hover {
opacity: 0.6;
}
p{
line-height: 1.8;
}
ul,li{
list-style: none;
}
.contents{
max-width: 1100px;
margin: 0 auto;
}
.contents870{
max-width: 900px;
margin: 0 auto;
padding-left: 15px;
padding-right: 15px;
}
.contents .poster{
padding: 50px 15px 50px;
text-align: center;
}
.contents .poster img{
width: 100%;
}
.contents .poster img:nth-of-type(2){
max-width: 800px;
display: block;
margin: 30px auto;
}
.body{
background: url("/img/back.jpg") no-repeat center center /cover;
}

.obi{
background: url("/img/black-obi.jpg") no-repeat center center / cover;
}
.obi img{
display: block;
margin: auto;
width: 100%;
max-width: 1100px;
}

@media screen and (max-width: 1100px) {}
@media screen and (max-width: 768px) {
body{font-size: 1.4rem;}
}

#main{
background: url("/img/main_back.jpg") no-repeat top center / cover;
position: relative;
}
#main a{
display: block;
width: 50px;
position: absolute;
top:15px;
right: 15px;
}
#toku{
background: #e7f4fc;
padding-bottom: 20px;
}
#toku ul{
display: flex;
flex-wrap: wrap;
margin-bottom: 10px;
}
#toku ul li{
width: calc((100% - 20px)/2);
display: flex;
align-items: flex-end;
}
#toku ul li img{
width: 100%;
}
@media screen and (max-width: 768px) {
#main a{
width: 30px;
}
#toku ul li{
width: 100%;
text-align: center;
}
#toku ul li img{
width: 100%;
max-width: 500px;
margin: auto;
}
#toku h3 {
font-size: 18px;
padding: 0 15px 15px;
}
#toku p{
padding: 0 15px;
}
}

#spot{
background: #e7f4fc url("/img/spot_back.jpg") no-repeat bottom center / 100% auto;
padding-bottom: 100px;
}
#spot ul{
display: flex;
flex-wrap: wrap;
margin-bottom: 10px;
}
#spot ul li{
width: calc((100% - 20px)/2);
display: flex;
align-items: flex-end;
}
#spot h3 {
position: relative;
margin-bottom: 0.5em;
padding-bottom: 15px;
font-size: 26px;
font-weight: 800;
}
#spot h3::after {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 10px;
content: '';
background-image: -webkit-repeating-linear-gradient(135deg, #000, #000 1px, transparent 2px, transparent 5px);
background-image: repeating-linear-gradient(-45deg, #000, #000 1px, transparent 2px, transparent 5px);
background-size: 7px 7px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
@media screen and (max-width: 768px) {
#spot{
padding-bottom: 30px;
}
#spot h3 {
font-size: 18px;
padding: 15px 15px 15px;
}
#spot p{
padding: 0 15px;
}
}

#kanmon01{
background: url("/img/kanmon_back01.jpg") no-repeat bottom center / cover;
}
#kanmon02{
background: url("/img/kanmon_back02.jpg") no-repeat bottom center / cover;
}

#pre{
background: #413a37 url("/img/present_back.png") no-repeat top center / 100% auto;
color: #fff;
}
#pre img{
display: block;
margin: auto;
}
#pre h3 {
position: relative;
margin-bottom: 0.5em;
padding-bottom: 15px;
font-size: 26px;
font-weight: 800;
}
#pre h3::after {
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 10px;
content: '';
background-image: -webkit-repeating-linear-gradient(135deg, #fff, #fff 1px, transparent 2px, transparent 5px);
background-image: repeating-linear-gradient(-45deg, #fff, #fff 1px, transparent 2px, transparent 5px);
background-size: 7px 7px;
-webkit-backface-visibility: hidden;
backface-visibility: hidden;
}
#pre p{
}
#pre a.oubo{
display: block;
max-width: 500px;
margin: 30px auto 50px;
}
#pre .kyosan{
position: relative;
border: 2px solid #000;
background: #fff;
border-radius: 20px;
margin-bottom: 20px;
padding: 30px 30px 20px;
color: #000;
}
#pre .kyosan > img{
position: absolute;
top:-58px;
right: 10px;
width: 130px;
}
#pre .kyosan h2{
text-align: center;
font-size: 2rem;
font-weight: 700;
letter-spacing: 0.3rem;
margin-bottom: 15px;
}
#pre .kyosan .com{
display: flex;
flex-wrap: wrap;
}
#pre .kyosan .com a{
display: block;
width: calc((100% - 30px)/3);
font-weight: 500;
margin-bottom: 10px;
}
#pre .kyosan .com a:hover{
color: #00398d;
}
#pre .info{
text-align: center;
padding-bottom: 30px;
}
#pre .info a{
display: inline;
vertical-align: middle;
}
#pre .info img{
display: inline;
vertical-align: baseline;
max-width: 200px;
}
@media screen and (max-width: 768px) {
#pre h3 {
font-size: 18px;
padding: 15px 15px 15px;
}
#pre p{
padding: 0 15px;
}
#pre a.oubo{
padding: 0 15px;
margin-bottom: 80px;
}
#pre .kyosan{
position: relative;
margin: 0 15px 15px;
padding: 20px 20px 15px;
}
#pre .kyosan .com{
display: block;
}
#pre .kyosan .com a{
width: 100%;
margin-bottom: 5px;
text-align: center;
}
}

.copiright{
background: url("/img/copy_back.jpg") no-repeat center / cover;
padding: 10px 15px;
color: #fff;
text-align: center;
}

/*-------応募フォーム-------*/
#oubo #main img{
max-width: 250px;
margin: auto;
}
#oubo .sitetop{
padding: 10px;
display: block;
text-align: right;
}
#oubo .sitetop img{
width: 200px;
display: inline;
}
#oubo #form{
background: #e7f4fc;
}
#oubo #form .news{
text-align: center;
}
#oubo #form .news h3{
font-size: 2rem;
font-weight: 700;
margin-bottom: 10px;
}
#oubo #form .news .contents{
max-width: 700px;
padding-bottom: 30px;
border-bottom: 1px solid #aaa;
}
#oubo #pre{
padding-top: 30px;
}






.sp-show{display: none;}
@media (max-width: 768px) {
.sp-show{display: inline;}
.pc-show{display: none;}
}
