@charset "utf-8";

@media (max-width: 736px) { /* forSMP */
.spNone, br.pc{display: none !important;}
}
@media (min-width: 737px) { /* forPC */
.pcNone, br.sp {display: none !important;}
}


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

html, body, h1, h2, h3, h4, ul, ol, dl, li, dt, dd, p, div, span, img, a, table, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align:baseline;
}



body {
    font-family: "Noto Sans JP",'Meiryo',"ヒラギノ角ゴ Pro W3","ＭＳ Ｐゴシック","Osaka", sans-serif;
    font-size: 100%;
    background-image: linear-gradient(90deg, rgba(89, 173, 241, 1), rgba(207, 253, 157, 1));
    background-attachment: fixed; /* スクロールしても固定 */
    background-size: 400% 400%;
    animation: gradientAnimation 10s ease infinite;
}

@keyframes gradientAnimation {
    0% { background-position: 0% 50%; }
    50% { background-position: 100% 50%; }
    100% { background-position: 0% 50%; }
}

@media (max-width: 736px) { /* forSMP */
    body {
    
    } 
}


#siteWrapper {
    width: 100%;
    max-width: 1680px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
    box-shadow: 0 0 100px 0 rgb(253 168 205 / 30%);
    background-color: #fff;
}

@media (max-width: 736px) { /* forSMP */
    #siteWrapper {
        
    }
}

.inner{
    max-width: 100%;
    margin: auto;
}
.inner.L{width: 1400px;}
.inner.M{width: 1100px;}
.inner.S{width: 800px;}

.basePD        {padding: 5%;}
.c2 .basePD    {padding: 0;}






/* header */
header.top,
header.sub {
    position: absolute;
    z-index: 2;/* ヘッダ被せる場合はここを出す */
    width: 100%;
    height: 80px;
    background-color: rgb(255 255 255 / 30%);
}

header.top .lbox,
header.sub .lbox{
    padding: 10px;
}

header.top .logo,
header.sub .logo {
    float: left;
    padding: 0;
}

header.top .logo img,
header.sub .logo img {
    width: auto;
    height: 60px;
}

@media (max-width: 736px) { /* forSMP */
    header.top,
    header.sub {
        height: 60px;
    }

    header.top .lbox,
    header.sub .lbox {
        padding: 10px 0 0 10px;
    }
    
    header.top .logo,
    header.sub .logo {
        text-align: left;
        padding: 0;
    }
    header.top .logo img, 
    header.sub .logo img {
        width: auto;
        height: 40px;
    }    
}



/* g-navi */
@media (min-width: 737px) { /* forPC */
	nav#gnavi {

	}

	nav#gnavi ul {
        float: right;
        padding: 0 60px 0 0;
	}

	nav#gnavi ul li {
		float: left;
		padding: 0 20px;
        list-style: none;
        margin: 18px 0 0 0;
	}

	nav#gnavi ul li a {
		display: block;
		overflow: hidden;
		background-repeat: no-repeat;
		text-align: center;
		color: #181818;
		background-color: transparent;
		text-decoration: none;
		font-size: 16px;
		-webkit-transition: all 0.3s ease;
		-moz-transition: all 0.3s ease;
		-o-transition: all 0.3s ease;
		transition: all  0.3s ease;
        font-family: "Noto Sans JP";
        font-weight: 500;
	}
    
	nav#gnavi ul li a span {
		display: block;
        font-size: 11px;
	}    
    
	nav#gnavi ul li a:hover {
        color: #181063;
	}
    
    nav#gnavi ul li a.navi04 {
		background: #E60273;
        color: #fff;
        padding: 8px 25px;
        border-radius: 30px;
        position: relative;
        top: -7px; /* 数値を調整 */
	}   


}

@media (max-width: 736px) { /* forSMP */
    nav#gnavi {
            display: none;
        }
}


@media (max-width: 736px) { /* forSMP */
	.inner,
    .inner.M,
	.inner.S{width: 100%;}
    .basePD,
    .c2 .basePD{padding: 20px 10px 30px;}
}






footer.nor section {overflow:hidden; zoom: 1;}
footer.nor section:after {content: "."; display: block; height: 0px; clear: both; visibility: hidden;}
footer.nor nav {
	text-align: center;
	font-size: 13px;
}
footer.nor nav ul {
	left:50%;
	margin: 0 0 15px 0;
}
footer.nor nav ul li {
    display: inline-block;
    padding: 0 5px;
}
footer.nor nav ul li a {
    color: #fff;
    text-decoration: none;
}
footer.nor nav ul li a:hover {
    color: #fff;
    text-decoration: underline;
}

@media (max-width: 736px) {


}



footer.ber {
	font-size: 14px;
    text-align: center;
    color: #fff;
    padding: 30px;
    width: 100%;
    background-image: linear-gradient(90deg, rgba(61, 200, 194, 1), rgba(61, 156, 194, 1) 50%, rgba(197, 125, 233, 1));
}

footer.ber .logo {
    text-align: center;
    padding: 10px 0;
}

footer.ber .logo img {
    width: 140px;
    height: auto;
}

@media (max-width: 736px) { /* forSMP */
    footer.ber .logo img {
        width: 40%;
        height: auto;
    }

    a.btn{
        padding: 6px;
        font-size: 12px;
    }
    
    a.btn.m{ 
        width: 100%;
        font-size: 15px;
    }    
}





footer.nor section {overflow:hidden; zoom: 1;}
footer.nor section:after {content: "."; display: block; height: 0px; clear: both; visibility: hidden;}
footer.nor nav {
	text-align: center;
	font-size: 13px;
}
footer.nor nav ul {
	left:50%;
	margin: 0 0 15px 0;
}
footer.nor nav ul li {
    display: inline-block;
    padding: 0 5px;
}
footer.nor nav ul li a {
    color: #fff;
    text-decoration: none;
}
footer.nor nav ul li a:hover {
    color: #fff;
    text-decoration: underline;
}

@media (max-width: 736px) {


}


#pagetop{
  width: 50px;
  height: 50px;
  position: fixed;
  right: 0;
  bottom: 0!important;
  background: #000000;
  opacity: 0.3;
}
#pagetop a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  text-decoration: none;
}
#pagetop a::before{
  font-family: 'Font Awesome 5 Free';
  font-weight: 900;
  content: '\f106';
  font-size: 25px;
  color: #fff;
  position: absolute;
  width: 25px;
  height: 25px;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  margin: auto;
  text-align: center;
}



/* contents */
#sub #contents {
	margin: 0 auto;
}

#sub #contents.c1{
    width: 100%;
}

#sub #contents.c1 header.title{
    padding: 12px;
    background: #fff;
    margin: 0 0 30px 0;
    width: 100%;
}

#sub #contents.c1 main{
    margin: 0 auto;
    width: 100%;
    min-height: 100vh;
}

#sub #contents.c2 {
     display: flex;
}

#sub #contents.c2 .title {
	width: 100%;
    display: block;

}
#sub #contents.c2 main.nor {
    width: 65%;
    margin: 0;
    background: #fff;
    float: left;
}


#sub #contents main article.sub {
    margin: 0 0 50px 0;
    background:rgba(255,255,255,0.50);
    padding: 25px;
}









@media (max-width: 736px) { /* forSMP */
    #sub #contents.c2 main.nor {
        width: 100%;
        float: none;
    }
}



/* aside */
#sub #contents.c2 aside.nor {
    width: 25%;
    padding: 30px;
    background: #fff;
    float: right;
}

@media (max-width: 736px) { /* forSMP */
    #sub #contents {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
    }
    #sub #contents.c1 main.nor{
        margin: 0;
    }
    #sub #contents.c2 aside.nor {
        display: none;
    }
}

#top main.nor{
    max-width: 100%;
    margin: 0;
    padding: 0;
}



















/* drawer */
.drawer-menu {
    padding: 20px 0 0!important;
}

.drawer-menu li:first-child {
    margin: 10px 0 5px 0;
}

.drawer-menu li {
    margin: 0 0 5px 0;
}

.drawer-nav {
    background: #1e427f;
}
a.drawer-menu-item {
    color: #fff;
    font-size: 14px;
    font-weight: 500;
}
a.drawer-menu-item:hover {
    color: #DFE8FF;
    text-decoration: none;
}

.drawer-brand {
    color: #fff!important;
    text-align: center;
	font-family: 'Lobster Two', sans-serif;
    font-style: italic;
    font-size: 32px!important;
    text-shadow: 0px 0px 5px #D5D5D5, 0px 0px 20px #fff, 0px 0px 40px #fff, 0px 0px 60px #666, 0px 0px 80px #666;
}
.drawer-hamburger-icon,
.drawer-hamburger-icon:after,
.drawer-hamburger-icon:before{
    background-color:#1E649C;
}


@media (min-width: 737px) { /* forPC */
    .drawer-hamburger {
        padding: 30px;
        /*display: none!important;*/
    }
}

@media (max-width: 736px) { /* forSMP */
    .drawer-hamburger{
        display:block;
        padding: 18px;
    }
}






/* slider */
.sliderTOP {
	width: 100%;
    position:absolute;
    z-index: 1;
}

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

.sliderTOP .in {position: relative;}
.sliderTOP section {
  color: white;
  bottom: 32%;
  padding: 20px;
  width: 100%;
  text-align: center;
  font-size: 32px;
  font-weight: 600;
  text-shadow:0 0 10px #000000;
  position: absolute;
}
.sliderTOP section span {
  font-size: 24px;
  font-weight: 600;
  display: block;
}
.sliderTOP section a {color: #fff;}
@media (max-width: 736px) { /* forSMP */
    .sliderTOP section {
      bottom: 18%;
      padding: 10px;
      font-size: 18px;
    }
    .sliderTOP section span {
      font-size: 12px;
    }
}







/* crearfix */
header,
#sub #contents,
.pNor,
.caption,
.infobox ul li,
.infobox,
.sbox,
.inner,
.ulInfo,
ul.topInfo li
{overflow:hidden; zoom: 1;}

header:after,
#sub #contents:after,
.pNor:after,
.caption:after,
.infobox ul li:after,
.infobox:after,
.sbox:after,
.inner:after,
.ulInfo:after,
ul.topInfo li:after
{content: "."; display: block; height: 0px; clear: both; visibility: hidden;}

.clearfix {overflow:hidden; zoom: 1;}
.clearfix:after {
    content: "."; 
    display: block; 
    height: 0px; 
    clear: both; 
    visibility: hidden;
}


