@charset "UTF-8";
html,body {margin: 0; padding: 0px; }
* { box-sizing: border-box; }
/* print setting */
@media print {
body {
-webkit-print-color-adjust: exact;
top:0 !IMPORTANT;
left:0 !IMPORTANT;
width:200mm !IMPORTANT;
height:290mm !IMPORTANT;
}
}

@media screen and (min-width: 680px){   
  .pc { display:block; }
  .sp { display:none; }
}
@media screen and (max-width: 680px){   
  .pc { display:none; }
  .sp { display:block; }
}

/* all
-------------------- */
html, body {
  background-color: #fff;
	margin: 0;
  color: #333;
  font-family: -apple-system, BlinkMacSystemFont, Roboto, "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;
	-webkit-font-smoothing: antialiased;
  font-feature-settings : "palt";
  background: url("../img/bg.jpg") top center;
}
b, strong, .bold{
	font-family: -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI semibold", "Helvetica Neue", HelveticaNeue, YuGothic, "Yu Gothic", "Segoe UI", Verdana, Meiryo, sans-serif;
}

a:link, a:visited { color: #333; transition: 0.3s; }
a:hover, a:active { color: #fa162d; }
a img:hover,
div#logo:hover {
  opacity:0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
	-moz-opacity:0.7;
	-khtml-opacity: 0.7;
	filter: alpha(opacity=70);
	-ms-filter: "alpha(opacity=70)";
  -webkit-transition: 0.3s ease-in-out;  
	-moz-transition: 0.3s ease-in-out;  
	-o-transition: 0.3s ease-in-out;  
	transition: 0.3s ease-in-out;
}

p {line-height: 1.7;}
.ind { text-indent: 1em; }
img { height: auto; max-width: 100%; box-sizing: border-box; }
img.lp { border: 1px solid #a9a9a9; }
figure {text-align: center;}
.middle img{ vertical-align: middle; }
ul li { list-style-type: none; }

/*YouTubeレスポンシブサイズ*/
.youtube {position: relative;max-width: 100%;padding-top: 56.25%;}
.youtube iframe {position: absolute;top: 0;right: 0;width: 100%;height: 100%;}

/*リスト 黒丸 */
ul.disc li {list-style-type: disc; line-height: 1.7; }
ul.disc li span {color: #333;}

/* text-layout */
.txt_left { text-align: left!important; word-wrap: break-word; }
.txt_right { text-align: right!important; word-wrap: break-word; }
.cnt { text-align: center; }
.no-wrap { display: inline-block; }
.bold {font-weight: bold; font-size:1.1rem;}

.strong{ font-weight: bold; }

/*別窓アイコン表示*/
.blank { background: url(img/blank.png) right center no-repeat; padding: 0 20px 0 0;}

p {text-align: justify;text-justify: inter-character;}

.frame{border: 1px solid #999; border-radius: 15px; padding:4%; margin: 4%;}

/* トップページへボタン
-------------------- */
.pagetop {width: 72px;height: 72px; position: fixed; z-index: 1000;}
.pagetop a {
	width: 72px;
	height: 72px;
	background-color: #ec3c97;
	color: #fff;
	font-size: 0.8rem;
	text-align: center;
	border-radius: 50%;
	-o-border-radius: 50%;
	-ms-border-radius: 50%;
	-moz-border-radius: 50%;
	-webkit-border-radius: 50%;
	line-height: 1.2;
	display: block;
	text-decoration: none;
	padding-top: 12px;
	transition: all 300ms 0s ease;
}
.pagetop a::before {
	content: '▲';
	display: block;
	color: #fff;
	margin-bottom: 4px;
}
.pagetop a:hover { background-color: #5a3a4b; transition: all 300ms 0s ease;}


/* wrapper
-------------------- */
div#wrapper {
  width: 100%;
  height: auto !important;
  height: 100%;
  min-height: 100%;
  position: relative;
}

/* header
-------------------- */
div#header { width: 100%; padding: 2% 0; background: #fff; position: fixed; z-index: 1000; }
/* logo
-------------------- */
div#logo {
	max-width: 350px;
	min-width: 20%;
	margin: 0 auto;
}


#container { height: 100%; padding: 0 6% 6%; width: 80%; background: #fff; margin: 0 auto;}

/*movieレスポンシブサイズ */
div.movie {position:relative; width: 100%; max-width: 1200px; margin: 0 auto; padding-top: 150px;}
div.movie::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 56.25%;
}

div.movie iframe{
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
}

/* section
-------------------- */
section {height:100%;overflow: hidden;}
section.about {margin-bottom: 6%!important;}

/* title
-------------------- */
h1 { font-size: 130%;}
h2 { font-size: 120%;}
.blue {color:#357BF1;}
h3 {text-align: center; margin-bottom: 20px; padding: 10px; font-size: 200%; }
.lightup { 
background: linear-gradient(transparent 60%, #ffce68 40%); display:inline; padding: 0 20px;}
.Line-orange {border-bottom: 3px solid #ffce68;}
p { margin-bottom: 10px; }

/* box
-------------------- */
div.content_box { 
max-width: 960px; margin: 2% auto 8%; padding: 4%; 
border:6px solid #ec3c97;
border-radius: 40px;
}
div.benefit_box { }
div.box { border:3px solid #1BB7CA; }

/* About Section 
---------------------------------------------*/
section.about {
	max-width: 960px;
	margin: 0 auto;
	margin-bottom: 90px;
	padding: 0;
	background-color: #eee;
	margin-top: 0px;
	overflow: hidden;
}
.contents_about {padding: 20px 45px;}
.about_list { margin: 25px 60px;padding: 20px 50px;background: #fff;}


dl#month {		}
dl#month dt,
dl#month dd {margin-bottom:5px; line-height: 1.7}
dl#month dt {font-size:120%;font-weight:bold;}
dl#month dt img { margin-right: 5px;}
dl#month dd {font-size:100%;}

#contact {max-width: 500px; margin: 0 auto; padding: 40px 0 150px; }

/* footer
-------------------- */
footer#footer {
  width: 100%;
  margin-top: 15%;
  background-color: #666;
  text-align: center;
	padding-top: 24px;
	padding-bottom: 24px;
  position: absolute;
  bottom: 60px;
}
footer.footer_inner { height: 100%;}
footer#footer small { color: #fff; font-size: 0.8rem;}

.menu {
      display: none;
      width: 100%;
      background: #666;
      position: fixed;
      bottom: 0;
      z-index:999;
    } 
    
.mgb20 {margin-bottom: 2%;} .mgb40 {margin-bottom: 4%!important;} .mgb60 {margin-bottom: 6%!important;}


/* --- clearfix --- */
.clearFix:after {
content: ".";
display: block;
height: 0;
clear: both;
visibility: hidden;
}