/*! HTML5 Boilerplate v5.0 | MIT License | http://h5bp.com/ */

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:300,400,500,700&display=swap&subset=japanese');

html {
    color: #FFF;
    font-size: 1em;
    line-height: 1.6;
}

::-moz-selection {
    background: #b3d4fc;
    text-shadow: none;
}

::selection {
    background: #b3d4fc;
    text-shadow: none;
}

hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #ccc;
    margin: 1em 0;
    padding: 0;
}

audio,
canvas,
iframe,
img,
svg,
video {
    vertical-align: middle;
}

fieldset {
    border: 0;
    margin: 0;
    padding: 0;
}

textarea {
    resize: vertical;
}

.browserupgrade {
    margin: 0.2em 0;
    background: #ccc;
    color: #000;
    padding: 0.2em 0;
}

* {
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}
#wrapper_all img{
	width:100%;
	max-width:100%;
	height:auto;	
}

.fw_bld{
	font-weight:bold;
}
.fw_nom{
	font-weight: normal;
}
.f_min{
}
.fl_l{float:left;}
.fl_r{float:right;}
@media only screen and (max-width: 800px) {
.fl_l{float: none;}
.fl_r{float:none;}
}
.fs_big1{ font-size:114.29%;}
.fs_big2{ font-size:128.57%;}
.txa_c{text-align:center;}
.txa_l{text-align: left;}
.txa_r{text-align: right;}


/* ==========================================================================
   Author's custom styles
   ========================================================================== */

body {
  font-family: 'Noto Sans JP','Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3','メイリオ', 'Meiryo','ＭＳ ゴシック',sans-serif;
  height: 100%;
  width: 100%;
  background:#79816c;
	font-weight:300;
}
@media only screen and (max-width: 800px) {
body {
	font-weight:300;
}
}

.en {
 }

h1, h2, h3, h4, h5, h6, ul, ol, dl, p {
  margin-top: 0;
 }

h1, h2, h3, h4, h5, h6 {
 }

ul, ol {
  list-style: none;
  padding: 0;
 }

p, ul, ol {
	margin:0;
 }
 @media only screen and (max-width: 800px) {
    p, ul, ol {
       } }

@media only screen and (max-width: 800px) {
  h1, h2, h3, h4, h5, h6 {
     } }
a:link, a:visited {
  color: #222;
 }

a:hover {
  color: #999;
 }
.fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}
#wrapper_all{
	position:relative;
}
#wrapper{
	width: 100%;
	height: 100%;
	background-color:#79816c;
}
:focus {
    outline: none;
}
img {
    outline: none;
}
#l-header_wrap a,
.footer a,
#wrapper a img {
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out; }

#l-header_wrap a:hover,
.footer a:hover,
#wrapper a:hover img {
  opacity: .8; }
a.mover_btn{
  opacity: 1;
-webkit-transition: opacity 0.2s ease-out;
-moz-transition: opacity 0.2s ease-out;
-ms-transition: opacity 0.2s ease-out;
transition: opacity 0.2s ease-out;}
a.mover_btn:hover{
  opacity: .75 !important;
}


.block_contens{
	max-width:1090px;
	margin:0 auto;
	padding:0 25px;
	position:relative;
	height:100%;
}

@media screen and (max-width: 800px) {
#wrapper{
}
.block_contens{
	width:100%;
	max-width: none;
	margin:0 auto;
	padding:0 25px;
}
}


/*****ヘッダー****/
#l-header_wrap{
	position: relative;
    top: 0px;
    left: 0px;
    width: 100%;
    height: auto;
	z-index:555;
	line-height:1;
}
#l-header_wrap_inn{
}
#l-header{
	margin:0;
	height: auto;
	padding:0;
}

#l-header .header_inn{
	padding-top:65px;
}

#l-header .header_inn img{
	height: auto;
	margin:0;
	padding:0;
}
.logo_header{
	max-width:300px;
	margin:0 auto;
}
.catch_header{
	width:90%;
	max-width:1090px;
	margin:3em auto 3em;
	text-align:center;
	font-size:0.875em;
	letter-spacing:0.1em;
	line-height:1.6;
}

@media screen and (max-width:800px){
#l-header_wrap{
}
#l-header_wrap_inn{
}
#l-header{
	height:100%;
	width:100%;
}
#l-header .header_inn{
	height: auto;
	width:100%;
	display:table;
	padding:35px 0px 0px;
}
.logo_header{
	width:38%;
}
.catch_header{
	width:98%;
	margin:1.7em auto 2em;
	font-size:0.625em;
	letter-spacing: normal;
}
}



/*****コンテンツ****/
.main_wrap{

}



/***** section ****/

.sec_concept{
background:#ddd url(../images/fig_concept_pc.jpg) no-repeat center center;
background-size:cover;
}
.sec_concept_inn{
	padding:160px 0 170px;
}
.ttl_concept{
	max-width:440px;
}
.read_concept{
	max-width:800px;
}

@media screen and (max-width: 800px) {
.sec_concept{
	background-image:url(../images/fig_concept_sp.jpg);
}
.sec_concept_inn{
	padding:20% 0 20%;
}
.ttl_concept{
	width:56%;
}
}


.sec_about{
	padding:100px 0;
}
.sec_about_inn{
	padding:0 0 100px;
}
.photo_about_01{
	float:left;
	width:48.1%;
	max-width:500px;
}
.photo_about_prof{
	float:right;
	width:48.1%;
	max-width:500px;
}
.photo_about_read{
	float:right;
	width:48.1%;
	max-width:500px;
}
.photo_about_name{
	font-size:3.125em;
	margin-top:-0.25em;
	letter-spacing:0.05em;
}
.photo_about_name span{
	font-size:0.4em;
	margin-left:0.5em;
}
.photo_about_pos{
	font-size:1.25em;
	margin-top:0.5em;
	letter-spacing:0.05em;
}
.photo_about_read{
	margin-top:2.0em;
}
.photo_about_txt{
	font-size:1.25em;
	letter-spacing:0.05em;
}
.photo_about_man{
	font-size:0.875em;
	margin-top:3.5em;
}
.photo_about_btn{
	margin-top:2.5em;
}
.photo_about_btn2{
	margin-top:1.2em;
}
.photo_about_btn a{
	color:#FFF;
	text-decoration:none;
	border:solid 1px #FFF;
	display:block;
	padding:0.8em 1.0em;
	font-size:1.0em;
}
.photo_about_btn a:hover{
	background:rgba(255,255,255,0.15);
}

.arrow{
    position: relative;
    display: inline-block;
    padding: 0 0 0 16px;
    color: #000;
    vertical-align: middle;
    text-decoration: none;
}
.arrow::before,
.arrow::after{
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    margin: auto;
    content: "";
    vertical-align: middle;
}
.arrow::before{
    right: 16px;
    width: 10px;
    height: 10px;
    border-top: 1px solid #FFF;
    border-right: 1px solid #FFF;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.sec_about_inn2{
	padding:0 0 0px;
	position:relative;
}
.photo_about_02{
	float: right;
	width:48.1%;
	max-width:500px;
}
.photo_about_place{
	float:left;
	width:48.1%;
	max-width:500px;
     position:absolute;
     bottom:0;}
.juku_logo_under{
	max-width:182px;
}
.photo_about_add{
	font-size:1.125em;
	margin-top:1.5em;
	letter-spacing:0.05em;
}
.photo_about_acc{
	font-size:1.125em;
	margin-top:1.5em;
	letter-spacing:0.05em;
}
.photo_about_acc2{
	font-size:0.875em;
	letter-spacing:0.05em;
}
@media screen and (max-width: 800px) {
.sec_about{
	padding:4em 0;
}
.sec_about_inn{
	padding:0 0 3em;
}
.photo_about_01{
	float: none;
	width: auto;
	max-width: inherit;
	margin-left:-25px;
	margin-right:-25px;
	margin-top:2.0em;
}
.photo_about_prof{
	float: none;
	width:100%;
	max-width: inherit;
}
.photo_about_read{
	float: none;
	width:100%;
	max-width: inherit;
}
.photo_about_name{
	font-size:2.125em;
	margin-top:-0.25em;
}
.photo_about_name span{
	font-size:0.4em;
	margin-left:0.5em;
}
.photo_about_pos{
	font-size:1.0em;
	margin-top:0.5em;
}
.photo_about_read{
	margin-top:2.0em;
}
.photo_about_txt{
	font-size:1.0em;
}
.photo_about_man{
	font-size:0.75em;
	margin-top:2.5em;
}
.photo_about_btn{
	margin-top:2.0em;
}
.photo_about_btn2{
	margin-top:1.0em;
}
.photo_about_btn a{
	font-size:0.875em;
}


.sec_about_inn2{
	padding:0 0 0px;
	position: static;
}
.photo_about_02{
	float: none;
	width: auto;
	max-width: inherit;
	margin-left:-25px;
	margin-right:-25px;
}
.photo_about_place{
	float: none;
	width:100%;
	max-width: inherit;
     position: static;
     bottom:0;
	 margin-top:2.5em;
}
.juku_logo_under{
	width:30%;
	max-width:182px;
}
.photo_about_add{
	font-size:0.875em;
	margin-top:1.5em;
}
.photo_about_acc{
	font-size:0.875em;
	margin-top:1.5em;
}
.photo_about_acc2{
	font-size:0.75em;
}
}

.map_wrap{
  margin: 0 auto;
  position: relative;
  width: 100%;
  height:800px;
}
#map{
  margin: 0 auto;
  position: relative;
  width: 100%;
  height:800px;
}
.maps {
  margin: 0 auto;
  position: relative;
  width: 100%;
  height:800px;
}
.maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;

  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);
  filter: grayscale(100%);
}

@media screen and (max-width: 800px) {
.map_wrap{
  margin: 0 auto;
  position: relative;
  width: 100%;
  height:auto;
  padding-top: 120.00%;
}
#map{
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}

.maps {
  margin: 0 auto;
  position: relative;
  width: 100%;
  height:auto;
  padding-top: 56.25%;
}
.maps iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100% !important;
  height: 100% !important;
}
}





.footer{
	color:#FFF;
	text-align:center;
	padding:20px 0;
	font-size:0.625em;
	letter-spacing:0.05em;
}
.footer a{
	color:#FFF;
	text-decoration:none;
}
.footer a:hover{
	text-decoration:underline;
}

@media screen and (max-width: 800px) {

}


/* ==========================================================================
   Helper classes
   ========================================================================== */
span.supText {
font-size: 75.5%;
vertical-align: top;
position: relative;
top: -0.1em;
}
.fs_small{
font-size: 75.5%;
}

a.link_def{
	color:#385ff0;
}

.fs_small01{
	font-size:0.75em;
}
.bld{
	font-weight:bold;
}
.mb10{
	margin-bottom:1.0em;
}

.mobile {
  display: none; }
  @media only screen and (max-width: 800px) {
    .mobile {
      display: block; } }

@media only screen and (max-width: 800px) {
  .desktop {
    display: none; } }
.hidden {
    display: none !important;
    visibility: hidden;
}
.pc-only{ display:inline;}
.sp-only{ display:none;}
.pc-b-only{ display: block;}
.sp-b-only{ display:none;}
@media screen and (max-width: 800px) {
.pc-only{ display:none;}
.sp-only{ display:inline;}
.pc-b-only{ display: none;}
.sp-b-only{ display:block;}
}
.visuallyhidden {
    border: 0;
    clip: rect(0 0 0 0);
    height: 1px;
    margin: -1px;
    overflow: hidden;
    padding: 0;
    position: absolute;
    width: 1px;
}

.visuallyhidden.focusable:active,
.visuallyhidden.focusable:focus {
    clip: auto;
    height: auto;
    margin: 0;
    overflow: visible;
    position: static;
    width: auto;
}

.invisible {
    visibility: hidden;
}

.clearfix:before,
.clearfix:after {
    content: " ";
    display: table;
}

.clearfix:after {
    clear: both;
}

.clearfix {
    *zoom: 1;
}

/* ==========================================================================
   Print styles
   ========================================================================== */

@media print {
    *,
    *:before,
    *:after {
        background: transparent !important;
        color: #000 !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }

    a,
    a:visited {
        text-decoration: underline;
    }

    a[href^="#"]:after,
    a[href^="javascript:"]:after {
        content: "";
    }

    pre,
    blockquote {
        border: 1px solid #999;
        page-break-inside: avoid;
    }

    thead {
        display: table-header-group;
    }

    tr,
    img {
        page-break-inside: avoid;
    }

    img {
        max-width: 100% !important;
    }

    p,
    h2,
    h3 {
        orphans: 3;
        widows: 3;
    }

    h2,
    h3 {
        page-break-after: avoid;
    }
	#g_navi_wrap{
		display:none;
	}
	#l-header_wrap{
	position: static;
	}
	.main_wrap{
		padding:0;
	}
}