/*
* @package Movable Type
* @subpackage Kouyou Printing
*/

@import url(//fonts.googleapis.com/earlyaccess/notosansjapanese.css);

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

a{
  -webkit-transition: all .3s;
  transition: all .3s;
}

html{font-size: 13px;}
@media (min-width: 992px) {
  html{font-size:16px;}
}

body {
  font-family: "游ゴシック", "Yu Gothic", "YuGothic", Arial, Helvetica, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Roboto, "Droid Sans", Meiryo, "ＭＳ Ｐゴシック","MS PGothic", sans-serif;
  text-align:left;
  line-height: 1.7;
  font-weight: 500;
  display:flex;
  min-height:100vh;
  flex-direction:column;
  justify-content: flex-start;
  background-color:#ffffff;
  color:#000000;
}
body > *{min-height: 0%;}
a:not(.btn), a:link:not(.btn) {color: #333333;}
a:visited:not(.btn) {color: #333333;}

main#page section.gray{background-color:#f1f1f1;}

/* layout
----------------------------------------------------------------------------------------------------*/
header{/* Permalink - use to edit and share this gradient: http://colorzilla.com/gradient-editor/#30bdc3+0,27bde1+50,19486a+100 */
  background: #30bdc3; /* Old browsers */
  background: -moz-linear-gradient(left, #30bdc3 0%, #27bde1 50%, #19486a 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(left, #30bdc3 0%,#27bde1 50%,#19486a 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to right, #30bdc3 0%,#27bde1 50%,#19486a 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#30bdc3', endColorstr='#19486a',GradientType=1 ); /* IE6-9 */ min-height:auto;
}
header > nav{flex-wrap:nowrap !important; align-items:stretch !important; padding:0 !important;}
header > nav h1{margin:0 65px 0 0 !important; display:flex; padding:0px !important; position: absolute; z-index:2;}
header > nav h1 img{max-width:250px !important; width: 100%;}

.fixed {
  position: fixed !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 10;
}
/*
.list-mv02{
opacity: 0;
}
.mv02{
opacity: 1.0;
}
*/

/* title
----------------------------------------------------------------------------------------------------*/
#title{position: relative; margin-bottom:5.5%;}
#title h2{position: absolute; top:0; bottom:15%; left:0; right:0; margin:auto; color:#ffffff; display:flex; justify-content:center; align-items:center; flex-direction: column;font-size: 1.5rem; font-weight:600; letter-spacing:.05em; padding:15px;}
#title h2 > small{display:block; margin-top:5px; font-size:55%; letter-spacing:.03em;}
#title > div > img{width:20%; position: absolute; top:62%; left:0; right:0;}
#title img.bgcut{position: absolute; bottom:0; left:0; right:0;}
@media (min-width: 576px) {
  #title > div > img{width:18%;}
  #title h2{font-size: 2.5rem; bottom:18%;}
}
@media (min-width: 768px) {
  #title > div > img{width:12%;}
}
@media (min-width: 992px) {
  #title > div > img{width:12%;}
}
@media (min-width:1200px) {
  #title h2 > small{margin-top:12px;}
  #title > div > img{width:9%;}
}

.container{max-width: 1280px;}

/* breadcrumb
----------------------------------------------------------------------------------------------------*/
.breadcrumb{background-color:transparent; padding:0; margin:0 0 3rem;}
.breadcrumb > li + li:before { content: ">"; margin:0 3px; display:inline-block;}
/* .breadcrumb > li + li:before { content: "";margin:0 3px; display:inline-block;}*/
.breadcrumb a{text-decoration:none;}
.breadcrumb a, .breadcrumb a:visited{color: #333333!important;}

/* return_top
----------------------------------------------------------------------------------------------------*/
#page_top { position: fixed; display:block; bottom:10px; right:10px; z-index:15;}
main #page_top a{ display:flex; justify-content:flex-end; align-items:center; border:none !important;}
#page_top img{width:65px;}

div.foot_banner{display:flex; position: fixed; bottom:0; width:100%;}
div.foot_banner > a{flex:1;}


/* footer
----------------------------------------------------------------------------------------------------*/
footer{margin-top:auto; /*margin-bottom:80px;*/}
footer img.wave{background-color:#fafafa;}
footer section#mainfooter div.wrap{padding: 0; background-color:#d3ecf3;}

footer section#mainfooter{background:#ffffff url(../img/wave-bg.png) repeat-x center top; background-size:800px; padding-top:20px;}
main#index + footer section#mainfooter{background:#fafafa url(../img/wave-bg.png) repeat-x center top; background-size:1000px; padding-top:20px;}

footer .f_menu > div{padding:20px 15px; border-bottom:1px solid #999999; flex:1;}
footer .f_menu > div:first-child img{max-width:280px; width:100%;}
footer .f_menu > div:first-child p{font-size:.85rem;}
footer .f_menu > div:last-child{border:none; padding-bottom:0;}
footer .f_menu strong{margin-bottom:8px; display:block;}
footer .f_menu ul:not(.social){list-style-type:none; margin:0; padding:0;}
footer .f_menu ul:not(.social) > li{position: relative;	padding-left:15px; margin-bottom:5px; font-size:.7rem;}
footer .f_menu ul:not(.social) > li:before{
  content:'';
  display:block;
  position:absolute;
  box-shadow: 0 0 2px 2px rgba(255,255,255,0.2) inset;
  top:.6em;
  left:2px;
  height:0;
  width:0;
  border-top: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid transparent;
  border-left: 5px solid #000000;
}
ul.social{display:flex; justify-content:center;}
ul.social > .list-inline-item:not(:last-child) {
  margin-right: .9rem;
}
ul.social li a {
  display: flex;
  justify-content:center;
  align-items:center;
  background-color: #1b2a88;
  height: 40px;
  width: 40px;
  border-radius: 100%;
  font-size: 20px;
  line-height: 40px;
  color: #fff !important;
  outline: 0;
  -webkit-transition: all .3s;
  -moz-transition: all .3s;
  transition: all .3s;
}
ul.social li a:hover{text-decoration:none;}
ul.backnamber{display:flex; flex-wrap:wrap;}
ul.backnamber > li{flex-basis:calc(50% - 10px); max-width:calc(50% - 10px); margin-right:10px; font-size:.9rem;}
ul.backnamber > li:nth-child(even){margin-right:0;}

footer h2{text-align:center; margin-bottom:30px;font-size:1.8rem;}
footer h2 > small{display:table; border-bottom:double 4px #000000; margin:10px auto 0; padding:0 5px 5px; font-size: 63%;}
footer div.wrap{padding: 60px 0px;}

@media (min-width:1200px) {
  footer .f_menu ul:not(.social) > li{font-size:.9rem;}
}


#sponser_rec div.wrap{background: url(../img/index-bg01.png) no-repeat center center; background-size:cover;}
#sponser_rec h2,#sponser_rec h2 small{color:#ffffff; border-color:#ffffff !important;}
#sponser_rec .bgc{background-color:#ffffff; padding:30px;margin-bottom:0;}
#sponser_rec .bgc .lead{font-size:1.03rem;}

div.organizer{display:flex; flex-wrap:wrap;}
div.organizer > div{display:flex; justify-content:center; align-items:center;}
div.organizer > div{flex-basis:calc(50% - 20px) ; max-width:calc(50% - 20px); margin:10px;}
div.organizer > div img{width:100%;}
footer div.copyright{font-size:90%; padding:30px 0 50px;}


/* add by soraha media query
----------------------------------------------------------------------------------------------------*/
@media (min-width: 576px) {
  div.foot_banner{display:none;}
}

@media (min-width: 576px) {
  footer{margin-bottom:0;
  }
}

@media (min-width: 768px) {
  ul.social{justify-content:flex-start;}
  footer section#mainfooter div.wrap{padding:40px 0px;}
  footer .f_menu{display:flex;}
  footer .f_menu > div{padding:10px 45px; border:none; border-right:1px solid #999999;}
  footer .f_menu > div:first-child{flex-basis:32%; max-width:32%; padding-left:0;}
  footer .f_menu > div:last-child{flex-basis:35%; max-width:35%; padding-right:0; padding-bottom:15px;}
}

@media (min-width:992px) {
  #sponser_rec .bgc{padding:50px;}
}

@media (max-width: 991px) {
  #social div.wrap{padding:20px 5px 15px 5px !important;}
  #social .sns_area{padding:0 40px;}
}


@media (min-width:992px) {
  div.organizer{flex-wrap:nowrap;}
}

@media (min-width: 992px) {
  main#index footer section#mainfooter{background:#fafafa url(../img/wave-bg.png) repeat-x center top; background-size:1000px; padding-top:20px;}
}

@media (min-width:1200px) {
  header > nav h1 img{max-width:300px !important;}
  header > nav h1{margin:0 !important;}
  header{background:#d3ecf3 !important;}
}

@media (max-width: 991px) {
  /*協賛企業タイトル微調整 */
  footer h2{font-size:1.4em; margin-top:0px; }
  footer h2 > small{font-size: 63%;}
  footer div.wrap{padding:40px 0px;}
  #sponser_rec .bgc{background-color:#ffffff; padding:15px;}
  #sponser_rec a.btn{font-size:110%; width:100% !important;}
  footer section#mainfooter{background-size:380px !important; padding-top:10px !important;}
  footer section#mainfooter .container{padding:0;}
  footer section#mainfooter img.footer_logo{width:150px;}
  footer section#mainfooter ul.social  li a{width:20px !important; height:20px !important; font-size:10px;}
  footer section#mainfooter strong.h6{font-weight:normal !important; font-size:100%;}
  footer section#mainfooter div.f_menu div{padding: 15px 20px 0 20px !important;}
  footer section#mainfooter div.f_menu div ul{margin-top:0; padding-bottom:10px;}
  footer .f_menu ul:not(.social) > li:before{
    top:.6em;
    border-top: 2px solid transparent;
    border-right: 2px solid transparent;
    border-bottom: 2px solid transparent;
    border-left: 3px solid #000000;
  }
  footer div.copyright{font-size:88%; padding:10px 0 5px 0 !important; margin-bottom:-10px;}
  #page_top{width:65px !important;}
}
