@charset "utf-8";
/* CSS Document */

html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block; }

ul {
  list-style: none; }

blockquote, q {
  quotes: none; }

blockquote:before, blockquote:after, q:before, q:after {
  content: none; }



ins {
  background-color: #ff9;
  color: #000;
  text-decoration: none; }

mark {
  background-color: #ff9;
  color: #000;
  font-style: italic;
  font-weight: bold; }

del {
  text-decoration: line-through; }

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0; }

input, select {
  vertical-align: middle; }

body {
	font-size: 24px;
        line-height: 1.0;
        -webkit-text-size-adjust: 100%;
        background-color:#c9f0e9;
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
}
h1{
	letter-spacing: 2px;
	font-size:20px;
}

h3{     
	border-style: solid;
	border-top-color:#c0c0c0;
	border-right-color:#000080;
	border-bottom-color:#fccf03;
	border-left-color:#03a5fc;
	border-width:1px 1px 5px 10px;
	margin: 5px 0px 0px 0px;
	padding: 20px 15px 15px 20px;
	padding-left: 13px;
	clear:left;
        font-size:2.1vw;
        rt:0.4vw;
        background-color: #03a5fc;
        color: #ffffff;
}

h3 a{
  color: #ffffff;
  text-decoration: underline;
}

ruby[data-ruby]
{
    position: relative;
}
ruby[data-ruby]::before
{
    content: attr(data-ruby);
    position: absolute;
    line-height: 100%;
    text-align: center;
    left: -3em;
    right: -3em;
    transform-origin: bottom center;
    /* ルビの文字サイズを親文字に対する比率で指定 */
    transform: scale(0.2);
    /* 100%を越える部分が親文字とルビとのスペースになる。単位は親文字に対する比率 */
    bottom: 105%;
}

#navi2{
	margin: 5px 0px 5px 5px;
}

#main2{
	width: 93%;
	margin: 0vw 0vw 2vw 3vw;
	background-color: #;
	float: left;
	padding-left:10px;
}



a:visited {
}

a:hover {
  text-decoration: none;
  opacity: 0.7;
}

a:focus {
  text-decoration: none;
  opacity: 0.7;
}

a:active {
  text-decoration: none;
  opacity: 0.7;
}

/* fontsize */

.text10 {
  font-size: 71.4285714286%; }

.text11 {
  font-size: 78.5714285714%; }

.text12 {
  font-size: 85.7142857143%; }

.text13 {
  font-size: 92.8571428571%; }

.text14 {
  font-size: 100%; }

.text15 {
  font-size: 107.1428571429%; }

.text16 {
  font-size: 114.2857142857%; }

.text17 {
  font-size: 121.4285714286%; }

.text18 {
  font-size: 128.5714285714%; }

.text19 {
  font-size: 135.7142857143%; }

.text20 {
  font-size: 142.8571428571%; }

.text21 {
  font-size: 150%; }

.text22 {
  font-size: 157.1428571429%; }

.text23 {
  font-size: 164.2857142857%; }

.text24 {
  font-size: 171.4285714286%; }

.text25 {
  font-size: 178.5714285714%; }

.text26 {
  font-size: 185.7142857143%; }

ul.inner li,
td.inner{
	font-size:100% !important;
}


.bold{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
}

/* image */

img{
	vertical-align:bottom;
	line-height:1.0;
}
.clear{
	clear:both;
}

section,
.clearfix,
.fbox,
#contents,
#column,
.item-wrap{
	display: inline-block;
}
* html section,
* html .clearfix,
* html .fbox,
* html #contents,
* html #column,
* html .item-wrap{
	height: 1%;
}

section,
.clearfix,
.fbox,
#contents,
#column,
.item-wrap{
	display: block;
}

/* float */

.fr{
	float:right;
}

.fl{
	float:left;
}

.img_r{
	float:right;
	margin:0 0 15px 15px;
}
.img_l{
	float:left;
	margin:0 15px 15px 0;
}

.img_l + .img_r{
	margin-left:0;
}

.img_r + .img_l{
	margin-right:0;
}

.img_l .caption,
.img_r .caption{
	text-align:center;
	margin-top:5px;
        font-size: 92.8571428571%;
}


.float_text{
	overflow:hidden;
}




ul.fbox li{
	float:left;
	display:inline;
}

.in-block{
	letter-spacing:-.40em;
}

.in-block li,
.in-block dt,
.in-block dd{
	display:inline-block;
	*display:inline;
	*zoom:1;
	letter-spacing:normal;
	vertical-align:top;
}
#contents{
	position:relative;
	overflow:hidden;
	margin-bottom:30px;
}
@media screen and (min-width: 1020px) {
#contents{
	margin-left:20px;
}
}
@media screen and (max-width: 1019px) {
#contents{
	padding-top:30px;
	margin-bottom:50px;
}

}



.frame{
	position:relative;
	max-width:1130px;
	margin:0 auto;
}
.frame2{
	position:relative;
	max-width:970px;
	margin:0 auto;
}

.frame:after,
.frame2:after{content: ""; display: block; clear: both;}
.oldie .frame,
.oldie .frame2{ zoom: 1; }

@media screen and (max-width: 1199px) {

#contents .frame{
	margin:0 3%;
}

}



/* ==========================================================================
   home-p
   ========================================================================== */

/*
===== top =====
*/

#home-top{
	position:relative;
	padding:25px 0 1px 0;
	margin-bottom:0px;
}
/* menu */
#home-top .top-menu{
	margin:0px 0;
	text-align:right;
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
        font-size: 107.1428571429%;
}

#home-top .top-menu li{
	display:inline-block;
	margin-right:5px;
}
#home-top .top-menu li:after{
	content:"|";
	display:inline-block;
}
#home-top .top-menu li:last-child{
	margin-right:0;
}
#home-top .top-menu li:last-child:after{
	display:none;
}

#home-top .top-menu a{
	display:inline-block;
	margin-right:15px;

}
#home-top .top-menu li:last-child a{
	margin-right:0;
}


@media screen and (max-width: 767px) {
#home-top .top-menu{
	margin:0px 5% 0px 0;
        font-size: 75.7142857143%;
}
#home-top .top-menu li{
	margin-right:5px;
}
#home-top .top-menu a{
	margin-right:5px;

}

}

@media screen and (max-width: 819px) {
#home-top .nav2{
	margin-bottom:50px;
}

}
@media screen and (max-width: 480px) {
#home-top .top-menu{
	margin-bottom:0px;
}

#home-top .top-menu li{
	display:block;
	margin:0 0 5px 0;
}
#home-top .top-menu li:after{
	display:none;
}

}

#guidebox{
        width: 93%;
        display: block;
        height: auto;
	margin: 2vw 4vw 0vw 4vw;
	padding:0vw 2vw 0vw 2vw;
	-webkit-border-bottom-right-radius: 65px;
	-moz-border-radius-bottomright: 65px;
	border-bottom-right-radius: 65px;
	-webkit-border-top-left-radius: 65px;
	-moz-border-radius-topleft: 65px;
	border-top-left-radius: 65px;
	clear:left;
        background-color: #ffffff;
}
 
#guidep{        
	margin: 0vw 0vw 0vw 0vw;
        color: #2758c2;
        font-weight: 800;
        font-size: 24px;
}

#guidep0 a{        
	margin: 0vw 0vw 0vw 0vw;
        font-weight: 800;
        font-size: 20px;
        color: #2758c2;
}

#guidebox0{
        width: 93%;
        display: block;
        height: auto;
	margin: 2vw 4vw 0vw 4vw;
	padding:0vw 2vw 0vw 2vw;
	-webkit-border-bottom-right-radius: 65px;
	-moz-border-radius-bottomright: 65px;
	border-bottom-right-radius: 65px;
	-webkit-border-top-left-radius: 65px;
	-moz-border-radius-topleft: 65px;
	border-top-left-radius: 65px;
	clear:left;
        background-color: #ffffff;
}

#guidec{        
	margin: 0vw 0vw 0vw 0vw;
}

@media screen and (max-width: 550px) {
#guidec{        
	margin: 0vw 0vw 0vw 0vw;
        font-size: 12px;  

#guidep a{        
        font-size: 13px;
}

}
#guidec2{
　　　　max-width: 100%;       
	margin: 0vw 0vw 0vw 0vw;
        float: clearfix;
        font-size: 12px;  
}


}

#guidec2{
　　　　max-width: 100%;       
	margin: 0vw 0vw 0vw 0vw;
        float: clearfix;
}

#guidec3{  
　　　　max-width: 100%; 
	margin: 0vw 18vw 0vw 0vw;
        float: right;
}


#guidec4{
        max-width: 100%;         
	margin: 0vw -58vw 0vw 0vw;
        float: left;
        width: 86%;
}

#guidec5{
     max-width: 100%; 
     text-align: center;
     float: clearfix;       
}
#guidec6{
        font-size: 20px;  
	margin: 0vw 0vw 0vw 0vw;
        float: clearfix;  
        background-image: linear-gradient(to right, #000 6px,transparent 2px);
        background-size: 8px 2px;
        background-position: left bottom;
        background-repeat: repeat-x;
        width:330px;
}

@media screen and (min-width: 580px) {
 #guidec16 img{
    width: 36vw;
    height: auto;
    text-align: center;
}
}

@media screen and (max-width: 579px) {
 #guidec16 img{
    width: 240px;
    height: auto;
    text-align: center;
}
}
@media screen and (min-width: 580px) {
#guidec16{ 
     text-align: center;
     float: clearfix;       
}
}
@media screen and (min-width: 580px) {
#guidec5{ 
     text-align: center;
     float: clearfix;       
}
}
@media screen and (max-width: 550px) {
#guidep0 a{        
	margin: 0vw 0vw 0vw 0vw;
        font-weight: 800;
        font-size: 12px;
        color: #2758c2;
}
#guidec4{
        max-width: 80%;         
	margin: -6vw -48vw 0vw 0vw;
        float: left;
        width: 56%;
}
#guidec6{
        font-size: 12px;  
	margin: 0vw 0vw 0vw 0vw;
        float: clearfix;  
        background-image: linear-gradient(to right, #000 6px,transparent 2px);
        background-size: 8px 2px;
        background-position: left bottom;
        background-repeat: repeat-x;
        width:94%;
}
#guidec12{
     float: clearfix;
     font-size: 12px;       
}
#guidec7{ 
　　　　max-width: 100%;        
	margin: 0vw 0vw 0vw 0vw;
        font-size: 12px; 
}
#guidec9{  
　　　　max-width: 100%;      
	margin: 0vw 0vw 0vw 0vw;
        float: clearfix;
        font-size: 12px;
}
}


#guidec7{ 
　　　　max-width: 100%;        
	margin: 0vw 0vw 0vw 0vw;
}

#guidec8{
　　　max-width: 100%; 
     width: 82%;
     margin: 0vw 0vw 0vw 0vw;
     float: right;      
}
#guidec9{  
　　　　max-width: 100%;      
	margin: 0vw 0vw 0vw 0vw;
        float: clearfix;
}
#guidec10{ 
　　　　max-width: 100%; 
        text-align: center;
        display: block;  
        height: auto;     
        float: clearfix;
}
#guidec11{
　　　max-width: 100%; 
     width: 22%;
     float: clearfix;
     display: block;
     text-align: center; 
    margin: 0vw 0vw 0vw 40vw;    
}
#guidec12{
     float: clearfix;       
}
#guidec13{
          text-align: center;
}

#guidec14{
          text-align: center;
}
#guidec15{
          text-align: center;
}


#guidec13 video{
          width: 70vw;
          height: 50vw;
}

#guidec14 video{
          width: 70vw;
          height: 50vw;
}

#guidec15 video{
          width: 70vw;
          height: 50vw;
}

@media screen and (max-width: 600px) {

#guidec8{
     margin: 0vw 0vw 0vw 0vw;
     float: right;     

}
#guidec11{
     width: 22%;
     float: clearfix;
     display: block;
     text-align: center; 
    margin: 0vw 0vw 0vw 0vw;    
}
}

/* middle */

/* menu */

@media screen and (max-width: 1260px) {
#home-top .menu{
	margin-right:7px;

}
}

@media screen and (min-width: 1020px) {
#home-top .menu{
	margin-left:15px;
}
}

@media screen and (max-width: 1019px) {
#home-top .menu .gr{
	float:left;
	position:relative;
	margin-right:7px;
	margin-bottom:12vw;
	background:#;
}

#home-top .menu .group:last-child{
	margin-right:0;
}
}

@media screen and (max-width: 1260px) {

#home-top .menu .gr{
	width:165px;
	margin-right:4%;
}
#home-top .menu .gr img{
	max-width:160%;
	height:auto;
}
}


@media screen and (max-width: 768px) {

#home-top .menu .gr{
	width:135px;
	margin-right:6%;
}
#home-top .menu .gr img{
	max-width:160%;
	height:auto;
}
}

@media screen and (max-width: 468px) {

#home-top .menu .gr{
	width:96px;
        height:auto;
	margin-right:13%;
}

#home-top .menu .gr img{
	max-width:100%;
	height:auto;
}
}


@media screen and (max-width: 350px) {
#home-top .menu .gr{
	width:85px;
	margin-right:4%;
}
#home-top .menu .group:nth-child(5){
	clear:both;
}

#home-top .menu .group:nth-child(5){
	float:right;
}
}

@media screen and (min-width: 1120px) {

#home-top .menu .about ul{
     margin-top: 4vw;
     margin-right: 1vw;
 }

}


#home-top .menu .img img{
	width: 130px;
	height: 100px;
        margin-left:20px;
}

#guidebox .menu .ja{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
        font-size: 128.5714285714%;
	margin-left:5px;
}


@media screen and (min-width: 640px) {


#guidebox .img img{
        margin-left:20px;
        margin-bottom:20px;
	height: 164px;
}
}


@media screen and (max-width: 640px) {


#guidebox .ja{
  font-size: 100%;
}


#guidebox .img img{
        margin-left:10px;
        margin-bottom:10px;
	height: 164px;
}

}
@media screen and (max-width: 300px) {

#guidebox .ja{
  font-size: 100%;
}


#guidebox .img img{
        margin-left:10px;
	height: 144px;
        margin-bottom:10px;
}

}


/*
===== layout =====
*/




#home-main{
	float:left;
	width:830px;
}

#home-sub{
	float:right;
	width:310px;
	margin-right:10px;
}

@media screen and (max-width: 1201px) {
#home-contents img{
	max-width:100%;
	height:auto;
}
}

@media (min-width: 768px) and (max-width: 1201px) {

#home-contents{
	margin:0 3% 10% 20%;
}
#home-main{
	width:71%;
}

#home-sub{
	width:24%;
	margin-right:0px;
}

}

@media screen and (max-width: 767px) {

#home-contents{
	margin:0 3% 10% 3%;
}
#home-main{
	float:none;
	width:auto;
	margin-bottom:40px;
}

#home-sub{
	float:none;
	width:auto;
	margin-right:0px;
}

}

/*
===== main =====
*/

/* headline */
.home-headline{
	border:1px solid #CDD4DD;
	padding:25px;
	background:#F9F9F9;
	margin-bottom:65px;
        font-size: 114.2857142857%;
}
.home-headline li{
	margin-bottom:10px;
}
.home-headline li:last-child{
	margin-bottom:0;
}

@media (min-width: 768px) and (max-width: 1201px) {
.home-headline{
	margin-bottom:45px;
}
}


/* text-group */

.text-gr h2{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
  font-size: 171.4285714286%;
	margin:15px 0;
}

.text-gr .img img{
	max-width:100%;
}
.text-gr .caption{
	margin-top:15px;
}


.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text{
	max-width:98%;
}
.text-gr.layout-img-r .text{
	float:left;
}
.text-gr.layout-img-l .text{
	float:right;
}

.text-gr.layout-img-r .img{
	float:right;
}
.text-gr.layout-img-l .img{
	float:left;
}

.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	max-width:98%;
}

.text-gr.layout-img-r .caption{
	text-align:left;
}

@media (min-width: 767px) and (max-width: 1219px) {
.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text,
.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
        max-width:98%;
}

}

@media (min-width: 351px) and (max-width: 766px) {
.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text,
.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	max-width:92%;
}

}


@media screen and (max-width: 350px) {
.text-gr.layout-img-r .text,
.text-gr.layout-img-l .text,
.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	width:auto;
	float:none;
	margin-bottom:20px;
	max-width:inherit;
}

.text-gr.layout-img-r .img,
.text-gr.layout-img-l .img{
	text-align:center;
}
.text-gr.layout-img-r .img .caption,
.text-gr.layout-img-l .img .caption{
	text-align:center;
}

}




/* three-column */

.three-column:after{content: ""; display: block; clear: both;}
.oldie .three-column{ zoom: 1; }

.three-column .gr{
	float:left;
	width:92%;
	margin-left:0%;
}

@media screen and (max-width: 767px) {
.three-column .gr{
	float:none;
	width:auto;
	margin:0 0 0 0;
}


}


/* two-column */

.two-column:after{content: ""; display: block; clear: both;}
.oldie .two-column{ zoom: 1; }

.two-column .group{
	float:left;
        display:inline;
	width:88%;
	margin-right:4vw;
}
.two-column .group:nth-child(odd){
	clear:both;
}
/*
.two-column .group:nth-child(even){
	float:none;
	width:auto;
	margin-right:0px;
}


*/

*/

    /* index　中身 */
    .index-block {
      max-width: 80vw;
      margin: 0 auto;
      padding-top: 60px;
      background-color: #FFFFFF;
    }
    ul.index-list {
      overflow: hidden;
      margin-top: 70px;
    }

    ul.index-list li {
      float: left;
      max-width: 40vw;
      display:inline;
      margin-left: 1vw;
      margin-right: 1vw;
      margin-bottom: 4vw;
    }

    ul.index-list li:nth-child(odd){
	clear:both;
}
    }
    ul.index-list li img {
        max-width: 100%;
    }

    ul.index-list li p {
      margin: 17px 0 17px 8px;
      font-size: 157.1428571429%;
      font-family: "TsukuGoPro-L";
      color: #000000;
    }


  @media screen and (max-width: 1300px) {
    .index-top {
     max-width: 90%;
     margin-right: 3%;
    }
  }


  @media (min-width: 768px) and (max-width: 2601px) {
    .index-p .index-top {
      margin: 0 auto 200px;
    }
      /* index　中身 */
      .index-block {
        padding-top: 30px;
        background-color: #FFFFFF;
      }
      ul.index-list {
        overflow: hidden;
        margin-top: 35px;
      }
      ul.index-list li {
        float: left;
        max-width: 42%;
        display:inline;
        margin-left: 2%;
      }
      ul.index-list li:nth-child(odd){
	clear:both;
      }
  }

  @media screen and (max-width: 767px) {
  /*　ページタイトル部分 */
  .index-p .index-top {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    margin: 0 auto;
  }
  .index-p .index-top .index {
    float: left;
    width: 100%;
    display:inline;
    text-align: center;
    padding: 10px 0;
  }
      ul.index-list li {
        float: left;
        max-width: 88%;
        display:inline;
        min-width: 42%;
        margin-left: 2%;
      }
  .index-p .index-top .index h1 {
    width: 90%;
    font-size: 164.2857142857%;
  }
    /* メインビジュアル */
    img.main-bg {
      position: relative;
      width: 100%;
      margin-top: 45px;
    }


*/
    /* index　中身 */
    .index-block {
      margin: 0 auto;
      padding-top: 10px;
      background-color: #FFFFFF;
    }
      .index-headline h2 {
        font-size: 185.7142857143%;
      }
      ul.index-list {
        width: 100%;
        margin: 20px auto 0;
      }

      ul.index-list li:nth-child(3n+1) {
        margin-left: 2%;
      }
  }


  .index-p .index-top .index {
    float: left;
    width: 100%;
    text-align: center;
    padding: 10px 0;
  }

  .index-p .index-top {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    margin: 0 auto;
  }


  .index-top #topicpath {
    float: right;
    margin: 0;
    position: absolute;
    top: 50px;
    right: 5px;
  }

  img.main-bg{
    max-width: 1070px;
    display: block;
    position: static;
    margin: 78px auto 0 auto;
  }

  @media (max-width: 1201px) and (min-width: 768px){
    .index-p .index-top {
    margin: 0;
    }
  }

  @media screen and (max-width: 1019px){
    .index-p #contents {
    padding-top: 0;
    }
  }

  @media screen and (max-width: 767px){
      img.main-bg{
      margin: 53px auto 0 auto;
      }
  }


*/
*/

/* other */

.table-normal td{
	padding:0 0px 0px 0;
}
.table-normal td img{
	vertical-align:middle;
}

.td-middle td,
.th-middle th{
	vertical-align:middle;
}





.text-group.layout-center {
	max-width: 940px;
	text-align: center;
	margin: 0 auto 50px;
}

.text-gr.layout-center .text{
	margin-top: 15px;
	text-align: left;
}

.text-gr.layout-center table {
	margin: auto;
	text-align: left;
}

.text-gr.layout-center th,td {
}

.text-gr.layout-center th {
	vertical-align: middle;
	padding: 0 80px;
	font-size: 20px;
}

.text-gr.layout-center td p{
	margin-bottom: 4px;
}

.action-buttons {
	text-align: center;
	margin: 20px 0;
}
@media screen and (max-width: 767px) {
	.text-gr.layout-center tr {
		display: block;
	}

	.text-gr.layout-center table th{
		display: block;
		padding: 10px 0;
		margin: 0;
	}	
}
