@charset "utf-8";


/* リセット
----------------------------------------- */
html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td,input,textarea {
  margin: 0;
  padding: 0;
  border: 0;
  font-weight: normal;
  font-size: 100%;
  vertical-align:baseline;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
article, header, footer, aside, figure, figcaption, nav, section {
  display:block;
}
body {
  line-height: 1;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%;
  font-family: 'Arsenal', sans-serif;
  background:#FFF;
  color:#333;
}
ol, ul {
  list-style: none;
  list-style-type: none;
}

a{
  text-decoration: none;
  color:#A30000;
}

img.img100{
  width:100%;
  height:auto;
}

#wrap{
}

.sp_none{
  display: none;
}
.pc_none{
  display: block;
}

.fuwatAnime {
 -webkit-animation-fill-mode:both;
 -ms-animation-fill-mode:both;
 animation-fill-mode:both;
 -webkit-animation-duration:1.5s;
 -ms-animation-duration:1.5s;
 animation-duration:1.5s;
 -webkit-animation-name: fuwatAnime;
 -ms-animation-name: fuwatAnime;
 animation-name: fuwatAnime;
 visibility: visible !important;
}
@-webkit-keyframes fuwatAnime {
 0% { opacity: 0; -webkit-transform: translateY(20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fuwatAnime {
 0% { opacity: 0; -webkit-transform: translateY(20px); -ms-transform: translateY(20px); transform: translateY(20px); }
 100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

/* sp_menu */
#gnav_sp{
  display: none;
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background:rgba(0, 0, 0, 0.8);
  color:#fff;
  z-index:10;
  overflow: auto;
}
.gnav_menu{
  padding-top:50px;
}
.gnav_menu li{
  margin-bottom: 20px;
  font-size:30px;
  text-align: center;
}
.gnav_menu a{
  font-weight: bold;
  color:#fff;
}
.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

#panel-btn{
  display: inline-block;
  position: fixed;
  top:10px;
  right:10px;
  z-index:15;
  width: 40px;
  height: 40px;
  margin: 0;
  border-radius: 50%;
  background: #fff;
}
#panel-btn:hover{
  background: #fafafa;
}
#panel-btn-icon{
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 14px;
  height: 2px;
  margin: -1px 0 0 -7px;
  background: #000;
  transition: .2s;
}
#panel-btn-icon:before, #panel-btn-icon:after{
  display: block;
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 14px;
  height: 2px;
  background: #000;
  transition: .3s;
}
#panel-btn-icon:before{
  margin-top: -6px;
}
#panel-btn-icon:after{
  margin-top: 4px;
}
#panel-btn .close{
  background: transparent;
}
#panel-btn .close:before, #panel-btn .close:after{
  margin-top: 0;
}
#panel-btn .close:before{
  transform: rotate(-45deg);
  -webkit-transform: rotate(-45deg);
}
#panel-btn .close:after{
  transform: rotate(-135deg);
  -webkit-transform: rotate(-135deg);
}

/* topimage */
.topslider{
  background:url(../imgs/partners/topimage.jpg) no-repeat center center;
  background-size:cover;
  height:100vh;
  position: relative;
}
.topslider .logo{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
  text-align: center;
  z-index:2;
}
.topslider .logo img{
  width:70px;
  margin-bottom:15px;
}
.topslider .logo p{
  color:#fff;
}

/* section */
.section{
  position: relative;
  background:#fff;
  padding:0 0 50px 0;
}
.section_main{
  padding:0 15px 0 15px;
}
.section h2{
  font-size:45px;
  font-weight: bold;
  line-height:1;
  margin-bottom:20px;
}
.section h3{
  font-size:20px;
  font-weight: bold;
  margin-bottom: 20px;
  line-height: 1.2;
}
.section p{
  font-size:18px;
  line-height: 1.5;
  margin-bottom: 20px;
}
.section_main p:last-child{
  margin-border: 0;
}

.section .ph_right,
.section .ph_left{
  padding:0;
  margin-bottom: 20px;
}

/* message */
.topmessage{
  padding:15px 15px 0 15px;
  font-size:20px;
  line-height: 1.5;
}

#message{
  padding-top:70px;
}
#message .headtitle{
  padding:0 15px;
}

/* history */
#history{
}
#history .headtitle{
  padding:0 15px;
}



/* lineup */
#lineup .headtitle{
  background:url(../imgs/partners/headimg_lineup.jpg) no-repeat center center;
  background-size:cover;
  padding:70px 15px;
  color:#fff;
  margin-bottom:30px;
}

#lineup .item{
  background:#f2f2f2;
  padding:10px;
}
#lineup .item .item_ph{
  width:250px;
  margin:0 auto 00px auto;
}
#lineup .item .item_ph img{
  width:100%;
}
#lineup .item .item_ttl{
  text-align: center;
  font-size:30px;
  font-weight:bold;
}
#lineup .item p{
  margin-bottom:0;
}

/* partners */
#partners{
  background:#3D3D3D;
  padding:50px 0 50px 0;
  color: #fff;
}
#partners h2{
  padding: 0 15px;
}
#partners.section .contents{
  padding:0;
}
#partners .map{
  background:#3D3D3D;
  width:100%;
  overflow: auto;
  padding:15px;
}
#partners .map img{
  width:915px;
}
#partners .partners_list_ttl,
#partners .partners_list{
  text-align: center;
  padding:0 15px;
}
#partners .partners_list_ttl{
  margin:0 auto 5px auto;
}
#partners .partners_list_ttl span{
  display: inline-block;
  margin:0 auto;
  border-bottom:1px solid #fff;
  padding:0 5px 5px 5px;
  font-weight: bold;
}

/* contact */
#contact{
  padding:50px 0 70px 0;
}
#contact h2,
#contact p{
  text-align: center;
}

/* form */
.form_area{
  width:80%;
  margin:0 auto;
}
.form_area li{
  margin-bottom:15px;
}
.form_area input,
.form_area textarea{
  width:100%;
  margin-top:5px;
  padding:5px;
  background:#EDEDED;
  border:1px #CECECE solid;
  font-size:16px;
}
.form_area textarea{
  height:8em;
}
.form_area input[type="submit"]{
  -webkit-appearance: none;
  border-radius: 3px;
  background:#AD2020;
  font-family: 'Arsenal', sans-serif;
  font-size:20px;
  font-weight: bold;
  padding:20px;
  color: #fff;
}

form.sent .form_contact{
display:none;
}

/* profile */
#profile{
  background:#f2f2f2;
  padding-top:50px;
}
#profile h2{
  padding:0 15px;
}

#profile .outline{
  margin:0 15px 30px 15px;
  border-collapse: collapse;
}
#profile .outline th,
#profile .outline td{
  padding:10px 5px;
  border-bottom:1px dotted #999;
  vertical-align: middle;
}
#profile .outline th{
  text-align: left;
}

#g_map {
    width: 100%;
    height: 400px;
}

/* copyright */
.copyright{
  text-align:center;
  padding-bottom:50px;
  background:#f2f2f2;
}

/* clearfix */
.cf:after {
    content: "";
    display: block;
    clear: both;
}



/* 768px以上 */
@media screen and (min-width:768px) {
.sp_none{
  display: block;
}
.pc_none{
  display: none;
}
br.brsp{
  display: none;
}

.topslider{
  background-attachment: fixed;
}
.topmessage{
  font-size:20px;
  line-height: 1.5;
}

.section{
  padding:0 0 150px 0;
  width:100%;
}
.section h2{
  font-size:70px;
  text-align:center;
  margin-bottom: 50px;
}
.section h3{
  font-size:40px;
}
.section p{
  font-size:24px;
  margin-bottom:50px;
}
#history.section p.s_h_05{
  margin-bottom: 0;
}

.section .ph_right{
  width:550px;
  float:right;
  padding:0 0 10px 30px;
}
.section .ph_left{
  width:550px;
  float:left;
  padding:0 30px 10px 0;
}

.section .headtitle{
  background: no-repeat center center;
  background-size:cover;
  height:550px;
  margin-bottom: 50px;
  position: relative;
}
.section .headtitle h2{
  color:#fff;
  text-align: left;
  padding:0;
  margin:0 auto;
  position: absolute;
  top:50%;
  transform: translateY(-50%);
}
.section .section_main{
  max-width:1200px;
  margin:0 auto;
}

/* message */
#message{
  padding-top:0;
}
#message .headtitle{
  background-image: url(../imgs/partners/headimg_message.jpg);
}
#message .ph_right{
  width:650px;
}


/* history */
#history .headtitle{
  background-image:url(../imgs/partners/headimg_history.jpg);
}

/* lineup */
#lineup .headtitle{
  background-image:url(../imgs/partners/headimg_lineup.jpg);
}
#lineup .lineup_mainph{
  position:relative;
  z-index:5;
  margin:-80px 0 -80px 0;
  padding-bottom:0;
}
#lineup .item{
  width:80%;
  margin:0 auto;
  display: table;
  border-radius: 10px;
}
#lineup .item .item_ph,
#lineup .item .item_text{
  display: table-cell;
  vertical-align: top;
}
#lineup .item .item_ph{
  width:355px;
}
#lineup .item .item_text .item_ttl{
  font-size:40px;
  text-align: left;
}
#lineup .item .item_text p{
  font-size:22px;
}

/* partners */
#partners{
  padding:130px 0;
}
#partners p{
  max-width: 800px;
  margin-left:auto;
  margin-right: auto;
}
#partners .map{
  padding:0;
  margin:0 auto;
  overflow-x: auto;
  overflow-y: hidden;
  max-width:1200px;
}
#partners .map img{
  display:block;
  margin:0 auto;
}
#partners p.partners_list{
  margin-bottom: 0;
}


/* contact */
#contact.section{
  padding:130px 0;
}
#contact.section p{
  text-align: center;
}
.form_area{
  width:600px;
  font-size:20px;
}
.form_area input[type="submit"]{
  font-size:30px;
}
.form_area span.hissu{
  color:red;
  font-weight:bold;
}
/* 承諾 */
.form_area .wpcf7-acceptance{
  width:auto;
}

/* profile */
#profile{
  padding-bottom: 50px;
}
#profile .outline{
  width:700px;
  margin-left:auto;
  margin-right:auto;
}
#profile .outline th,
#profile .outline td{
  font-size:20px;
  padding:20px 10px;
}

}
