@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; }

body {
  line-height: 1;
}

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; }

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent; }

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: 14px;
        line-height: 1.0;
        -webkit-text-size-adjust: 100%;
	color:#000;
        background-color:#b8eef2;
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
}

a {
  color: #ffffff;
  text-decoration: underline; }

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;
}
.img_l{
	float:left;
	margin:0 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:2vw;
}
}
@media screen and (max-width: 1019px) {
#contents{
	padding-top:30px;
	margin-bottom:3vw;
}

}

.frame{
	position:relative;
	max-width:930px;
	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; }





/* ==========================================================================
   home-p
   ========================================================================== */

/*
===== top =====
*/


#home-top img{
	position:relative;
        width: 86vw;
        height: 75vw;
	padding:2vw 2vw 0vw 0vw;
        z-index: 3;
}

h1{
	margin: 0px 0px 0px 0px;
	letter-spacing: 2px;
	font-size:20px;
}
h2{
	margin: 2vw 0 0 8vw;
	letter-spacing: 2px;
	font-size:3vw;
        posision:relative;
        background-image: linear-gradient(to right, #000 6px,transparent 2px);
        background-size: 8px 2px;
        background-position: left bottom;
        background-repeat: repeat-x;
        width: 28vw;
}

@media (max-width: 667px){
h2{
	margin: 2vw 0 0 6vw;
	letter-spacing: 2px;
	font-size:3vw;
        posision:relative;
        background-image: linear-gradient(to right, #000 6px,transparent 2px);
        background-size: 8px 2px;
        background-position: left bottom;
        background-repeat: repeat-x;
        width: 31vw;
}
}


@media (max-width: 537px){
h2{
	margin: 2vw 0 0 8vw;
	letter-spacing: 2px;
	font-size:3vw;
        posision:relative;
        background-image: linear-gradient(to right, #000 6px,transparent 2px);
        background-size: 8px 2px;
        background-position: left bottom;
        background-repeat: repeat-x;
        width: 36vw;
}
}
@media (max-width: 340px){
h2{
	margin: 2vw 0 0 0vw;
	letter-spacing: 2px;
	font-size:3vw;
        posision:relative;
        background-image: linear-gradient(to right, #000 6px,transparent 2px);
        background-size: 8px 2px;
        background-position: left bottom;
        background-repeat: repeat-x;
        width: 48vw;
}
}




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: 15px 0px 15px 5vw;
	padding: 20px 15px 15px 20px;
	padding-left: 13px;
	clear:left;
        font-size:2.3vw;
        rt:0.4vw;
        background-color: #03a5fc;
        z-index: 4;
        color: #ffffff;

}
h4{
	margin: -4.8vw 0 0 40vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}
h5{
	margin: 0 0 0 40vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}
@media (max-width: 540px){
h4{
	margin: -4.8vw 0 0 10vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}

h5{
	margin: 0 0 0 10vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}
}

@media (max-width: 430px){
h4{
	margin: -4.8vw 0 0 8vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}

h5{
	margin: 0 0 0 8vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}
}
@media (max-width: 349px){
h4{
	margin: -4.8vw 0 0 0vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}

h5{
	margin: 0 0 0 0vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}
}


h7{
        display:inline-block;
	margin: 0 0 0 6vw;
	letter-spacing: 2px;
	font-size:1.9vw;
        posision:relative;
}
@media (max-width: 540px){
h7{
        display:inline-block;
	margin: 0 0 0 0vw;
	letter-spacing: 0px;
	font-size:1.9vw;
        posision:relative;
}
}

@media (max-width: 350px){
h7{
        display:inline-block;
	margin: 0 0 0 0vw;
	letter-spacing: 0px;
	font-size:1.5vw;
        posision:relative;
}
}

#down{
     margin-top: 1.8vw;
}

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: 0px 0 auto auto;
        z-index: 4;
}

#navi3{
	margin: 0px 0 auto auto;
        z-index: 4;
}


#main2{
	width: 93%;
	margin: 0px 0px 0px 0px;
	background-color: #;
	float: left;
	padding-left:10px;
        z-index: 4;
}

#main3{
	width: 93%;
	margin: 0px 0px 0px 0px;
	background-color:#;
	float: left;
	padding-left:10px;
        z-index: 4;
}

h6{
	border-style: solid;
	border-image-source: repeating-linear-gradient(-45deg, #ffffff, #e37fe0 10px, #e37fe0 10px, #ffffff 10px);
        border-image-repeat: round;
        border-image-slice: 30;
	border-width:20px 20px 20px 20px;
	margin: 15px 0px 15px 5vw;
	padding: 15px 15px 15px 15px;
	clear:left;
        font-size:1.4vw;
        rt:0.4vw;
        background: #ffffff;
        z-index: 4;
        color: #000000;

}



#container2{
	background-color: #ffffff;
        margin: 0px 0px 0px 0px;
	border: solid 0px #999;
}


/* menu */
#home-top .top-menu{
	text-align:right;
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
	color:#2a305c;
        font-size: 107.1428571429%;
        z-index: 5;
}



/* menu */






#home-top .menu li{
    list-style: none;
}



#home-top .menu .about a{text:#ffffff;}
#home-top .menu .kouzi a{border-color:#ffffff;}



#home-top .menu .img img{
	width: 30vw;
	height: 32vw;
        z-index: 5;
}


#home-top .menu .about ul{
     display: flex;
     justify-content: center;
     margin-top: 6vw;
     z-index: 5;
 }



#home-top .menu .about ul{
     display: flex;
     justify-content: center;
     margin-top: 1vw;
     z-index: 5;




#home-main{
	width:830px;
        z-index: 5;
}


/* text-group */

.text-group h2{
	font-family:Meiryo-UI,"メイリオ","Ryumin Bold KL","TsukuGoPro-E",'Midashi Go MB31','EB Garamond', serif,'Oswald', sans-serif;
  font-size: 171.4285714286%;
}

.text-group .img img{
	max-width:100%;
        z-index: 5;
}
.text-group .caption{
	margin-top:15px;
}


.text-group.layout-img-r .text,
.text-group.layout-img-l .text{
	max-width:350px;
}
.text-group.layout-img-r .text{
	float:left;
}
.text-group.layout-img-l .text{
	float:right;
}

.text-group.layout-img-r .img{
	float:right;
}
.text-group.layout-img-l .img{
	float:left;
}

.text-group.layout-img-r .img,
.text-group.layout-img-l .img{
	max-width:350px;
}

.text-group.layout-img-r .caption{
	text-align:left;
}

@media (min-width: 767px) and (max-width: 1219px) {
.text-group.layout-img-r .text,
.text-group.layout-img-l .text,
.text-group.layout-img-r .img,
.text-group.layout-img-l .img{
	max-width:48%;
}

}

@media (min-width: 351px) and (max-width: 766px) {
.text-group.layout-img-r .text,
.text-group.layout-img-l .text,
.text-group.layout-img-r .img,
.text-group.layout-img-l .img{
	max-width:82%;
}

}


@media screen and (max-width: 350px) {
.text-group.layout-img-r .text,
.text-group.layout-img-l .text,
.text-group.layout-img-r .img,
.text-group.layout-img-l .img{
	width:auto;
	float:none;
	margin-bottom:20px;
	max-width:inherit;
}

.text-group.layout-img-r .img,
.text-group.layout-img-l .img{
	text-align:center;
}
.text-group.layout-img-r .img .caption,
.text-group.layout-img-l .img .caption{
	text-align:center;
}

}




  .index-p .index-top .index h1 {
    color: #FFFFFF;
    font-size: 178.5714285714%;
  }
    /* メインビジュアル */
    img.main-bg {
      width: 100%;
      position: absolute;
      top: 0;
      right: 0;
      z-index: -1;
    }
#font{
  margin-left:4vw;
  margin-right:4vw;
 }

/* two-column */

.two-column:after{content: ""; display: block; clear: both;}
.oldie .two-column{ zoom: 1; }

.two-column .group{
	float:left;
}
.two-column .group:nth-child(odd){
	clear:both;
}
/*
.two-column .group:nth-child(even){
	float:none;
	width:auto;
	margin-right:0;
}
*/

    /* index　中身 */
    .index-block {
      max-width: 180vw;
      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;
      margin-left: 4vw;
      margin-right: 4vw;
      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 {
      font-size: 157.1428571429%;
      font-family: "TsukuGoPro-L";
      color: #000000;
    }



.text-group.layout-center {
	max-width: 640px;
	text-align: center;
	margin: 0 auto;
}

.text-group.layout-center .text{
	margin-top: 15px;
	text-align: left;
}

.text-group.layout-center table {
	margin: auto;
	text-align: left;
}

.text-group.layout-center th,td {
}

.text-group.layout-center th {
	vertical-align: middle;
	padding: 0 80px;
	font-size: 20px;
}

.text-group.layout-center td p{
	margin-bottom: 4px;
}

.action-buttons {
	text-align: center;
	margin: 0;
}
